aboutsummaryrefslogtreecommitdiffstats
path: root/action.c
diff options
context:
space:
mode:
authorgotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2007-06-05 17:18:29 +0000
committergotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2007-06-05 17:18:29 +0000
commit70da25bb9ab1cc3a3a7a6dcd304e9151d91c50ea (patch)
tree957aaa3fa1cb20555d53245703859fbabcf731db /action.c
parent870ab3dee3e716ab8827027a6cb9dcb0a2ef47a3 (diff)
downloaddzen-70da25bb9ab1cc3a3a7a6dcd304e9151d91c50ea.tar.gz
dzen-70da25bb9ab1cc3a3a7a6dcd304e9151d91c50ea.zip
fixed strtol in main, must be strtoul
added horizontal menu functionality git-svn-id: http://dzen.googlecode.com/svn/trunk@67 f2baff5b-bf2c-0410-a398-912abdc3d8b2
Diffstat (limited to 'action.c')
-rw-r--r--action.c73
1 files changed, 40 insertions, 33 deletions
diff --git a/action.c b/action.c
index e74cddf..7adbcca 100644
--- a/action.c
+++ b/action.c
@@ -186,7 +186,9 @@ int
int
a_collapse(char * opt[]){
int i;
- if(dzen.slave_win.max_lines && !dzen.slave_win.issticky) {
+ if(!dzen.slave_win.ishmenu
+ && dzen.slave_win.max_lines
+ && !dzen.slave_win.issticky) {
for(i=0; i < dzen.slave_win.max_lines; i++)
XUnmapWindow(dzen.dpy, dzen.slave_win.line[i]);
XUnmapWindow(dzen.dpy, dzen.slave_win.win);
@@ -197,10 +199,12 @@ a_collapse(char * opt[]){
int
a_uncollapse(char * opt[]){
int i;
- if(dzen.slave_win.max_lines && !dzen.slave_win.issticky) {
+ if(!dzen.slave_win.ishmenu
+ && dzen.slave_win.max_lines
+ && !dzen.slave_win.issticky) {
XMapRaised(dzen.dpy, dzen.slave_win.win);
for(i=0; i < dzen.slave_win.max_lines; i++)
- XMapRaised(dzen.dpy, dzen.slave_win.line[i]);
+ XMapWindow(dzen.dpy, dzen.slave_win.line[i]);
}
return 0;
}
@@ -211,44 +215,47 @@ a_togglecollapse(char * opt[]){
}
int
- a_stick(char * opt[]) {
- if(dzen.slave_win.max_lines)
- dzen.slave_win.issticky = True;
- return 0;
- }
+a_stick(char * opt[]) {
+ if(!dzen.slave_win.ishmenu
+ && dzen.slave_win.max_lines)
+ dzen.slave_win.issticky = True;
+ return 0;
+}
int
- a_unstick(char * opt[]) {
- if(dzen.slave_win.max_lines)
- dzen.slave_win.issticky = False;
- return 0;
- }
+a_unstick(char * opt[]) {
+ if(!dzen.slave_win.ishmenu
+ && dzen.slave_win.max_lines)
+ dzen.slave_win.issticky = False;
+ return 0;
+}
int
- a_togglestick(char * opt[]) {
- if(dzen.slave_win.max_lines)
- dzen.slave_win.issticky = dzen.slave_win.issticky ? False : True;
- return 0;
+a_togglestick(char * opt[]) {
+ if(!dzen.slave_win.ishmenu
+ && dzen.slave_win.max_lines)
+ dzen.slave_win.issticky = dzen.slave_win.issticky ? False : True;
+ return 0;
}
static int
- scroll(int n) {
- if(dzen.slave_win.tcnt <= dzen.slave_win.max_lines)
- return;
- if(dzen.slave_win.first_line_vis + n < 0) {
- dzen.slave_win.first_line_vis = 0;
- dzen.slave_win.last_line_vis = dzen.slave_win.max_lines;
- }
- else if(dzen.slave_win.last_line_vis + n > dzen.slave_win.tcnt) {
- dzen.slave_win.first_line_vis = dzen.slave_win.tcnt - dzen.slave_win.max_lines;
- dzen.slave_win.last_line_vis = dzen.slave_win.tcnt;
- } else {
- dzen.slave_win.first_line_vis += n;
- dzen.slave_win.last_line_vis += n;
- }
-
- x_draw_body();
+scroll(int n) {
+ if(dzen.slave_win.tcnt <= dzen.slave_win.max_lines)
+ return;
+ if(dzen.slave_win.first_line_vis + n < 0) {
+ dzen.slave_win.first_line_vis = 0;
+ dzen.slave_win.last_line_vis = dzen.slave_win.max_lines;
}
+ else if(dzen.slave_win.last_line_vis + n > dzen.slave_win.tcnt) {
+ dzen.slave_win.first_line_vis = dzen.slave_win.tcnt - dzen.slave_win.max_lines;
+ dzen.slave_win.last_line_vis = dzen.slave_win.tcnt;
+ } else {
+ dzen.slave_win.first_line_vis += n;
+ dzen.slave_win.last_line_vis += n;
+ }
+
+ x_draw_body();
+}
int
a_scrollup(char * opt[]) {