From 9d42d81a58a767d51cffc964fa8b3320f4094e11 Mon Sep 17 00:00:00 2001 From: gotmor Date: Tue, 27 Nov 2007 12:04:24 +0000 Subject: added -geometry option, allows relative positioning git-svn-id: http://dzen.googlecode.com/svn/trunk@170 f2baff5b-bf2c-0410-a398-912abdc3d8b2 --- main.c | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 469f431..4b69079 100644 --- a/main.c +++ b/main.c @@ -212,8 +212,14 @@ x_draw_body(void) { static void x_check_geometry(XRectangle si) { - dzen.title_win.x += si.x; - dzen.title_win.y += si.y; + + dzen.title_win.x = dzen.title_win.x < 0 ? + si.width + dzen.title_win.x + si.x : + dzen.title_win.x + si.x; + dzen.title_win.y = dzen.title_win.y < 0 ? + si.height + dzen.title_win.y + si.y : + dzen.title_win.y + si.x; + if(dzen.title_win.x > si.x + si.width) dzen.title_win.x = si.x; @@ -500,7 +506,7 @@ handle_xev(void) { if(ev.xcrossing.window == dzen.slave_win.line[i]) x_hilight_line(i); } - if(!dzen.slave_win.ishmenu +if(!dzen.slave_win.ishmenu && ev.xcrossing.window == dzen.title_win.win) do_action(entertitle); if(ev.xcrossing.window == dzen.slave_win.win) @@ -710,6 +716,23 @@ main(int argc, char *argv[]) { init_input_buffer(); } } + else if(!strncmp(argv[i], "-geometry", 8)) { + if(++i < argc) { + int t; + unsigned int tx, ty, tw, th; + + t = XParseGeometry(argv[i], &tx, &ty, &tw, &th); + + if(t & XValue) + dzen.title_win.x = (signed int) tx; + if(t & YValue) + dzen.title_win.y = (signed int) ty; + if(t & WidthValue) + dzen.title_win.width = (signed int) tw; + if(t & HeightValue) + dzen.line_height = (signed int) th; + } + } else if(!strncmp(argv[i], "-u", 3)){ dzen.tsupdate = True; } @@ -770,7 +793,7 @@ main(int argc, char *argv[]) { eprint("dzen-"VERSION", (C)opyright 2007 Robert Manea\n"); else eprint("usage: dzen2 [-v] [-p [seconds]] [-m [v|h]] [-ta ] [-sa ]\n" - " [-x ] [-y ] [-w ] [-tw ] [-u] \n" + " [-geometry ] [-x ] [-y ] [-w ] [-tw ] [-u] \n" " [-e ] [-l ] [-fn ] [-bg ] [-fg ]\n" #ifdef DZEN_XINERAMA " [-xs ]\n" -- cgit v1.2.3-54-g00ecf