sorting functions alphabeticly - ttabbed - Simple tabbing application for X11.
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 826c6000e2aa0c3662f8d4b13b86e3cf0d9086df
 (DIR) parent 0b8e27a808c9e4a1cd65755ec6addf5d28614ef1
 (HTM) Author: Enno Boland (tox) <tox@s01.de>
       Date:   Wed, 28 Oct 2009 20:31:34 +0100
       
       sorting functions alphabeticly
       Diffstat:
         tabbed.c                            |      42 +++++++++++++++----------------
       
       1 file changed, 20 insertions(+), 22 deletions(-)
       ---
 (DIR) diff --git a/tabbed.c b/tabbed.c
       @@ -117,8 +117,8 @@ static void propertynotify(const XEvent *e);
        static void resize(Client *c, int w, int h);
        static void rotate(const Arg *arg);
        static void run(void);
       -static void setup(void);
        static void sendxembed(Client *c, long msg, long detail, long d1, long d2);
       +static void setup(void);
        static void sigchld(int unused);
        static void spawn(const Arg *arg);
        static int textnw(const char *text, unsigned int len);
       @@ -206,15 +206,14 @@ clientmessage(const XEvent *e) {
        void
        configurenotify(const XEvent *e) {
                const XConfigureEvent *ev = &e->xconfigure;
       -        Client *c;
        
                if(ev->window == win && (ev->width != ww || ev->height != wh)) {
                        ww = ev->width;
                        wh = ev->height;
                        XFreePixmap(dpy, dc.drawable);
                        dc.drawable = XCreatePixmap(dpy, root, ww, wh, DefaultDepth(dpy, screen));
       -                for(c = clients; c; c = c->next)
       -                        resize(c, ww, wh - bh);
       +                if(sel)
       +                        resize(sel, ww, wh - bh);
                        XSync(dpy, False);
                }
        }
       @@ -375,6 +374,7 @@ focus(Client *c) {
                }
                if(!c)
                        return;
       +        resize(c, ww, wh - bh);
                XRaiseWindow(dpy, c->win);
                XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
                sendxembed(c, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT, 0, 0);
       @@ -565,7 +565,6 @@ manage(Window w) {
                        c->win = w;
                        clients = c;
                        updatetitle(c);
       -                resize(c, ww, wh - bh);
                        drawbar();
                        XMapRaised(dpy, w);
                        e.xclient.window = w;
       @@ -631,7 +630,6 @@ resize(Client *c, int w, int h) {
                ce.border_width = 0;
                XConfigureWindow(dpy, c->win, CWWidth|CWHeight, &wc);
                XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&ce);
       -        XSync(dpy, False);
        }
        
        void
       @@ -666,6 +664,22 @@ run(void) {
        }
        
        void
       +sendxembed(Client *c, long msg, long detail, long d1, long d2) {
       +        XEvent e = { 0 };
       +
       +        e.xclient.window = c->win;
       +        e.xclient.type = ClientMessage;
       +        e.xclient.message_type = xembedatom;
       +        e.xclient.format = 32;
       +        e.xclient.data.l[0] = CurrentTime;
       +        e.xclient.data.l[1] = msg;
       +        e.xclient.data.l[2] = detail;
       +        e.xclient.data.l[3] = d1;
       +        e.xclient.data.l[4] = d2;
       +        XSendEvent(dpy, c->win, False, NoEventMask, &e);
       +}
       +
       +void
        setup(void) {
                /* clean up any zombies immediately */
                sigchld(0);
       @@ -708,22 +722,6 @@ setup(void) {
        }
        
        void
       -sendxembed(Client *c, long msg, long detail, long d1, long d2) {
       -        XEvent e = { 0 };
       -
       -        e.xclient.window = c->win;
       -        e.xclient.type = ClientMessage;
       -        e.xclient.message_type = xembedatom;
       -        e.xclient.format = 32;
       -        e.xclient.data.l[0] = CurrentTime;
       -        e.xclient.data.l[1] = msg;
       -        e.xclient.data.l[2] = detail;
       -        e.xclient.data.l[3] = d1;
       -        e.xclient.data.l[4] = d2;
       -        XSendEvent(dpy, c->win, False, NoEventMask, &e);
       -}
       -
       -void
        sigchld(int unused) {
                if(signal(SIGCHLD, sigchld) == SIG_ERR)
                        die("Can't install SIGCHLD handler");