"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "driver/atomswm.c" between
xscreensaver-6.00.tar.gz and xscreensaver-6.01.tar.gz

About: XScreenSaver is a large collection of screen savers and also the framework for blanking and locking the screen.

atomswm.c  (xscreensaver-6.00):atomswm.c  (xscreensaver-6.01)
skipping to change at line 45 skipping to change at line 45
xscreensaver_set_wm_atoms (Display *dpy, Window window, int width, int height, xscreensaver_set_wm_atoms (Display *dpy, Window window, int width, int height,
Window for_window) Window for_window)
{ {
XClassHint class_hints; XClassHint class_hints;
XSizeHints size_hints; XSizeHints size_hints;
# ifdef HAVE_UNAME # ifdef HAVE_UNAME
struct utsname uts; struct utsname uts;
# endif # endif
Atom va[10]; Atom va[10];
long vl[10]; long vl[10];
int i;
class_hints.res_name = "xscreensaver"; /* not progname */ class_hints.res_name = "xscreensaver"; /* not progname */
class_hints.res_class = "XScreenSaver"; class_hints.res_class = "XScreenSaver";
size_hints.flags = PMinSize | PMaxSize; size_hints.flags = PMinSize | PMaxSize;
size_hints.min_width = size_hints.max_width = width; /* non-resizable */ size_hints.min_width = size_hints.max_width = width; /* non-resizable */
size_hints.min_height = size_hints.max_height = height; size_hints.min_height = size_hints.max_height = height;
XStoreName (dpy, window, "XScreenSaver"); XStoreName (dpy, window, "XScreenSaver");
XSetClassHint (dpy, window, &class_hints); XSetClassHint (dpy, window, &class_hints);
XSetWMNormalHints (dpy, window, &size_hints); XSetWMNormalHints (dpy, window, &size_hints);
/* XA_WM_COMMAND and _NET_WM_PID are later updated by spawn_screenhack. */ /* XA_WM_COMMAND and _NET_WM_PID are later updated by spawn_screenhack. */
skipping to change at line 75 skipping to change at line 76
strlen (uts.nodename)); strlen (uts.nodename));
# endif # endif
/* In the olden days, OverrideRedirect meant that the window manager did /* In the olden days, OverrideRedirect meant that the window manager did
not see or touch our window, but these days, compositing WMs like to not see or touch our window, but these days, compositing WMs like to
get up to all sorts of shenanigans. I don't know whether setting these get up to all sorts of shenanigans. I don't know whether setting these
properties has any effect, but they *might* tell the WM to keep its properties has any effect, but they *might* tell the WM to keep its
grubby paws off of our windows. grubby paws off of our windows.
*/ */
vl[0] = 1; /* _NET_WM_BYPASS_COMPOSITOR = 1 */ i = 0;
vl[i++] = 1; /* _NET_WM_BYPASS_COMPOSITOR = 1 */
XChangeProperty (dpy, window, XA_NET_WM_BYPASS_COMPOSITOR, XA_CARDINAL, 32, XChangeProperty (dpy, window, XA_NET_WM_BYPASS_COMPOSITOR, XA_CARDINAL, 32,
PropModeReplace, (unsigned char *) vl, 1); PropModeReplace, (unsigned char *) vl, i);
/* _NET_WM_STATE = [ _NET_WM_STATE_ABOVE, _NET_WM_STATE_FULLSCREEN ] */ /* _NET_WM_STATE = [ _NET_WM_STATE_ABOVE, _NET_WM_STATE_FULLSCREEN ] */
va[0] = XA_NET_WM_STATE_ABOVE; i = 0;
va[1] = XA_NET_WM_STATE_FULLSCREEN; va[i++] = XA_NET_WM_STATE_ABOVE;
va[i++] = XA_NET_WM_STATE_FULLSCREEN;
va[i++] = XA_NET_WM_STATE_STAYS_ON_TOP; /* Does this do anything? */
XChangeProperty (dpy, window, XA_NET_WM_STATE, XA_ATOM, 32, XChangeProperty (dpy, window, XA_NET_WM_STATE, XA_ATOM, 32,
PropModeReplace, (unsigned char *) va, 2); PropModeReplace, (unsigned char *) va, i);
/* As there is no _NET_WM_WINDOW_TYPE_SCREENSAVER, which property is /* As there is no _NET_WM_WINDOW_TYPE_SCREENSAVER, which property is
most likely to effectively communicate "on top always" to the WM? most likely to effectively communicate "on top always" to the WM?
_NET_WM_WINDOW_TYPE = NORMAL, SPLASH, DIALOG or NOTIFICATION? */ _NET_WM_WINDOW_TYPE = NORMAL, SPLASH, DIALOG or NOTIFICATION? */
va[0] = XA_NET_WM_WINDOW_TYPE_NOTIFICATION; i = 0;
va[i++] = XA_NET_WM_WINDOW_TYPE_NOTIFICATION;
va[i++] = XA_KDE_NET_WM_WINDOW_TYPE_OVERRIDE; /* Does this do anything? */
XChangeProperty (dpy, window, XA_NET_WM_WINDOW_TYPE, XA_ATOM, 32, XChangeProperty (dpy, window, XA_NET_WM_WINDOW_TYPE, XA_ATOM, 32,
PropModeReplace, (unsigned char *) va, 1); PropModeReplace, (unsigned char *) va, i);
if (for_window) /* This is the error dialog for a saver window */ if (for_window) /* This is the error dialog for a saver window */
{ {
va[0] = for_window; va[0] = for_window;
/* _WM_TRANSIENT_FOR = screensaver_window */ /* _WM_TRANSIENT_FOR = screensaver_window */
XChangeProperty (dpy, window, XChangeProperty (dpy, window,
XA_WM_TRANSIENT_FOR, XA_WINDOW, 32, XA_WM_TRANSIENT_FOR, XA_WINDOW, 32,
PropModeReplace, (unsigned char *) va, 1); PropModeReplace, (unsigned char *) va, 1);
} }
} }
 End of changes. 7 change blocks. 
7 lines changed or deleted 13 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)