aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2007-12-25 15:07:19 +0000
committergotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2007-12-25 15:07:19 +0000
commitd2a1cacde6d121f268f965ba96d5d58ad1d723f4 (patch)
treeae98afa5940332b6c1b24e21bbb5cdb949b686d2
parent6781f4a22d1a43b9b40c4e40c9299db332d43062 (diff)
downloaddzen-d2a1cacde6d121f268f965ba96d5d58ad1d723f4.tar.gz
dzen-d2a1cacde6d121f268f965ba96d5d58ad1d723f4.zip
fixed '-expand l' to take the '-x' position as the right corner of the
window git-svn-id: http://dzen.googlecode.com/svn/trunk@179 f2baff5b-bf2c-0410-a398-912abdc3d8b2
-rw-r--r--draw.c2
-rw-r--r--main.c12
2 files changed, 11 insertions, 3 deletions
diff --git a/draw.c b/draw.c
index cc7907e..da897e8 100644
--- a/draw.c
+++ b/draw.c
@@ -611,7 +611,7 @@ parse_line(const char *line, int lnr, int align, int reverse, int nodraw) {
switch(dzen.title_win.expand) {
case left:
/* grow left end */
- otx = dzen.title_win.x_right_corner - i > 0 ?
+ otx = dzen.title_win.x_right_corner - i > dzen.title_win.x ?
dzen.title_win.x_right_corner - i : dzen.title_win.x;
XMoveResizeWindow(dzen.dpy, dzen.title_win.win, otx, dzen.title_win.y, px, dzen.line_height);
break;
diff --git a/main.c b/main.c
index 3877243..29d6257 100644
--- a/main.c
+++ b/main.c
@@ -226,11 +226,18 @@ x_check_geometry(XRectangle si) {
if (dzen.title_win.x < si.x)
dzen.title_win.x = si.x;
- if(!dzen.title_win.width)
+ if(!dzen.title_win.width && dzen.title_win.expand != left)
dzen.title_win.width = si.width;
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.title_win.expand == left) {
+ dzen.title_win.x_right_corner = dzen.title_win.width ? dzen.title_win.width+si.x : dzen.title_win.x;
+ dzen.title_win.width = dzen.title_win.x - si.x;
+ dzen.title_win.x = si.x;
+ }
+
if(!dzen.slave_win.width) {
dzen.slave_win.x = si.x;
dzen.slave_win.width = si.width;
@@ -238,6 +245,7 @@ x_check_geometry(XRectangle si) {
if( dzen.title_win.width == dzen.slave_win.width) {
dzen.slave_win.x = dzen.title_win.x;
}
+
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)
@@ -891,7 +899,7 @@ main(int argc, char *argv[]) {
x_create_windows();
- dzen.title_win.x_right_corner = dzen.title_win.x + dzen.title_win.width;
+ //dzen.title_win.x_right_corner = dzen.title_win.x + dzen.title_win.width;
if(!dzen.slave_win.ishmenu)
x_map_window(dzen.title_win.win);