From ae1ca0772cea076c0098a83c15de2581e8aee3f5 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Sat, 15 Sep 2001 13:41:51 +0000 Subject: - add and use aewm-drakx - add some "skip" title on help/logo/steps windows so that aewm-drakx know they don't need keyboard focus - add some more title to ease debugging (when aewm-drakx is in debug mode) --- tools/aewm-drakx/aewm-drakx.c | 53 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tools/aewm-drakx/aewm-drakx.c (limited to 'tools/aewm-drakx/aewm-drakx.c') diff --git a/tools/aewm-drakx/aewm-drakx.c b/tools/aewm-drakx/aewm-drakx.c new file mode 100644 index 000000000..f550271c7 --- /dev/null +++ b/tools/aewm-drakx/aewm-drakx.c @@ -0,0 +1,53 @@ +/* aewm - a minimalistic X11 window manager. ------- vim:sw=4:et + * Copyright (c) 1998-2001 Decklin Foster + * Free software! Please see README for details and license. */ + +#include "aewm.h" + + +Display *dpy; +Window root; +Atom wm_state; + +static void scan_wins(void) +{ + unsigned int nwins, i; + Window dummyw1, dummyw2, *wins; + XWindowAttributes attr; + + XQueryTree(dpy, root, &dummyw1, &dummyw2, &wins, &nwins); + for (i = 0; i < nwins; i++) { + XGetWindowAttributes(dpy, wins[i], &attr); + if (!attr.override_redirect && attr.map_state == IsViewable) + make_new_client(wins[i]); + } + XFree(wins); +} + +static void setup_display(void) +{ + XSetWindowAttributes sattr; + + dpy = XOpenDisplay(NULL); + + if (!dpy) { + err("can't open display! check your DISPLAY variable."); + exit(1); + } + + XSetErrorHandler(handle_xerror); + root = RootWindow(dpy, DefaultScreen(dpy)); + + wm_state = XInternAtom(dpy, "WM_STATE", False); + + sattr.event_mask = SubstructureRedirectMask|SubstructureNotifyMask; + XChangeWindowAttributes(dpy, root, CWEventMask, &sattr); +} + + +int main() +{ + setup_display(); + scan_wins(); + do_event_loop(); +} -- cgit v1.2.1