fix prop encoding - lsw - lists window titles of X clients to stdout
 (HTM) git clone git://git.suckless.org/lsw
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 0bcbd0cd548b2ab4246c4b7652cc6b72ce998272
 (DIR) parent 955a4e65bda4c1bbfaa4ab7bd39aaa9ea97b36ba
 (HTM) Author: Connor Lane Smith <cls@lubutu.com>
       Date:   Sat, 18 Jun 2011 03:48:12 +0100
       
       fix prop encoding
       Diffstat:
         M lsw.c                               |      15 ++++++---------
       
       1 file changed, 6 insertions(+), 9 deletions(-)
       ---
 (DIR) diff --git a/lsw.c b/lsw.c
       @@ -10,7 +10,6 @@ static void getname(Window win, char *buf, size_t size);
        static void lsw(Window win);
        
        static Atom netwmname;
       -static Bool aflag = False;
        static Bool lflag = False;
        static Display *dpy;
        
       @@ -29,8 +28,6 @@ main(int argc, char *argv[]) {
                                puts("lsw-"VERSION", © 2006-2011 lsw engineers, see LICENSE for details");
                                exit(EXIT_SUCCESS);
                        }
       -                else if(!strcmp(argv[i], "-a"))
       -                        aflag = True;
                        else if(!strcmp(argv[i], "-l"))
                                lflag = True;
                        else
       @@ -55,11 +52,11 @@ lsw(Window win) {
                if(!XQueryTree(dpy, win, &dw, &dw, &wins, &n))
                        return;
                for(i = 0; i < n; i++)
       -                if(aflag || (XGetWindowAttributes(dpy, wins[i], &wa)
       -                && !wa.override_redirect && wa.map_state == IsViewable)) {
       +                if(XGetWindowAttributes(dpy, wins[i], &wa)
       +                && !wa.override_redirect && wa.map_state == IsViewable) {
                                getname(wins[i], buf, sizeof buf);
                                if(lflag)
       -                                printf("0x%lx %s\n", wins[i], buf);
       +                                printf("0x%07lx %s\n", wins[i], buf);
                                else if(*buf)
                                        puts(buf);
                        }
       @@ -76,11 +73,11 @@ getname(Window win, char *buf, size_t size) {
                if(!XGetTextProperty(dpy, win, &prop, netwmname) || prop.nitems == 0)
                        if(!XGetWMName(dpy, win, &prop) || prop.nitems == 0)
                                return;
       -        if(prop.encoding == XA_STRING)
       -                strncpy(buf, (char *)prop.value, size);
       -        else if(!XmbTextPropertyToTextList(dpy, &prop, &list, &n) && n > 0) {
       +        if(!XmbTextPropertyToTextList(dpy, &prop, &list, &n) && n > 0) {
                        strncpy(buf, list[0], size);
                        XFreeStringList(list);
                }
       +        else
       +                strncpy(buf, (char *)prop.value, size);
                XFree(prop.value);
        }