aboutsummaryrefslogtreecommitdiff
path: root/xdeadzone.c
diff options
context:
space:
mode:
Diffstat (limited to 'xdeadzone.c')
-rw-r--r--xdeadzone.c24
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");