aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorgotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2008-01-11 18:49:45 +0000
committergotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2008-01-11 18:49:45 +0000
commitbcecfb1a318af0cfc1f91943393076027f9e676f (patch)
tree622334c258bae8ed3b85d294f2f8b570de6b9279 /main.c
parent25fd538ad6a1e8102d46268bbdbe3f0b53645341 (diff)
downloaddzen-bcecfb1a318af0cfc1f91943393076027f9e676f.tar.gz
dzen-bcecfb1a318af0cfc1f91943393076027f9e676f.zip
allow ^p() and ^pa() to set both X and Y positions in a line
git-svn-id: http://dzen.googlecode.com/svn/trunk@195 f2baff5b-bf2c-0410-a398-912abdc3d8b2
Diffstat (limited to 'main.c')
-rw-r--r--main.c69
1 files changed, 41 insertions, 28 deletions
diff --git a/main.c b/main.c
index 29d6257..e5e8e83 100644
--- a/main.c
+++ b/main.c
@@ -226,16 +226,17 @@ x_check_geometry(XRectangle si) {
if (dzen.title_win.x < si.x)
dzen.title_win.x = si.x;
- if(!dzen.title_win.width && dzen.title_win.expand != left)
+ if(!dzen.title_win.width)
dzen.title_win.width = si.width;
- if((dzen.title_win.x + dzen.title_win.width) > (si.x + si.width))
+ if((dzen.title_win.x + dzen.title_win.width) > (si.x + si.width) && (dzen.title_win.expand != left))
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;
+ dzen.title_win.x_right_corner = dzen.title_win.x + dzen.title_win.width;
+ //dzen.title_win.width = dzen.title_win.width ? dzen.title_win.width : dzen.title_win.x_right_corner - si.x;
+ dzen.title_win.x = dzen.title_win.width ? dzen.title_win.x_right_corner - dzen.title_win.width : si.x;
+ printf("si.x=%d dzen.title_win.width=%d dzen.title_win.x=%d dzen.title_win.x_right_corner=%d\n", si.x, dzen.title_win.width, dzen.title_win.x, dzen.title_win.x_right_corner);
}
if(!dzen.slave_win.width) {
@@ -508,6 +509,10 @@ x_redraw(XEvent e) {
0, 0, dzen.slave_win.width, dzen.line_height, 0, 0);
}
}
+ /*
+ if(dzen.sa_win)
+ XMapWindow(dzen.dpy, dzen.sa_win);
+ */
}
static void
@@ -529,7 +534,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)
@@ -554,28 +559,36 @@ if(!dzen.slave_win.ishmenu
if(ev.xbutton.window == dzen.slave_win.line[i])
dzen.slave_win.sel_line = i;
}
- switch(ev.xbutton.button) {
- case Button1:
- do_action(button1);
- break;
- case Button2:
- do_action(button2);
- break;
- case Button3:
- do_action(button3);
- break;
- case Button4:
- do_action(button4);
- break;
- case Button5:
- do_action(button5);
- break;
- case Button6:
- do_action(button6);
- break;
- case Button7:
- do_action(button7);
- break;
+ /*
+ else if(ev.xbutton.window == dzen.sa_win) {
+ printf("Button press in sensitive area\n");
+ fflush(stdout);
+ }
+ */
+ else {
+ switch(ev.xbutton.button) {
+ case Button1:
+ do_action(button1);
+ break;
+ case Button2:
+ do_action(button2);
+ break;
+ case Button3:
+ do_action(button3);
+ break;
+ case Button4:
+ do_action(button4);
+ break;
+ case Button5:
+ do_action(button5);
+ break;
+ case Button6:
+ do_action(button6);
+ break;
+ case Button7:
+ do_action(button7);
+ break;
+ }
}
break;
case KeyPress: