summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2015-01-18 01:38:25 +0200
committerJari Vetoniemi <mailroxas@gmail.com>2015-01-18 01:38:25 +0200
commitf2eaf599f6bb585d1a4921f37a073ed09c619de9 (patch)
tree38b825d2e23694856c5f8a8b38ee499b30fecd50 /lib
parent9c541d0b4261acd656171a03e6bfd2719f91286d (diff)
downloadbemenu-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.h2
-rw-r--r--lib/menu.c4
-rw-r--r--lib/renderers/cairo.h7
-rw-r--r--lib/renderers/curses/curses.c3
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
};
diff --git a/lib/menu.c b/lib/menu.c
index 0b39d83..b816b28 100644
--- a/lib/menu.c
+++ b/lib/menu.c
@@ -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));
}
}