Fix the brain-dead commits I made this morning.

Looks like I wasn't awake then ...


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34595 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Wolfgang Lux 2012-01-19 21:37:35 +00:00
parent fce27ac4bd
commit 074b625584
2 changed files with 24 additions and 55 deletions

View file

@ -1,8 +1,7 @@
2012-01-19 Wolfgang Lux <wolfgang.lux@gmail.com>
* Source/x11/XGServerWindow.m (-orderwindow:::,
-_sendRoot:type:window:data0:data1:data2:data3:data4:): Introduce
new user defaults to respectively make app icons and mini windows
* Source/x11/XGServerWindow.m (-orderwindow:::): Introduce new
user defaults to respectively make app icons and mini windows
sticky (aka omnipresent).
2012-01-11 Fred Kiefer <FredKiefer@gmx.de>

View file

@ -622,33 +622,6 @@ static void setWindowHintsForStyle (Display *dpy, Window window,
XFlush(dpy);
}
- (void)_sendRoot: (Window)root
type: (Atom)type
window: (Window)window
data0: (long)data0
data1: (long)data1
data2: (long)data2
data3: (long)data3
data4: (long)data4
{
XEvent event;
memset(&event, 0, sizeof(event));
event.xclient.type = ClientMessage;
event.xclient.message_type = type;
event.xclient.format = 32;
event.xclient.display = dpy;
event.xclient.window = window;
event.xclient.data.l[0] = data0;
event.xclient.data.l[1] = data1;
event.xclient.data.l[2] = data2;
event.xclient.data.l[3] = data3;
event.xclient.data.l[4] = data4;
XSendEvent(dpy, root, False,
(SubstructureNotifyMask|SubstructureRedirectMask), &event);
XFlush(dpy);
}
/*
* Check if the window manager supports a feature.
*/
@ -3060,7 +3033,6 @@ static BOOL didCreatePixmaps;
((window->win_attrs.window_style &
(NSIconWindowMask|NSMiniWindowMask)) != 0))
{
NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
/*
* Make any window which assumes the desktop level act as the
* background.
@ -3075,32 +3047,11 @@ static BOOL didCreatePixmaps;
data2: generic.netstates.net_wm_state_sticky_atom
data3: 1];
}
else if (((window->win_attrs.window_style & NSIconWindowMask) != 0)
&& [defs boolForKey: @"GSStickyAppIcons"] == YES)
{
[self _sendRoot: window->root
type: generic.netstates.net_wm_state_atom
window: window->ident
data0: _NET_WM_STATE_ADD
data1: generic.netstates.net_wm_state_skip_taskbar_atom
data2: generic.netstates.net_wm_state_sticky_atom
data3: generic.netstates.net_wm_state_skip_pager_atom
data4: 1];
}
else if (((window->win_attrs.window_style & NSMiniWindowMask) != 0)
&& [defs boolForKey: @"GSStickyMiniWindows"] == YES)
{
[self _sendRoot: window->root
type: generic.netstates.net_wm_state_atom
window: window->ident
data0: _NET_WM_STATE_ADD
data1: generic.netstates.net_wm_state_skip_taskbar_atom
data2: generic.netstates.net_wm_state_sticky_atom
data3: generic.netstates.net_wm_state_skip_pager_atom
data4: 1];
}
else
{
BOOL sticky = NO;
NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
[self _sendRoot: window->root
type: generic.netstates.net_wm_state_atom
window: window->ident
@ -3108,6 +3059,25 @@ static BOOL didCreatePixmaps;
data1: generic.netstates.net_wm_state_skip_taskbar_atom
data2: generic.netstates.net_wm_state_skip_pager_atom
data3: 1];
if ((window->win_attrs.window_style & NSIconWindowMask) != 0)
{
sticky = [defs boolForKey: @"GSStickyAppIcons"];
}
else if ((window->win_attrs.window_style & NSMiniWindowMask) != 0)
{
sticky = [defs boolForKey: @"GSStickyMiniWindows"];
}
if (sticky == YES)
{
[self _sendRoot: window->root
type: generic.netstates.net_wm_state_atom
window: window->ident
data0: _NET_WM_STATE_ADD
data1: generic.netstates.net_wm_state_sticky_atom
data2: 0
data3: 1];
}
}
}
}