tfixed the exists() behavior in wattr - wmutils - X windows manipulation utilities
(HTM) git clone git://z3bra.org/wmutils
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit d73c716df2a3b7152cb0371ee0017e9276843af3
(DIR) parent eadb96606dcdb8ad731019c1ec72f9de9e8a9068
(HTM) Author: z3bra <willy@mailoo.org>
Date: Fri, 19 Dec 2014 00:52:56 +0100
fixed the exists() behavior in wattr
Diffstat:
M wattr.c | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
---
(DIR) diff --git a/wattr.c b/wattr.c
t@@ -57,7 +57,7 @@ getattribute(xcb_window_t w, int attr)
int
main(int argc, char **argv)
{
- int c;
+ int c, retval = 0;
size_t i;
xcb_window_t w = 0;
t@@ -68,6 +68,11 @@ main(int argc, char **argv)
init_xcb(&conn);
+ if (argc == 2) {
+ w = strtoul(argv[1], NULL, 16);
+ retval = exists(conn, w) ? 0 : 1;
+ }
+
for (c=2; argv[c]; c++) {
w = strtoul(argv[c], NULL, 16);
t@@ -75,19 +80,13 @@ main(int argc, char **argv)
switch (argv[1][i]) {
case 'i': printf("0x%08x", w);
break;
- case 'b': printf("%d", getattribute(w, ATTR_B));
- break;
- case 'h': printf("%d", getattribute(w, ATTR_H));
- break;
- case 'x': printf("%d", getattribute(w, ATTR_X));
- break;
- case 'y': printf("%d", getattribute(w, ATTR_Y));
- break;
- case 'w': printf("%d", getattribute(w, ATTR_W));
- break;
- case 'o': ignore(conn, w) ? exit(0) : exit(1);
- case 'm': mapped(conn, w) ? exit(0) : exit(1);
- default : exists(conn, w) ? exit(0) : exit(1);
+ case 'b': printf("%d", getattribute(w, ATTR_B));break;
+ case 'h': printf("%d", getattribute(w, ATTR_H));break;
+ case 'x': printf("%d", getattribute(w, ATTR_X));break;
+ case 'y': printf("%d", getattribute(w, ATTR_Y));break;
+ case 'w': printf("%d", getattribute(w, ATTR_W));break;
+ case 'o': retval = ignore(conn, w) ? 0 : 1;
+ case 'm': retval = mapped(conn, w) ? 0 : 1;
}
/* add a space if more attribute come after */
putc(i+1 < strlen(argv[1]) ? ' ' : '\n',stdout);
t@@ -96,5 +95,5 @@ main(int argc, char **argv)
kill_xcb(&conn);
- return 0;
+ return retval;
}