diff -r 9873578e4323 dwm.c --- a/dwm.c Sat Sep 22 22:39:49 2007 +0200 +++ b/dwm.c Sat Sep 22 23:02:57 2007 +0200 @@ -158,6 +158,7 @@ Client *nexttiled(Client *c); Client *nexttiled(Client *c); void propertynotify(XEvent *e); void quit(const char *arg); +void raisewindow(const char *arg); void resize(Client *c, int x, int y, int w, int h, Bool sizehints); void resizemouse(Client *c); void restack(void); @@ -1160,6 +1161,24 @@ quit(const char *arg) { } void +raisewindow (const char *arg) { + if(!sel || !(sel->isfloating || isarrange(floating))) + return; + if (!arg) { + XRaiseWindow(dpy, sel->win); + } else { + if (isarrange(floating)) + XLowerWindow(dpy, sel->win); + else { + XWindowChanges wc; + wc.stack_mode = Above; + wc.sibling = barwin; + XConfigureWindow(dpy, sel->win, CWSibling | CWStackMode, &wc); + } + } +} + +void resize(Client *c, int x, int y, int w, int h, Bool sizehints) { double dx, dy, max, min, ratio; XWindowChanges wc;