diff options
Diffstat (limited to 'xdeadzone.c')
-rw-r--r-- | xdeadzone.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/xdeadzone.c b/xdeadzone.c index 2b38b5e..70d57cd 100644 --- a/xdeadzone.c +++ b/xdeadzone.c @@ -47,8 +47,8 @@ void usage(const int ret) { banner(); printf( "Usage:\n %s " - "<-b | -w | -i> <-n> [-nw | -ne | -sw | -se | -abs] [geometry]\n\n" - " <geometry> is WxH for all modes but -abs, or\n WxH[+-]xpos[+-]ypos for -abs\n", + "[-b | -w ] [ -n ] [ -nw | -ne | -sw | -se ] [geometry]\n\n" + " <geometry> is WxH with -nw/-ne/-sw/-se, or\n WxH[+-]xpos[+-]ypos\n", exe_name); exit(ret); } @@ -59,8 +59,8 @@ void errmsg(const char *msg) { } void check_mode(int mode) { - if(mode != M_UNSET) - errmsg("multiple modes given, only one of -abs -ne -nw -se -sw is allowed"); + if(mode != M_ABS) + errmsg("multiple modes given, only one of -ne -nw -se -sw is allowed"); } int streq(const char *s1, const char *s2) { @@ -84,7 +84,7 @@ int main(int argc, char **argv) { XSetWindowAttributes setattr; XSizeHints hints; - int x = -1, y = -1, gflags = -1, visible = 0, black = 0, mode = M_UNSET, normal_window = 0; + int x = -1, y = -1, gflags = -1, visible = 0, black = 0, mode = M_ABS, normal_window = 0; unsigned int width, height; int new_x, new_y; @@ -105,14 +105,9 @@ int main(int argc, char **argv) { } else if(streq(a, "-w")) { visible = 1; black = 0; - } else if(streq(a, "-i")) { - visible = 0; } else if(streq(a, "-n")) { visible = 1; normal_window = 1; - } else if(streq(a, "-abs")) { - check_mode(mode); - mode = M_ABS; } else if(streq(a, "-ne")) { check_mode(mode); mode = M_NE; @@ -142,12 +137,12 @@ int main(int argc, char **argv) { DBG(printf("XParseGeometry got %d %d %d %d\n", x, y, width, height)); if(mode != M_ABS && (gflags & (XValue | YValue))) - errmsg("bad geometry: X and Y position not allowed without -abs"); + errmsg("bad geometry: X and Y position not allowed with -ne -nw -se -sw"); switch(mode) { case M_ABS: if(!(gflags & (XValue | YValue))) - errmsg("bad geometry: -abs requires X and Y position"); + errmsg("bad geometry: requires X and Y position or -ne -nw -se -sw"); break; case M_NW: x = 0; y = 0; break; @@ -158,15 +153,12 @@ int main(int argc, char **argv) { case M_SE: x = -width; y = -height; break; default: - errmsg("no mode given, one of -abs -ne -nw -se -sw is required"); + errmsg("invalid mode (internal logic error, this should never happen)"); } if(width == 0 || height == 0) errmsg("bad geometry: width and height must be non-zero"); - if(normal_window && !visible) - errmsg("cannot combine -i (invisible) with -n (normal window)"); - if(!(d = XOpenDisplay(NULL))) errmsg("can't open X display"); |