From: Marco Peereboom Date: Thu, 15 Jul 2010 14:03:04 +0000 (+0000) Subject: Add option to put the bar at the bottom of the regions X-Git-Url: https://jasonwoof.com/gitweb/?a=commitdiff_plain;h=1d447f9ef24b3566543e5c0efe0474a911487d26;p=spectrwm.git Add option to put the bar at the bottom of the regions --- diff --git a/scrotwm.1 b/scrotwm.1 index 1342a0b..9d5563a 100644 --- a/scrotwm.1 +++ b/scrotwm.1 @@ -101,6 +101,8 @@ External script that populates additional information in the status bar, such as battery life. .It Cm bar_delay Update frequency, in seconds, of external script that populates the status bar. +.It Cm bar_at_bottom +Place the statusbar at the bottom of each region instead of the top. .It Cm stack_enabled Enable or disable displaying the current stacking algorithm in the status bar. .It Cm clock_enabled diff --git a/scrotwm.c b/scrotwm.c index 97f4c08..b488fd3 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -198,6 +198,7 @@ int bar_version = 0; sig_atomic_t bar_alarm = 0; int bar_delay = 30; int bar_enabled = 1; +int bar_at_bottom = 0; int bar_extra = 1; int bar_extra_running = 0; int bar_verbose = 1; @@ -921,7 +922,7 @@ bar_refresh(void) void bar_setup(struct swm_region *r) { - int i; + int i, x, y; if (bar_fs) { XFreeFont(display, bar_fs); @@ -941,9 +942,11 @@ bar_setup(struct swm_region *r) errx(1, "couldn't create font structure"); bar_height = bar_fs->ascent + bar_fs->descent + 3; + x = X(r); + y = bar_at_bottom ? (Y(r) + HEIGHT(r) - bar_height) : Y(r); r->bar_window = XCreateSimpleWindow(display, - r->s->root, X(r), Y(r), WIDTH(r) - 2, bar_height - 2, + r->s->root, x, y, WIDTH(r) - 2, bar_height - 2, 1, r->s->c[SWM_S_COLOR_BAR_BORDER].color, r->s->c[SWM_S_COLOR_BAR].color); bar_gc = XCreateGC(display, r->bar_window, 0, &bar_gcv); @@ -1880,7 +1883,8 @@ stack(void) { g.w -= 2; g.h -= 2; if (bar_enabled) { - g.y += bar_height; + if(!bar_at_bottom) + g.y += bar_height; g.h -= bar_height; } r->ws->cur_layout->l_stack(r->ws, &g); @@ -3555,7 +3559,8 @@ enum { SWM_S_BAR_DELAY, SWM_S_BAR_ENABLED, SWM_S_STACK_ENABLED, SWM_S_CYCLE_VISIBLE, SWM_S_SS_ENABLED, SWM_S_TERM_WIDTH, SWM_S_TITLE_CLASS_ENABLED, SWM_S_TITLE_NAME_ENABLED, SWM_S_FOCUS_MODE, SWM_S_DISABLE_BORDER, SWM_S_BAR_FONT, - SWM_S_BAR_ACTION, SWM_S_SPAWN_TERM, SWM_S_SS_APP, SWM_S_DIALOG_RATIO + SWM_S_BAR_ACTION, SWM_S_SPAWN_TERM, SWM_S_SS_APP, SWM_S_DIALOG_RATIO, + SWM_S_BAR_AT_BOTTOM }; int @@ -3568,6 +3573,9 @@ setconfvalue(char *selector, char *value, int flags) case SWM_S_BAR_ENABLED: bar_enabled = atoi(value); break; + case SWM_S_BAR_AT_BOTTOM: + bar_at_bottom = atoi(value); + break; case SWM_S_STACK_ENABLED: stack_enabled = atoi(value); break; @@ -3678,6 +3686,7 @@ struct config_option { }; struct config_option configopt[] = { { "bar_enabled", setconfvalue, SWM_S_BAR_ENABLED }, + { "bar_at_bottom", setconfvalue, SWM_S_BAR_AT_BOTTOM }, { "bar_border", setconfcolor, SWM_S_COLOR_BAR_BORDER }, { "bar_color", setconfcolor, SWM_S_COLOR_BAR }, { "bar_font_color", setconfcolor, SWM_S_COLOR_BAR_FONT }, diff --git a/scrotwm.conf b/scrotwm.conf index 1b79c7a..3d7ba7b 100644 --- a/scrotwm.conf +++ b/scrotwm.conf @@ -12,6 +12,7 @@ bar_font_color[1] = rgb:a0/a0/a0 bar_font = -*-terminus-medium-*-*-*-*-*-*-*-*-*-*-* #bar_action = baraction.sh #bar_delay = 1 +#bar_at_bottom = 1 stack_enabled = 1 clock_enabled = 1 #clock_format = %a %b %d %R %Z %Y