[Xfce4-commits] r23265 - in xfwm4/trunk: . src themes/default.keys
Olivier Fourdan
olivier at xfce.org
Mon Oct 2 21:20:21 UTC 2006
Author: olivier
Date: 2006-10-02 21:20:17 +0000 (Mon, 02 Oct 2006)
New Revision: 23265
Modified:
xfwm4/trunk/configure.ac.in
xfwm4/trunk/src/client.c
xfwm4/trunk/src/mypixmap.c
xfwm4/trunk/src/settings.c
xfwm4/trunk/src/settings.h
xfwm4/trunk/src/tabwin.c
xfwm4/trunk/src/tabwin.h
xfwm4/trunk/themes/default.keys/keythemerc
Log:
Remove dependency on micro version, rework error handling in pixbuf loading, add cancel option when cycling (bug #2373), and other fixes
Modified: xfwm4/trunk/configure.ac.in
===================================================================
--- xfwm4/trunk/configure.ac.in 2006-10-02 21:03:31 UTC (rev 23264)
+++ xfwm4/trunk/configure.ac.in 2006-10-02 21:20:17 UTC (rev 23265)
@@ -3,7 +3,7 @@
dnl xfwm4 - window manager for the Xfce4 desktop environment
dnl
-m4_define([xfwm4_version], [4.3.99.1])
+m4_define([xfwm4_version], [4.3.99.2])
dnl init autoconf
AC_COPYRIGHT([Copyright (c) 2002-2005
@@ -55,11 +55,11 @@
], [], [$LIBX11_CFLAGS $LIBX11_LDFLAGS $LIBX11_LIBS])
XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.6.0])
-XDT_CHECK_PACKAGE(LIBXFCE4MCS_CLIENT, libxfce4mcs-client-1.0, [4.3.99.1])
-XDT_CHECK_PACKAGE(LIBXFCE4MCS_MANAGER, libxfce4mcs-manager-1.0, [4.3.99.1])
-XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.3.99.1])
-XDT_CHECK_PACKAGE(LIBXFCEGUI4, libxfcegui4-1.0, [4.3.99.1])
-XFCE_MCS_PLUGIN([XFCE_MCS_MANAGER], [4.3.99.1])
+XDT_CHECK_PACKAGE(LIBXFCE4MCS_CLIENT, libxfce4mcs-client-1.0, [4.3.99])
+XDT_CHECK_PACKAGE(LIBXFCE4MCS_MANAGER, libxfce4mcs-manager-1.0, [4.3.99])
+XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.3.99])
+XDT_CHECK_PACKAGE(LIBXFCEGUI4, libxfcegui4-1.0, [4.3.99])
+XFCE_MCS_PLUGIN([XFCE_MCS_MANAGER], [4.3.99])
dnl
dnl Startup notification support
Modified: xfwm4/trunk/src/client.c
===================================================================
--- xfwm4/trunk/src/client.c 2006-10-02 21:03:31 UTC (rev 23264)
+++ xfwm4/trunk/src/client.c 2006-10-02 21:20:17 UTC (rev 23265)
@@ -1518,18 +1518,10 @@
clientGetWMNormalHints (c, FALSE);
- c->old_x = c->x;
- c->old_y = c->y;
- c->old_width = c->width;
- c->old_height = c->height;
c->size->x = c->x;
c->size->y = c->y;
c->size->width = c->width;
c->size->height = c->height;
- c->fullscreen_old_x = c->x;
- c->fullscreen_old_y = c->y;
- c->fullscreen_old_width = c->width;
- c->fullscreen_old_height = c->height;
c->previous_width = -1;
c->previous_height = -1;
c->border_width = attr.border_width;
@@ -1658,6 +1650,20 @@
}
}
+ /*
+ Initialize "old" fields once the position is ensured, to avoid
+ initially maximized or fullscreen windows being placed offscreen
+ once de-maximized
+ */
+ c->old_x = c->x;
+ c->old_y = c->y;
+ c->old_width = c->width;
+ c->old_height = c->height;
+ c->fullscreen_old_x = c->x;
+ c->fullscreen_old_y = c->y;
+ c->fullscreen_old_width = c->width;
+ c->fullscreen_old_height = c->height;
+
/*
We must call clientApplyInitialState() after having placed the
window so that the inital position values are correctly set if the
@@ -3370,7 +3376,7 @@
}
else if (xevent->type == KeyRelease)
{
- if (xevent->xkey.keycode == screen_info->params->keys[KEY_MOVE_CANCEL].keycode)
+ if (xevent->xkey.keycode == screen_info->params->keys[KEY_CANCEL].keycode)
{
moving = FALSE;
passdata->released = passdata->use_keys;
@@ -3966,7 +3972,7 @@
}
else if (xevent->type == KeyRelease)
{
- if (xevent->xkey.keycode == screen_info->params->keys[KEY_MOVE_CANCEL].keycode)
+ if (xevent->xkey.keycode == screen_info->params->keys[KEY_CANCEL].keycode)
{
resizing = FALSE;
passdata->released = passdata->use_keys;
@@ -4315,7 +4321,8 @@
ClientCycleData *passdata;
Client *c, *removed;
eventFilterStatus status;
- KeyCode keycode;
+ KeyCode cycle;
+ KeyCode cancel;
int modifier;
gboolean key_pressed, cycling, gone;
@@ -4332,9 +4339,11 @@
c = passdata->c;
screen_info = c->screen_info;
display_info = screen_info->display_info;
- keycode = screen_info->params->keys[KEY_CYCLE_WINDOWS].keycode;
+ cycle = screen_info->params->keys[KEY_CYCLE_WINDOWS].keycode;
+ cancel = screen_info->params->keys[KEY_CANCEL].keycode;
modifier = screen_info->params->keys[KEY_CYCLE_WINDOWS].modifier;
- key_pressed = ((xevent->type == KeyPress) && (xevent->xkey.keycode == keycode));
+ key_pressed = ((xevent->type == KeyPress) && ((xevent->xkey.keycode == cycle) ||
+ (xevent->xkey.keycode == cancel)));
status = EVENT_FILTER_STOP;
cycling = TRUE;
gone = FALSE;
@@ -4365,8 +4374,13 @@
{
Client *c2 = NULL;
+ if (xevent->xkey.keycode == cancel)
+ {
+ c2 = tabwinGetHead (passdata->tabwin);
+ cycling = FALSE;
+ }
/* If KEY_CYCLE_WINDOWS has Shift, then do not reverse */
- if (!(modifier & ShiftMask) && (xevent->xkey.state & ShiftMask))
+ else if (!(modifier & ShiftMask) && (xevent->xkey.state & ShiftMask))
{
TRACE ("Cycle: previous");
c2 = tabwinSelectPrev(passdata->tabwin);
Modified: xfwm4/trunk/src/mypixmap.c
===================================================================
--- xfwm4/trunk/src/mypixmap.c 2006-10-02 21:03:31 UTC (rev 23264)
+++ xfwm4/trunk/src/mypixmap.c 2006-10-02 21:20:17 UTC (rev 23265)
@@ -734,7 +734,6 @@
xfwmPixmapCompose (GdkPixbuf *pixbuf, gchar * dir, gchar * file)
{
GdkPixbuf *alpha;
- GError *error;
gchar *filepng;
gchar *filename;
gint width, height;
@@ -749,7 +748,6 @@
NULL };
i = 0;
- error = NULL;
alpha = NULL;
while ((image_types[i]) && (!alpha))
@@ -760,12 +758,7 @@
if (g_file_test (filename, G_FILE_TEST_IS_REGULAR))
{
- alpha = gdk_pixbuf_new_from_file (filename, &error);
- if (error)
- {
- g_warning ("%s", error->message);
- g_error_free (error);
- }
+ alpha = gdk_pixbuf_new_from_file (filename, NULL);
}
g_free (filename);
++i;
Modified: xfwm4/trunk/src/settings.c
===================================================================
--- xfwm4/trunk/src/settings.c 2006-10-02 21:03:31 UTC (rev 23264)
+++ xfwm4/trunk/src/settings.c 2006-10-02 21:20:17 UTC (rev 23265)
@@ -1196,6 +1196,7 @@
}
parseKeyString (dpy, &screen_info->params->keys[KEY_ADD_WORKSPACE], getValue ("add_workspace_key", rc));
+ parseKeyString (dpy, &screen_info->params->keys[KEY_CANCEL], getValue ("cancel_key", rc));
parseKeyString (dpy, &screen_info->params->keys[KEY_CLOSE_WINDOW], getValue ("close_window_key", rc));
parseKeyString (dpy, &screen_info->params->keys[KEY_CYCLE_WINDOWS], getValue ("cycle_windows_key", rc));
parseKeyString (dpy, &screen_info->params->keys[KEY_DEL_WORKSPACE], getValue ("del_workspace_key", rc));
@@ -1206,7 +1207,6 @@
parseKeyString (dpy, &screen_info->params->keys[KEY_MAXIMIZE_HORIZ], getValue ("maximize_horiz_key", rc));
parseKeyString (dpy, &screen_info->params->keys[KEY_MAXIMIZE_VERT], getValue ("maximize_vert_key", rc));
parseKeyString (dpy, &screen_info->params->keys[KEY_MAXIMIZE_WINDOW], getValue ("maximize_window_key", rc));
- parseKeyString (dpy, &screen_info->params->keys[KEY_MOVE_CANCEL], getValue ("move_resize_cancel_key", rc));
parseKeyString (dpy, &screen_info->params->keys[KEY_MOVE_DOWN], getValue ("move_window_down_key", rc));
parseKeyString (dpy, &screen_info->params->keys[KEY_MOVE_DOWN_WORKSPACE], getValue ("move_window_down_workspace_key", rc));
parseKeyString (dpy, &screen_info->params->keys[KEY_MOVE_LEFT], getValue ("move_window_left_key", rc));
@@ -1354,6 +1354,7 @@
{"wrap_workspaces", NULL, TRUE},
/* Keys */
{"add_workspace_key", NULL, TRUE},
+ {"cancel_key", NULL, TRUE},
{"close_window_key", NULL, TRUE},
{"cycle_windows_key", NULL, TRUE},
{"del_workspace_key", NULL, TRUE},
@@ -1365,7 +1366,6 @@
{"maximize_horiz_key", NULL, TRUE},
{"maximize_vert_key", NULL, TRUE},
{"maximize_window_key", NULL, TRUE},
- {"move_resize_cancel_key", NULL, TRUE},
{"move_window_down_key", NULL, TRUE},
{"move_window_down_workspace_key", NULL, TRUE},
{"move_window_left_key", NULL, TRUE},
Modified: xfwm4/trunk/src/settings.h
===================================================================
--- xfwm4/trunk/src/settings.h 2006-10-02 21:03:31 UTC (rev 23264)
+++ xfwm4/trunk/src/settings.h 2006-10-02 21:20:17 UTC (rev 23265)
@@ -59,65 +59,65 @@
#define T_INACTIVE 4
#define T_PRESSED 5
-#define KEY_MOVE_UP 0
-#define KEY_MOVE_DOWN 1
-#define KEY_MOVE_LEFT 2
-#define KEY_MOVE_RIGHT 3
-#define KEY_RESIZE_UP 4
-#define KEY_RESIZE_DOWN 5
-#define KEY_RESIZE_LEFT 6
-#define KEY_RESIZE_RIGHT 7
-#define KEY_CYCLE_WINDOWS 8
-#define KEY_CLOSE_WINDOW 9
-#define KEY_HIDE_WINDOW 10
+#define KEY_ADD_WORKSPACE 0
+#define KEY_CANCEL 1
+#define KEY_CLOSE_WINDOW 2
+#define KEY_CYCLE_WINDOWS 3
+#define KEY_DEL_WORKSPACE 4
+#define KEY_DOWN_WORKSPACE 5
+#define KEY_HIDE_WINDOW 6
+#define KEY_LEFT_WORKSPACE 7
+#define KEY_LOWER_WINDOW 8
+#define KEY_MAXIMIZE_HORIZ 9
+#define KEY_MAXIMIZE_VERT 10
#define KEY_MAXIMIZE_WINDOW 11
-#define KEY_MAXIMIZE_VERT 12
-#define KEY_MAXIMIZE_HORIZ 13
-#define KEY_SHADE_WINDOW 14
-#define KEY_NEXT_WORKSPACE 15
-#define KEY_PREV_WORKSPACE 16
-#define KEY_ADD_WORKSPACE 17
-#define KEY_DEL_WORKSPACE 18
-#define KEY_STICK_WINDOW 19
-#define KEY_WORKSPACE_1 20
-#define KEY_WORKSPACE_2 21
-#define KEY_WORKSPACE_3 22
-#define KEY_WORKSPACE_4 23
-#define KEY_WORKSPACE_5 24
-#define KEY_WORKSPACE_6 25
-#define KEY_WORKSPACE_7 26
-#define KEY_WORKSPACE_8 27
-#define KEY_WORKSPACE_9 28
-#define KEY_WORKSPACE_10 29
-#define KEY_WORKSPACE_11 30
-#define KEY_WORKSPACE_12 31
-#define KEY_MOVE_NEXT_WORKSPACE 32
-#define KEY_MOVE_PREV_WORKSPACE 33
-#define KEY_MOVE_WORKSPACE_1 34
-#define KEY_MOVE_WORKSPACE_2 35
-#define KEY_MOVE_WORKSPACE_3 36
-#define KEY_MOVE_WORKSPACE_4 37
-#define KEY_MOVE_WORKSPACE_5 38
-#define KEY_MOVE_WORKSPACE_6 39
-#define KEY_MOVE_WORKSPACE_7 40
-#define KEY_MOVE_WORKSPACE_8 41
-#define KEY_MOVE_WORKSPACE_9 42
-#define KEY_MOVE_WORKSPACE_10 43
-#define KEY_MOVE_WORKSPACE_11 44
-#define KEY_MOVE_WORKSPACE_12 45
-#define KEY_SHOW_DESKTOP 58
-#define KEY_LOWER_WINDOW 59
-#define KEY_RAISE_WINDOW 60
-#define KEY_TOGGLE_FULLSCREEN 61
-#define KEY_UP_WORKSPACE 62
-#define KEY_DOWN_WORKSPACE 63
-#define KEY_LEFT_WORKSPACE 64
-#define KEY_RIGHT_WORKSPACE 65
-#define KEY_MOVE_UP_WORKSPACE 66
-#define KEY_MOVE_DOWN_WORKSPACE 67
-#define KEY_MOVE_LEFT_WORKSPACE 68
-#define KEY_MOVE_RIGHT_WORKSPACE 69
-#define KEY_MOVE_CANCEL 70
+#define KEY_MOVE_DOWN 12
+#define KEY_MOVE_DOWN_WORKSPACE 13
+#define KEY_MOVE_LEFT 14
+#define KEY_MOVE_LEFT_WORKSPACE 15
+#define KEY_MOVE_NEXT_WORKSPACE 16
+#define KEY_MOVE_PREV_WORKSPACE 17
+#define KEY_MOVE_RIGHT 18
+#define KEY_MOVE_RIGHT_WORKSPACE 19
+#define KEY_MOVE_UP 20
+#define KEY_MOVE_UP_WORKSPACE 21
+#define KEY_MOVE_WORKSPACE_1 22
+#define KEY_MOVE_WORKSPACE_10 23
+#define KEY_MOVE_WORKSPACE_11 24
+#define KEY_MOVE_WORKSPACE_12 25
+#define KEY_MOVE_WORKSPACE_2 26
+#define KEY_MOVE_WORKSPACE_3 27
+#define KEY_MOVE_WORKSPACE_4 28
+#define KEY_MOVE_WORKSPACE_5 29
+#define KEY_MOVE_WORKSPACE_6 30
+#define KEY_MOVE_WORKSPACE_7 31
+#define KEY_MOVE_WORKSPACE_8 32
+#define KEY_MOVE_WORKSPACE_9 33
+#define KEY_NEXT_WORKSPACE 34
+#define KEY_PREV_WORKSPACE 35
+#define KEY_RAISE_WINDOW 36
+#define KEY_RESIZE_DOWN 37
+#define KEY_RESIZE_LEFT 38
+#define KEY_RESIZE_RIGHT 39
+#define KEY_RESIZE_UP 40
+#define KEY_RIGHT_WORKSPACE 41
+#define KEY_SHADE_WINDOW 42
+#define KEY_SHOW_DESKTOP 43
+#define KEY_STICK_WINDOW 44
+#define KEY_TOGGLE_FULLSCREEN 45
+#define KEY_UP_WORKSPACE 58
+#define KEY_WORKSPACE_1 59
+#define KEY_WORKSPACE_10 60
+#define KEY_WORKSPACE_11 61
+#define KEY_WORKSPACE_12 62
+#define KEY_WORKSPACE_2 63
+#define KEY_WORKSPACE_3 64
+#define KEY_WORKSPACE_4 65
+#define KEY_WORKSPACE_5 66
+#define KEY_WORKSPACE_6 67
+#define KEY_WORKSPACE_7 68
+#define KEY_WORKSPACE_8 69
+#define KEY_WORKSPACE_9 70
#define KEY_COUNT 71
#define ALIGN_LEFT 0
Modified: xfwm4/trunk/src/tabwin.c
===================================================================
--- xfwm4/trunk/src/tabwin.c 2006-10-02 21:03:31 UTC (rev 23264)
+++ xfwm4/trunk/src/tabwin.c 2006-10-02 21:20:17 UTC (rev 23265)
@@ -91,7 +91,7 @@
}
else
{
- canonical = g_strdup (_("Unknown application!"));
+ canonical = g_strdup ("...");
}
return canonical;
@@ -389,6 +389,21 @@
return tabwinGetSelected (t);
}
+Client *
+tabwinGetHead (Tabwin * t)
+{
+ GList *next;
+
+ g_return_val_if_fail (t != NULL, NULL);
+
+ if ((t->head) && (t->head->data))
+ {
+ return (Client *) g_object_get_data (G_OBJECT (t->head->data), "client-ptr-val");
+ }
+
+ return NULL;
+}
+
void
tabwinDestroy (Tabwin * t)
{
Modified: xfwm4/trunk/src/tabwin.h
===================================================================
--- xfwm4/trunk/src/tabwin.h 2006-10-02 21:03:31 UTC (rev 23264)
+++ xfwm4/trunk/src/tabwin.h 2006-10-02 21:20:17 UTC (rev 23265)
@@ -48,11 +48,17 @@
int grid_rows;
};
-Tabwin *tabwinCreate (GdkScreen *, Client *, Client *, unsigned int, gboolean);
-Client *tabwinGetSelected (Tabwin *);
-Client *tabwinSelectNext (Tabwin *);
-Client *tabwinSelectPrev (Tabwin *);
-Client *tabwinRemoveClient (Tabwin *, Client *);
-void tabwinDestroy (Tabwin *);
+Tabwin *tabwinCreate (GdkScreen *,
+ Client *,
+ Client *,
+ unsigned int,
+ gboolean);
+Client *tabwinGetSelected (Tabwin *);
+Client *tabwinSelectNext (Tabwin *);
+Client *tabwinSelectPrev (Tabwin *);
+Client *tabwinGetHead (Tabwin *);
+Client *tabwinRemoveClient (Tabwin *,
+ Client *);
+void tabwinDestroy (Tabwin *);
#endif /* INC_TABWIN_H */
Modified: xfwm4/trunk/themes/default.keys/keythemerc
===================================================================
--- xfwm4/trunk/themes/default.keys/keythemerc 2006-10-02 21:03:31 UTC (rev 23264)
+++ xfwm4/trunk/themes/default.keys/keythemerc 2006-10-02 21:20:17 UTC (rev 23265)
@@ -1,4 +1,5 @@
add_workspace_key=Alt+Insert
+cancel_key=Escape
close_window_key=Alt+F4
cycle_windows_key=Alt+Tab
del_workspace_key=Alt+Delete
@@ -21,6 +22,9 @@
move_window_right_workspace_key=None
move_window_up_key=Control+Shift+Alt+Up
move_window_up_workspace_key=None
+move_window_workspace_10_key=None
+move_window_workspace_11_key=None
+move_window_workspace_12_key=None
move_window_workspace_1_key=Alt+Control+KP_1
move_window_workspace_2_key=Alt+Control+KP_2
move_window_workspace_3_key=Alt+Control+KP_3
@@ -30,9 +34,6 @@
move_window_workspace_7_key=Alt+Control+KP_7
move_window_workspace_8_key=Alt+Control+KP_8
move_window_workspace_9_key=Alt+Control+KP_9
-move_window_workspace_10_key=None
-move_window_workspace_11_key=None
-move_window_workspace_12_key=None
next_workspace_key=None
prev_workspace_key=None
raise_window_key=Shift+Alt+Page_Up
@@ -45,6 +46,9 @@
show_desktop_key=Control+Alt+d
stick_window_key=Alt+F10
up_workspace_key=Control+Alt+Up
+workspace_10_key=Control+F10
+workspace_11_key=Control+F11
+workspace_12_key=Control+F12
workspace_1_key=Control+F1
workspace_2_key=Control+F2
workspace_3_key=Control+F3
@@ -54,6 +58,3 @@
workspace_7_key=Control+F7
workspace_8_key=Control+F8
workspace_9_key=Control+F9
-workspace_10_key=Control+F10
-workspace_11_key=Control+F11
-workspace_12_key=Control+F12
More information about the Xfce4-commits
mailing list