From 482e6810dd26510d1787d3af9968b881892ec91f Mon Sep 17 00:00:00 2001 From: Mikael Magnusson Date: Mon, 4 Jun 2007 02:23:44 +0000 Subject: [PATCH] remove my hacky stuff to focus windows without raising them, and add a less hacky thing to do it. make configure only add flags once --- configure | 23 +++++++++++------------ rspanel.c | 23 ++++------------------- 2 files changed, 15 insertions(+), 31 deletions(-) diff --git a/configure b/configure index 66111d9..c01d554 100755 --- a/configure +++ b/configure @@ -5,8 +5,7 @@ PROGNAME=rspanel echo -n "checking for libX11" if pkg-config --exists x11; then echo yes - CFLAGS="$CFLAGS `pkg-config --cflags x11`" - LDFLAGS="$LDFLAGS `pkg-config --libs x11`" + FOUND="$FOUND x11" else echo no echo Cannot find libX11, aborting. @@ -21,8 +20,8 @@ echo -n "checking for libXpm... " xpm=no if pkg-config --exists xpm; then echo yes - LDFLAGS="$LDFLAGS `pkg-config --libs xpm`" - CFLAGS="$CFLAGS -DHAVE_XPM `pkg-config --cflags xpm`" + CFLAGS="$CFLAGS -DHAVE_XPM" + FOUND="$FOUND xpm" xpm=yes else echo no @@ -32,8 +31,8 @@ echo -n "checking for libXft " xft=no if pkg-config --exists xft; then echo yes - LDFLAGS="$LDFLAGS `pkg-config --libs xft`" - CFLAGS="$CFLAGS -DXFT `pkg-config --cflags xft`" + CFLAGS="$CFLAGS -DXFT" + FOUND="$FOUND xft" xft=yes else echo no @@ -43,8 +42,8 @@ echo -n "checking for Pango..." pango=no if pkg-config --exists pango pangoxft; then echo yes - LDFLAGS="$LDFLAGS `pkg-config --libs pango pangoxft`" - CFLAGS="$CFLAGS -DPANGO `pkg-config --cflags pango pangoxft`" + CFLAGS="$CFLAGS -DPANGO" + FOUND="$FOUND pango pangoxft" pango=yes else echo no @@ -54,8 +53,8 @@ echo -n "checking for ObRender..." obrender=no if pkg-config --atleast-version 3.3.995 obrender-3.0; then echo yes - LDFLAGS="$LDFLAGS `pkg-config --libs obrender-3.0`" - CFLAGS="$CFLAGS -DOBRENDER `pkg-config --cflags obrender-3.0`" + CFLAGS="$CFLAGS -DOBRENDER" + FOUND="$FOUND obrender-3.0" obrender=yes else echo no @@ -80,8 +79,8 @@ fi echo -n "creating Makefile... " echo CC="$CC" > Makefile -echo CFLAGS="$CFLAGS" >> Makefile -echo LDFLAGS="$LDFLAGS" >> Makefile +echo CFLAGS="$CFLAGS `pkg-config $FOUND --cflags`" >> Makefile +echo LDFLAGS="`pkg-config $FOUND --libs`" >> Makefile echo PROGNAME="$PROGNAME" >> Makefile echo >> Makefile echo $\(PROGNAME\): Makefile rspanel.c rspanel.h icon.xpm >> Makefile diff --git a/rspanel.c b/rspanel.c index d426d93..f1b3cf6 100644 --- a/rspanel.c +++ b/rspanel.c @@ -137,6 +137,7 @@ char *atom_names[] = { "UTF8_STRING", "_NET_ACTIVE_WINDOW", "_NET_RESTACK_WINDOW", + "_OB_FOCUS", }; typedef enum { @@ -162,6 +163,7 @@ _NET_WM_NAME, STRING_UTF8, _NET_ACTIVE_WINDOW, _NET_RESTACK_WINDOW, +_OB_FOCUS, ATOM_COUNT, } atom_t; @@ -743,22 +745,6 @@ void draw_grill(int x) } } -#ifdef MIKACHU //this only works in mikabox -void ob_action(Window win, char *action) -{ - XClientMessageEvent xev; - char act_name[14+strlen(action)]; - sprintf(act_name, "_OB_WM_ACTION_%s", action); - - xev.type = ClientMessage; - xev.window = win; - xev.message_type = atoms[_OB_WM_ACTION]; - xev.format = 32; - /*strncpy(xev.data.b, action, 20);*/ - xev.data.l[0] = XInternAtom(dd, act_name, False); - XSendEvent(dd, root_win, False, SubstructureRedirectMask, (XEvent *)&xev); -} -#endif void netwm_action(Window win, atom_t atom, Time time, long l) { XClientMessageEvent xev = { @@ -779,6 +765,7 @@ void netwm_action(Window win, atom_t atom, Time time, long l) } else if (atom == _NET_RESTACK_WINDOW) { xev.data.l[0] = 2; xev.data.l[2] = l; + } else if (atom == _OB_FOCUS) { } else { xev.message_type = atoms[_NET_WM_STATE]; xev.data.l[0] = l; @@ -1066,10 +1053,8 @@ void handle_press(int x, int y, int button, Time time) case 9: if (tk->iconified) netwm_action(tk->win, _NET_WM_STATE_HIDDEN, time, REMOVE); -#ifdef MIKACHU //this doesn't work for anyone else anyway else - ob_action(tk->win, "focus"); -#endif + netwm_action(tk->win, _OB_FOCUS, 0, 0); break; case 6: netwm_action(tk->win, _NET_RESTACK_WINDOW, time, Below); -- 2.39.2