From 433cf0a7cbd857524a086aa2d2e5b9553e86298e Mon Sep 17 00:00:00 2001 From: Marco Peereboom Date: Wed, 14 Jan 2009 07:00:38 +0000 Subject: [PATCH] Add alt-b for toggling tool bar. One little bug leftover when switching between ws and toggling the bar. --- scrotwm.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/scrotwm.c b/scrotwm.c index c672715..0d4fc1e 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -155,6 +155,9 @@ bar_print(void) time_t tmt; struct tm tm; + if (bar_enabled == 0) + return; + /* clear old text */ XSetForeground(display, bar_gc, 0x000000); XDrawString(display, bar_window, bar_gc, 4, bar_fs->ascent, bar_text, @@ -180,6 +183,26 @@ bar_signal(int sig) } void +bar_toggle(union arg *args) +{ + DNPRINTF(SWM_D_MISC, "bar_toggle\n"); + + if (bar_enabled) { + bar_enabled = 0; + height += bar_height; /* correct screen height */ + XUnmapWindow(display, bar_window); + } else { + bar_enabled = 1; + height -= bar_height; /* correct screen height */ + XMapWindow(display, bar_window); + } + XSync(display, False); + + stack(); + bar_print(); /* must be after stack */ +} + +void quit(union arg *args) { DNPRINTF(SWM_D_MISC, "quit\n"); @@ -325,7 +348,7 @@ stack(void) hrh = 0; x = 0; - y = bar_height; + y = bar_enabled ? bar_height : 0; h = height; i = 0; TAILQ_FOREACH (win, &ws[current_ws].winlist, entry) { @@ -419,7 +442,6 @@ send_to_ws(union arg *args) stack(); } - /* terminal + args */ char *term[] = { "xterm", NULL }; @@ -455,6 +477,7 @@ struct key { { MODKEY | ShiftMask, XK_8, send_to_ws, {.id = 7} }, { MODKEY | ShiftMask, XK_9, send_to_ws, {.id = 8} }, { MODKEY | ShiftMask, XK_0, send_to_ws, {.id = 9} }, + { MODKEY, XK_b, bar_toggle, {0} }, { MODKEY, XK_Tab, focus, {.id = SWM_ARG_ID_FOCUSNEXT} }, { MODKEY | ShiftMask, XK_Tab, focus, {.id = SWM_ARG_ID_FOCUSPREV} }, }; -- 1.7.10.4