diff options
| author | B. Watson <urchlay@slackware.uk> | 2024-02-01 03:44:35 -0500 | 
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2024-02-01 03:44:35 -0500 | 
| commit | a5ce3ca8d6d44053f9f6c78bb3ac1edbf06bea45 (patch) | |
| tree | 5d7437f798843eecd752ee2b769ff01fda030a1e | |
| parent | e4f6edddad6a9a9d948ea28e3c002e49241fa253 (diff) | |
| download | xdeadzone-a5ce3ca8d6d44053f9f6c78bb3ac1edbf06bea45.tar.gz | |
Add black/white/invisible modes.
| -rw-r--r-- | xdeadzone.c | 28 | 
1 files changed, 25 insertions, 3 deletions
| diff --git a/xdeadzone.c b/xdeadzone.c index 6ec1e10..a0398a8 100644 --- a/xdeadzone.c +++ b/xdeadzone.c @@ -68,7 +68,7 @@ int main(int argc, char **argv) {  	XWindowAttributes attr;  	XSetWindowAttributes setattr; -	int x = -1, y = -1, gflags; +	int x = -1, y = -1, gflags, visible = 0, black = 0;  	unsigned int width, height;  	set_exe_name(argv[0]); @@ -82,6 +82,24 @@ int main(int argc, char **argv) {  		}  	} +	if(argc >= 2) { +		if(streq(argv[1], "-b")) { +			visible = 1; +			black = 1; +			argv++; +			argc--; +		} else if(streq(argv[1], "-w")) { +			visible = 1; +			black = 0; +			argv++; +			argc--; +		} else if(streq(argv[1], "-i")) { +			visible = 0; +			argv++; +			argc--; +		} +	} +  	if(argc != 3)  		errmsg("wrong number of arguments (try --help)"); @@ -129,7 +147,11 @@ int main(int argc, char **argv) {  		right?  	 */  	setattr.override_redirect = True; -	setattr.background_pixel = WhitePixel(d, DefaultScreen(d)); +	if(visible) { +		setattr.background_pixel = black ? +			BlackPixel(d, DefaultScreen(d)) : +			WhitePixel(d, DefaultScreen(d)); +	}  	setattr.event_mask = EnterWindowMask;  	w = XCreateWindow(d, @@ -138,7 +160,7 @@ int main(int argc, char **argv) {  			CopyFromParent,  			InputOutput,  			CopyFromParent, -			CWBackPixel | CWOverrideRedirect | CWEventMask, +			(visible ? CWBackPixel : 0) | CWOverrideRedirect | CWEventMask,  			&setattr);  	DBG(printf("window created\n")); | 
