diff options
author | Jari Vetoniemi <mailroxas@gmail.com> | 2015-01-18 01:38:25 +0200 |
---|---|---|
committer | Jari Vetoniemi <mailroxas@gmail.com> | 2015-01-18 01:38:25 +0200 |
commit | f2eaf599f6bb585d1a4921f37a073ed09c619de9 (patch) | |
tree | 38b825d2e23694856c5f8a8b38ee499b30fecd50 /lib | |
parent | 9c541d0b4261acd656171a03e6bfd2719f91286d (diff) | |
download | bemenu-f2eaf599f6bb585d1a4921f37a073ed09c619de9.tar.gz bemenu-f2eaf599f6bb585d1a4921f37a073ed09c619de9.tar.bz2 bemenu-f2eaf599f6bb585d1a4921f37a073ed09c619de9.zip |
Change default scrollbar style and make colors configurable
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bemenu.h | 2 | ||||
-rw-r--r-- | lib/menu.c | 4 | ||||
-rw-r--r-- | lib/renderers/cairo.h | 7 | ||||
-rw-r--r-- | lib/renderers/curses/curses.c | 3 |
4 files changed, 10 insertions, 6 deletions
diff --git a/lib/bemenu.h b/lib/bemenu.h index 490132f..b5598d0 100644 --- a/lib/bemenu.h +++ b/lib/bemenu.h @@ -196,6 +196,8 @@ enum bm_color { BM_COLOR_HIGHLIGHTED_FG, BM_COLOR_SELECTED_BG, BM_COLOR_SELECTED_FG, + BM_COLOR_SCROLLBAR_BG, + BM_COLOR_SCROLLBAR_FG, BM_COLOR_LAST }; @@ -25,7 +25,9 @@ static const char *default_colors[BM_COLOR_LAST] = { "#121212", // BM_COLOR_HIGHLIGHTED_BG "#D81860", // BM_COLOR_HIGHLIGHTED_FG "#121212", // BM_COLOR_SELECTED_BG - "#D81860" // BM_COLOR_SELECTED_FG + "#D81860", // BM_COLOR_SELECTED_FG + "#121212", // BM_COLOR_SCROLLBAR_BG + "#D81860", // BM_COLOR_SCROLLBAR_FG }; /** diff --git a/lib/renderers/cairo.h b/lib/renderers/cairo.h index c135a51..1a4f7c2 100644 --- a/lib/renderers/cairo.h +++ b/lib/renderers/cairo.h @@ -252,16 +252,17 @@ bm_cairo_paint(struct cairo *cairo, uint32_t width, uint32_t height, uint32_t ma } if (menu->scrollbar && count > 0) { + bm_cairo_color_from_menu_color(menu, BM_COLOR_SCROLLBAR_BG, &paint.bg); + bm_cairo_color_from_menu_color(menu, BM_COLOR_SCROLLBAR_FG, &paint.fg); + uint32_t sheight = out_result->height - titleh; - bm_cairo_color_from_menu_color(menu, BM_COLOR_TITLE_FG, &paint.bg); cairo_set_source_rgba(cairo->cr, paint.bg.r, paint.bg.b, paint.bg.g, paint.bg.a); cairo_rectangle(cairo->cr, 0, titleh, 2, sheight); cairo_fill(cairo->cr); uint32_t size = sheight / lines; uint32_t percent = (menu->index / (float)(count - 1)) * (sheight - size); - bm_cairo_color_from_menu_color(menu, BM_COLOR_BG, &paint.bg); - cairo_set_source_rgba(cairo->cr, paint.bg.r, paint.bg.b, paint.bg.g, paint.bg.a); + cairo_set_source_rgba(cairo->cr, paint.fg.r, paint.fg.b, paint.fg.g, paint.fg.a); cairo_rectangle(cairo->cr, 0, titleh + percent, 2, size); cairo_fill(cairo->cr); } diff --git a/lib/renderers/curses/curses.c b/lib/renderers/curses/curses.c index bab031b..852eb88 100644 --- a/lib/renderers/curses/curses.c +++ b/lib/renderers/curses/curses.c @@ -207,8 +207,7 @@ render(const struct bm_menu *menu) if (menu->scrollbar) { attron(COLOR_PAIR(1)); uint32_t percent = (menu->index / (float)(count - 1)) * (displayed - 1); - for (uint32_t i = 0; i < displayed; ++i) - mvprintw(1 + i, 0, (i == percent ? "█" : "▒")); + mvprintw(1 + percent, 0, "▒"); attroff(COLOR_PAIR(1)); } } |