From: Michael Stapelberg Date: Fri, 21 Oct 2011 18:59:25 +0000 (+0100) Subject: i3bar: also use the position option when in 'hide' mode X-Git-Tag: 4.1~92^2~14 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=a3b7ba15ed5f43c28f970666261fd02aaeefece0;p=i3%2Fi3 i3bar: also use the position option when in 'hide' mode --- diff --git a/i3bar/include/config.h b/i3bar/include/config.h index 5997b7f1..b914954c 100644 --- a/i3bar/include/config.h +++ b/i3bar/include/config.h @@ -4,14 +4,14 @@ #include "common.h" typedef enum { - DOCKPOS_NONE = 0, - DOCKPOS_TOP, - DOCKPOS_BOT -} dockpos_t; + POS_NONE = 0, + POS_TOP, + POS_BOT +} position_t; typedef struct config_t { int hide_on_modifier; - dockpos_t dockpos; + position_t position; int verbose; struct xcb_color_strings_t colors; int disable_ws; diff --git a/i3bar/src/config.c b/i3bar/src/config.c index 644c623e..caf13029 100644 --- a/i3bar/src/config.c +++ b/i3bar/src/config.c @@ -63,7 +63,7 @@ static int config_string_cb(void *params_, const unsigned char *val, unsigned in if (!strcmp(cur_key, "position")) { DLOG("position = %.*s\n", len, val); - config.dockpos = (len == 3 && !strncmp((const char*)val, "top", strlen("top")) ? DOCKPOS_TOP : DOCKPOS_BOT); + config.position = (len == 3 && !strncmp((const char*)val, "top", strlen("top")) ? POS_TOP : POS_BOT); return 1; } diff --git a/i3bar/src/xcb.c b/i3bar/src/xcb.c index 4e347f57..a9ecc004 100644 --- a/i3bar/src/xcb.c +++ b/i3bar/src/xcb.c @@ -281,7 +281,9 @@ void unhide_bars() { XCB_CONFIG_WINDOW_HEIGHT | XCB_CONFIG_WINDOW_STACK_MODE; values[0] = walk->rect.x; - values[1] = walk->rect.y + walk->rect.h - font_height - 6; + if (config.position == POS_TOP) + values[1] = walk->rect.y; + else values[1] = walk->rect.y + walk->rect.h - font_height - 6; values[2] = walk->rect.w; values[3] = font_height + 6; values[4] = XCB_STACK_MODE_ABOVE; @@ -1305,15 +1307,15 @@ void reconfig_windows() { uint32_t bottom_start_x; uint32_t bottom_end_x; } __attribute__((__packed__)) strut_partial = {0,}; - switch (config.dockpos) { - case DOCKPOS_NONE: + switch (config.position) { + case POS_NONE: break; - case DOCKPOS_TOP: + case POS_TOP: strut_partial.top = font_height + 6; strut_partial.top_start_x = walk->rect.x; strut_partial.top_end_x = walk->rect.x + walk->rect.w; break; - case DOCKPOS_BOT: + case POS_BOT: strut_partial.bottom = font_height + 6; strut_partial.bottom_start_x = walk->rect.x; strut_partial.bottom_end_x = walk->rect.x + walk->rect.w;