diff options
author | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-06-03 19:59:32 +0000 |
---|---|---|
committer | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-06-03 19:59:32 +0000 |
commit | 496988052f0ac6c21bfeb10879f61931a647d759 (patch) | |
tree | 372b193b5599e8cde12c36ed17de86e51fd3a965 /main.c | |
parent | ad3850590fb4cb0ca3e9ffdafb8f6c8b95a0e2b6 (diff) | |
download | dzen-496988052f0ac6c21bfeb10879f61931a647d759.tar.gz dzen-496988052f0ac6c21bfeb10879f61931a647d759.zip |
fixed xinerama geometry checking, thanks david
git-svn-id: http://dzen.googlecode.com/svn/trunk@61 f2baff5b-bf2c-0410-a398-912abdc3d8b2
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -169,7 +169,10 @@ x_draw_body(void) { static void x_check_geometry(XRectangle si) { - if(dzen.title_win.x > si.width) + dzen.title_win.x += si.x; + dzen.title_win.y += si.y; + + if(dzen.title_win.x > si.x + si.width) dzen.title_win.x = si.x; if (dzen.title_win.x < si.x) dzen.title_win.x = si.x; @@ -179,26 +182,24 @@ x_check_geometry(XRectangle si) { if((dzen.title_win.x + dzen.title_win.width) > (si.x + si.width)) dzen.title_win.width = si.width - (dzen.title_win.x - si.x); - if(!dzen.slave_win.width) { dzen.slave_win.x = si.x; dzen.slave_win.width = si.width; } if( dzen.title_win.width == dzen.slave_win.width) { dzen.slave_win.x = dzen.title_win.x; - dzen.slave_win.width = dzen.title_win.width; } if(dzen.slave_win.width != si.width) { dzen.slave_win.x = dzen.title_win.x + (dzen.title_win.width - dzen.slave_win.width)/2; if(dzen.slave_win.x < si.x) dzen.slave_win.x = si.x; - if(dzen.slave_win.width > si.width) - dzen.slave_win.width = si.width; - if(dzen.slave_win.x + dzen.slave_win.width > si.width) + if(dzen.slave_win.x + dzen.slave_win.width > si.x + si.width) dzen.slave_win.x = si.x + (si.width - dzen.slave_win.width); } dzen.line_height = dzen.font.height + 2; - dzen.title_win.y = si.y + ((dzen.title_win.y + dzen.line_height) > si.height ? 0 : dzen.title_win.y); + + if (dzen.title_win.y + dzen.line_height > si.y + si.height) + dzen.title_win.y = 0; } static void @@ -276,7 +277,7 @@ x_create_windows(void) { dzen.slave_win.issticky = False; dzen.slave_win.y = dzen.title_win.y + dzen.line_height; - if(dzen.title_win.y + dzen.line_height*dzen.slave_win.max_lines > si.height) + if(dzen.title_win.y + dzen.line_height*dzen.slave_win.max_lines > si.y + si.height) dzen.slave_win.y = (dzen.title_win.y - dzen.line_height) - dzen.line_height*(dzen.slave_win.max_lines) + dzen.line_height; dzen.slave_win.win = XCreateWindow(dzen.dpy, root, |