aboutsummaryrefslogtreecommitdiffstats
path: root/action.c
diff options
context:
space:
mode:
authorgotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2007-07-06 06:04:23 +0000
committergotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2007-07-06 06:04:23 +0000
commitea9797f1105ed972147e3dc81f0b49090d0d88b6 (patch)
treeae9bcebfe01249be9eae45869eb2eba260500d5f /action.c
parent445d958902177390320e2d5bc384e7fb47afdeaf (diff)
downloaddzen-ea9797f1105ed972147e3dc81f0b49090d0d88b6.tar.gz
dzen-ea9797f1105ed972147e3dc81f0b49090d0d88b6.zip
added actions:
togglecollapse togglehide a_collapse: removed unmapping of each subwindow git-svn-id: http://dzen.googlecode.com/svn/trunk@118 f2baff5b-bf2c-0410-a398-912abdc3d8b2
Diffstat (limited to 'action.c')
-rw-r--r--action.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/action.c b/action.c
index d5eaa93..7acf87a 100644
--- a/action.c
+++ b/action.c
@@ -36,11 +36,13 @@ struct action_lookup ac_lookup_table[] = {
{ "exit", a_exit},
{ "collapse", a_collapse},
{ "uncollapse", a_uncollapse},
+ { "togglecollapse", a_togglecollapse},
{ "stick", a_stick},
{ "unstick", a_unstick},
{ "togglestick", a_togglestick},
{ "hide", a_hide},
{ "unhide", a_unhide},
+ { "togglehide", a_togglehide},
{ "scrollup", a_scrollup},
{ "scrolldown", a_scrolldown},
{ "menuprint", a_menuprint},
@@ -265,8 +267,6 @@ a_collapse(char * opt[]){
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);
}
return 0;
@@ -286,13 +286,19 @@ a_uncollapse(char * opt[]){
return 0;
}
-#if 0
-static int
+int
a_togglecollapse(char * opt[]){
+ XWindowAttributes wa;
(void)opt;
+
+ if(dzen.slave_win.max_lines &&
+ (XGetWindowAttributes(dzen.dpy, dzen.slave_win.win, &wa), wa.map_state == IsUnmapped))
+ a_uncollapse(NULL);
+ else
+ a_collapse(NULL);
+
return 0;
}
-#endif
int
a_stick(char * opt[]) {
@@ -393,6 +399,17 @@ a_unhide(char * opt[]) {
}
int
+a_togglehide(char * opt[]) {
+ (void)opt;
+
+ dzen.title_win.ishidden ?
+ a_unhide(NULL) :
+ a_hide(NULL);
+
+ return 0;
+}
+
+int
a_exec(char * opt[]) {
int i;