-/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998, 2001, 2002, 2003
+/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998, 2001, 2002, 2003, 2004
* Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
#include "version.h"
#include "vroot.h"
+#ifndef _XSCREENSAVER_VROOT_H_
+# error Error! You have an old version of vroot.h! Check -I args.
+#endif /* _XSCREENSAVER_VROOT_H_ */
+
#ifndef isupper
# define isupper(c) ((c) >= 'A' && (c) <= 'Z')
#endif
void
screenhack_handle_event (Display *dpy, XEvent *event)
{
+ if (XtAppPending (app) & (XtIMTimer|XtIMAlternateInput))
+ XtAppProcessEvent (app, XtIMTimer|XtIMAlternateInput);
+
switch (event->xany.type)
{
case KeyPress:
screen = xgwa.screen;
visual_warning (screen, window, visual, cmap, True);
- /* Select KeyPress events on the external window.
+ /* Select KeyPress and resize events on the external window.
*/
- xgwa.your_event_mask |= KeyPressMask;
+ xgwa.your_event_mask |= KeyPressMask | StructureNotifyMask;
XSelectInput (dpy, window, xgwa.your_event_mask);
/* Select ButtonPress and ButtonRelease events on the external window,
else if (root_p)
{
XWindowAttributes xgwa;
- window = RootWindowOfScreen (XtScreen (toplevel));
+ window = VirtualRootWindowOfScreen (XtScreen (toplevel));
XtDestroyWidget (toplevel);
XGetWindowAttributes (dpy, window, &xgwa);
cmap = xgwa.colormap;
unsigned int bg, bd;
Widget new;
- cmap = XCreateColormap (dpy, RootWindowOfScreen(screen),
+ cmap = XCreateColormap (dpy, VirtualRootWindowOfScreen(screen),
visual, AllocNone);
bg = get_pixel_resource ("background", "Background", dpy, cmap);
bd = get_pixel_resource ("borderColor", "Foreground", dpy, cmap);