[Xfce4-commits] r26935 - xfwm4/trunk/src
Olivier Fourdan
olivier at xfce.org
Wed May 7 23:56:47 CEST 2008
Author: olivier
Date: 2008-05-07 21:56:47 +0000 (Wed, 07 May 2008)
New Revision: 26935
Modified:
xfwm4/trunk/src/client.c
xfwm4/trunk/src/client.h
xfwm4/trunk/src/events.c
xfwm4/trunk/src/keyboard.c
xfwm4/trunk/src/placement.c
Log:
Switch to synchronous key grab
Modified: xfwm4/trunk/src/client.c
===================================================================
--- xfwm4/trunk/src/client.c 2008-05-07 06:15:25 UTC (rev 26934)
+++ xfwm4/trunk/src/client.c 2008-05-07 21:56:47 UTC (rev 26935)
@@ -240,8 +240,8 @@
}
if (mask & UPDATE_GRAVITY)
{
- clientGravitate (c, REMOVE);
- clientGravitate (c, APPLY);
+ clientCoordGravitate (c, REMOVE, &c->x, &c->y);
+ clientCoordGravitate (c, APPLY, &c->x, &c->y);
setNetFrameExtents (screen_info->display_info,
c->window,
frameTop (c),
@@ -429,21 +429,6 @@
*y = *y + (dy * mode);
}
-void
-clientGravitate (Client * c, int mode)
-{
- int x, y;
-
- g_return_if_fail (c != NULL);
- TRACE ("entering clientGravitate");
-
- x = c->x;
- y = c->y;
- clientCoordGravitate (c, mode, &x, &y);
- c->x = x;
- c->y = y;
-}
-
static void
clientComputeWidth (Client * c, int *w)
{
@@ -1931,12 +1916,9 @@
/* Once we know the type of window, we can initialize window position */
if (!FLAG_TEST (c->xfwm_flags, XFWM_FLAG_SESSION_MANAGED))
{
- if ((attr.map_state != IsUnmapped))
+ clientCoordGravitate (c, APPLY, &c->x, &c->y);
+ if ((attr.map_state == IsUnmapped))
{
- clientGravitate (c, APPLY);
- }
- else
- {
clientInitPosition (c);
}
}
@@ -2146,7 +2128,7 @@
gdk_error_trap_push ();
clientUngrabButtons (c);
XUnmapWindow (display_info->dpy, c->frame);
- clientGravitate (c, REMOVE);
+ clientCoordGravitate (c, REMOVE, &c->x, &c->y);
XSelectInput (display_info->dpy, c->window, NoEventMask);
reparented = XCheckTypedWindowEvent (display_info->dpy, c->window, ReparentNotify, &ev);
Modified: xfwm4/trunk/src/client.h
===================================================================
--- xfwm4/trunk/src/client.h 2008-05-07 06:15:25 UTC (rev 26934)
+++ xfwm4/trunk/src/client.h 2008-05-07 21:56:47 UTC (rev 26935)
@@ -323,8 +323,6 @@
int,
int *,
int *);
-void clientGravitate (Client *,
- int);
void clientConfigure (Client *,
XWindowChanges *,
unsigned long,
Modified: xfwm4/trunk/src/events.c
===================================================================
--- xfwm4/trunk/src/events.c 2008-05-07 06:15:25 UTC (rev 26934)
+++ xfwm4/trunk/src/events.c 2008-05-07 21:56:47 UTC (rev 26935)
@@ -342,16 +342,16 @@
TRACE ("entering handleKeyEvent");
- status = EVENT_FILTER_PASS;
ev_screen_info = myDisplayGetScreenFromRoot (display_info, ev->root);
if (!ev_screen_info)
{
/* Release queued events */
- XAllowEvents (display_info->dpy, AsyncKeyboard, ev->time);
+ XAllowEvents (display_info->dpy, SyncKeyboard, ev->time);
- return status;
+ return EVENT_FILTER_PASS;
}
+ status = EVENT_FILTER_PASS;
c = clientGetFocus ();
if (c)
{
@@ -564,7 +564,7 @@
}
/* Release queued events */
- XAllowEvents (display_info->dpy, AsyncKeyboard, myDisplayGetCurrentTime (display_info));
+ XAllowEvents (display_info->dpy, SyncKeyboard, myDisplayGetCurrentTime (display_info));
return status;
}
@@ -1378,6 +1378,7 @@
ev->value_mask &= ~(CWSibling | CWStackMode);
}
clientCoordGravitate (c, APPLY, &wc.x, &wc.y);
+
if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
{
GdkRectangle rect;
Modified: xfwm4/trunk/src/keyboard.c
===================================================================
--- xfwm4/trunk/src/keyboard.c 2008-05-07 06:15:25 UTC (rev 26934)
+++ xfwm4/trunk/src/keyboard.c 2008-05-07 21:56:47 UTC (rev 26935)
@@ -175,35 +175,35 @@
status |=
XGrabKey (dpy, key->keycode,
key->modifier, w,
- TRUE, GrabModeAsync, GrabModeAsync);
+ TRUE, GrabModeAsync, GrabModeSync);
status |=
XGrabKey (dpy, key->keycode,
key->modifier | ScrollLockMask, w,
- TRUE, GrabModeAsync, GrabModeAsync);
+ TRUE, GrabModeAsync, GrabModeSync);
status |=
XGrabKey (dpy, key->keycode,
key->modifier | NumLockMask, w,
- TRUE, GrabModeAsync, GrabModeAsync);
+ TRUE, GrabModeAsync, GrabModeSync);
status |=
XGrabKey (dpy, key->keycode,
key->modifier | LockMask, w,
- TRUE, GrabModeAsync, GrabModeAsync);
+ TRUE, GrabModeAsync, GrabModeSync);
status |=
XGrabKey (dpy, key->keycode,
key->modifier | ScrollLockMask | NumLockMask, w,
- TRUE, GrabModeAsync, GrabModeAsync);
+ TRUE, GrabModeAsync, GrabModeSync);
status |=
XGrabKey (dpy, key->keycode,
key->modifier | ScrollLockMask | LockMask, w,
- TRUE, GrabModeAsync, GrabModeAsync);
+ TRUE, GrabModeAsync, GrabModeSync);
status |=
XGrabKey (dpy, key->keycode,
key->modifier | LockMask | NumLockMask, w,
- TRUE, GrabModeAsync, GrabModeAsync);
+ TRUE, GrabModeAsync, GrabModeSync);
status |=
XGrabKey (dpy, key->keycode,
key->modifier | ScrollLockMask | LockMask | NumLockMask, w,
- TRUE, GrabModeAsync, GrabModeAsync);
+ TRUE, GrabModeAsync, GrabModeSync);
}
}
Modified: xfwm4/trunk/src/placement.c
===================================================================
--- xfwm4/trunk/src/placement.c 2008-05-07 06:15:25 UTC (rev 26934)
+++ xfwm4/trunk/src/placement.c 2008-05-07 21:56:47 UTC (rev 26935)
@@ -640,8 +640,6 @@
g_return_if_fail (c != NULL);
TRACE ("entering clientInitPosition");
- clientGravitate (c, APPLY);
-
screen_info = c->screen_info;
msx = 0;
msy = 0;
More information about the Xfce4-commits
mailing list