* Headers/x11/XGGeneric.h:

* Source/x11/XGServerWindow.m: Added code to automatically make 
	any window which uses the NSDesktopWindowLevel also be omnipresent.
	This capability will be added as a style later.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26588 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
gcasa 2008-06-01 22:01:08 +00:00
parent 372d5ec635
commit 7886e22ead
3 changed files with 34 additions and 8 deletions

View file

@ -1,3 +1,10 @@
2008-06-01 18:00-EDT Gregory John Casamento <greg_casamento@yahoo.com>
* Headers/x11/XGGeneric.h:
* Source/x11/XGServerWindow.m: Added code to automatically make
any window which uses the NSDesktopWindowLevel also be omnipresent.
This capability will be added as a style later.
2008-05-28 Fred Kiefer <FredKiefer@gmx.de> 2008-05-28 Fred Kiefer <FredKiefer@gmx.de>
* Source/cairo/CairoGState.m (-copyWithZone:): Avoid double * Source/cairo/CairoGState.m (-copyWithZone:): Avoid double

View file

@ -62,6 +62,7 @@ typedef struct {
Atom net_wm_state_atom; Atom net_wm_state_atom;
Atom net_wm_state_skip_taskbar_atom; Atom net_wm_state_skip_taskbar_atom;
Atom net_wm_state_skip_pager_atom; Atom net_wm_state_skip_pager_atom;
Atom net_wm_state_sticky_atom;
} XGWMNetStates; } XGWMNetStates;
/* /*

View file

@ -1233,6 +1233,8 @@ _get_next_prop_new_event(Display *display, XEvent *event, char *arg)
XInternAtom(dpy, "_NET_WM_STATE_SKIP_TASKBAR", False); XInternAtom(dpy, "_NET_WM_STATE_SKIP_TASKBAR", False);
generic.netstates.net_wm_state_skip_pager_atom = generic.netstates.net_wm_state_skip_pager_atom =
XInternAtom(dpy, "_NET_WM_STATE_SKIP_PAGER", False); XInternAtom(dpy, "_NET_WM_STATE_SKIP_PAGER", False);
generic.netstates.net_wm_state_sticky_atom =
XInternAtom(dpy, "_NET_WM_STATE_STICKY", False);
} }
if (win1) if (win1)
{ {
@ -2876,14 +2878,30 @@ static BOOL didCreatePixmaps;
*/ */
if (window->win_attrs.window_level != NSNormalWindowLevel) if (window->win_attrs.window_level != NSNormalWindowLevel)
{ {
[self _sendRoot: window->root /*
type: generic.netstates.net_wm_state_atom * Make any window which assumes the desktop level act as the background.
window: window->ident */
data0: _NET_WM_STATE_ADD if(window->win_attrs.window_level == NSDesktopWindowLevel)
data1: generic.netstates.net_wm_state_skip_taskbar_atom {
data2: generic.netstates.net_wm_state_skip_pager_atom [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: 1];
}
else
{
[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_skip_pager_atom
data3: 1]; data3: 1];
} }
}
} }
XFlush(dpy); XFlush(dpy);
} }
@ -3124,7 +3142,7 @@ static BOOL didCreatePixmaps;
int len; int len;
long data[2]; long data[2];
BOOL skipTaskbar = NO; BOOL skipTaskbar = NO;
data[0] = generic.wintypes.win_normal_atom; data[0] = generic.wintypes.win_normal_atom;
data[1] = None; data[1] = None;
len = 1; len = 1;