diff options
author | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-07-06 06:04:23 +0000 |
---|---|---|
committer | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-07-06 06:04:23 +0000 |
commit | ea9797f1105ed972147e3dc81f0b49090d0d88b6 (patch) | |
tree | ae9bcebfe01249be9eae45869eb2eba260500d5f /action.c | |
parent | 445d958902177390320e2d5bc384e7fb47afdeaf (diff) | |
download | dzen-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.c | 27 |
1 files changed, 22 insertions, 5 deletions
@@ -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; |