summaryrefslogtreecommitdiff
path: root/src/gui/curses
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2011-06-29 10:33:08 +0200
committerSebastien Helleu <flashcode@flashtux.org>2011-06-29 10:33:08 +0200
commit0f5b4dbecbbcc413edbda5d0c3decefaf03683d2 (patch)
tree38387372b0f5ecf8e5b28d55a661c9c106761923 /src/gui/curses
parent56a39bc8c8f670801117b6c3851caf46ed34d264 (diff)
downloadweechat-0f5b4dbecbbcc413edbda5d0c3decefaf03683d2.zip
core: add new option weechat.look.separator_vertical, rename option weechat.look.hline_char to weechat.look.separator_horizontal
Diffstat (limited to 'src/gui/curses')
-rw-r--r--src/gui/curses/gui-curses-bar-window.c31
-rw-r--r--src/gui/curses/gui-curses-window.c14
2 files changed, 31 insertions, 14 deletions
diff --git a/src/gui/curses/gui-curses-bar-window.c b/src/gui/curses/gui-curses-bar-window.c
index e6417ddf6..d96f925fb 100644
--- a/src/gui/curses/gui-curses-bar-window.c
+++ b/src/gui/curses/gui-curses-bar-window.c
@@ -352,7 +352,7 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
int chars_available, index, size;
int length_screen_before_cursor, length_screen_after_cursor;
int diff, max_length, optimal_number_of_lines;
- int some_data_not_displayed, hline_char;
+ int some_data_not_displayed, separator_horizontal, separator_vertical;
if (!gui_init_ok)
return;
@@ -639,40 +639,47 @@ gui_bar_window_draw (struct t_gui_bar_window *bar_window,
if (CONFIG_INTEGER(bar_window->bar->options[GUI_BAR_OPTION_SEPARATOR]))
{
- if (CONFIG_STRING(config_look_hline_char)
- && CONFIG_STRING(config_look_hline_char)[0])
+ separator_horizontal = ACS_HLINE;
+ separator_vertical = ACS_VLINE;
+ if (CONFIG_STRING(config_look_separator_horizontal)
+ && CONFIG_STRING(config_look_separator_horizontal)[0])
{
- hline_char = utf8_char_int (CONFIG_STRING(config_look_hline_char));
- if (hline_char > 127)
- hline_char = ACS_HLINE;
+ separator_horizontal = utf8_char_int (CONFIG_STRING(config_look_separator_horizontal));
+ if (separator_horizontal > 127)
+ separator_horizontal = ACS_HLINE;
+ }
+ if (CONFIG_STRING(config_look_separator_vertical)
+ && CONFIG_STRING(config_look_separator_vertical)[0])
+ {
+ separator_vertical = utf8_char_int (CONFIG_STRING(config_look_separator_vertical));
+ if (separator_vertical > 127)
+ separator_vertical = ACS_VLINE;
}
- else
- hline_char = ACS_HLINE;
switch (CONFIG_INTEGER(bar_window->bar->options[GUI_BAR_OPTION_POSITION]))
{
case GUI_BAR_POSITION_BOTTOM:
gui_window_set_weechat_color (GUI_BAR_WINDOW_OBJECTS(bar_window)->win_separator,
GUI_COLOR_SEPARATOR);
mvwhline (GUI_BAR_WINDOW_OBJECTS(bar_window)->win_separator,
- 0, 0, hline_char, bar_window->width);
+ 0, 0, separator_horizontal, bar_window->width);
break;
case GUI_BAR_POSITION_TOP:
gui_window_set_weechat_color (GUI_BAR_WINDOW_OBJECTS(bar_window)->win_separator,
GUI_COLOR_SEPARATOR);
mvwhline (GUI_BAR_WINDOW_OBJECTS(bar_window)->win_separator,
- 0, 0, hline_char, bar_window->width);
+ 0, 0, separator_horizontal, bar_window->width);
break;
case GUI_BAR_POSITION_LEFT:
gui_window_set_weechat_color (GUI_BAR_WINDOW_OBJECTS(bar_window)->win_separator,
GUI_COLOR_SEPARATOR);
mvwvline (GUI_BAR_WINDOW_OBJECTS(bar_window)->win_separator,
- 0, 0, ACS_VLINE, bar_window->height);
+ 0, 0, separator_vertical, bar_window->height);
break;
case GUI_BAR_POSITION_RIGHT:
gui_window_set_weechat_color (GUI_BAR_WINDOW_OBJECTS(bar_window)->win_separator,
GUI_COLOR_SEPARATOR);
mvwvline (GUI_BAR_WINDOW_OBJECTS(bar_window)->win_separator,
- 0, 0, ACS_VLINE, bar_window->height);
+ 0, 0, separator_vertical, bar_window->height);
break;
case GUI_BAR_NUM_POSITIONS:
break;
diff --git a/src/gui/curses/gui-curses-window.c b/src/gui/curses/gui-curses-window.c
index 2e9e3e1c9..4d808fd02 100644
--- a/src/gui/curses/gui-curses-window.c
+++ b/src/gui/curses/gui-curses-window.c
@@ -942,6 +942,8 @@ gui_window_calculate_pos_size (struct t_gui_window *window)
void
gui_window_draw_separator (struct t_gui_window *window)
{
+ int separator_vertical;
+
if (GUI_WINDOW_OBJECTS(window)->win_separator)
{
delwin (GUI_WINDOW_OBJECTS(window)->win_separator);
@@ -956,8 +958,16 @@ gui_window_draw_separator (struct t_gui_window *window)
window->win_x - 1);
gui_window_set_weechat_color (GUI_WINDOW_OBJECTS(window)->win_separator,
GUI_COLOR_SEPARATOR);
- mvwvline (GUI_WINDOW_OBJECTS(window)->win_separator, 0, 0, ACS_VLINE,
- window->win_height);
+ separator_vertical = ACS_VLINE;
+ if (CONFIG_STRING(config_look_separator_vertical)
+ && CONFIG_STRING(config_look_separator_vertical)[0])
+ {
+ separator_vertical = utf8_char_int (CONFIG_STRING(config_look_separator_vertical));
+ if (separator_vertical > 127)
+ separator_vertical = ACS_VLINE;
+ }
+ mvwvline (GUI_WINDOW_OBJECTS(window)->win_separator, 0, 0,
+ separator_vertical, window->win_height);
wnoutrefresh (GUI_WINDOW_OBJECTS(window)->win_separator);
refresh ();
}