aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2022-06-17 10:01:10 +0100
committerThomas Adam <thomas@xteddy.org>2022-06-17 10:01:10 +0100
commit8ff3091d1677159150dee3791cd244029b9f47d3 (patch)
treefd98727b4e5ebdce8951dd114c75f2774b2fdb76
parent89fe2680a9fdbdda3674851e61fd96c76ea923c2 (diff)
parentd9f84854ac01c8d4f6d5507e88d1dc7bcdd99558 (diff)
downloadrtmux-8ff3091d1677159150dee3791cd244029b9f47d3.tar.gz
rtmux-8ff3091d1677159150dee3791cd244029b9f47d3.tar.bz2
rtmux-8ff3091d1677159150dee3791cd244029b9f47d3.zip
Merge branch 'obsd-master'
-rw-r--r--options.c15
-rw-r--r--tmux.h1
-rw-r--r--window.c15
3 files changed, 20 insertions, 11 deletions
diff --git a/options.c b/options.c
index f9cf2afd..fef5637e 100644
--- a/options.c
+++ b/options.c
@@ -1106,7 +1106,6 @@ options_push_changes(const char *name)
struct session *s;
struct window *w;
struct window_pane *wp;
- int c;
log_debug("%s: %s", __func__, name);
@@ -1119,18 +1118,12 @@ options_push_changes(const char *name)
}
}
if (strcmp(name, "cursor-colour") == 0) {
- RB_FOREACH(wp, window_pane_tree, &all_window_panes) {
- c = options_get_number(wp->options, name);
- wp->screen->default_ccolour = c;
- }
+ RB_FOREACH(wp, window_pane_tree, &all_window_panes)
+ window_pane_default_cursor(wp);
}
if (strcmp(name, "cursor-style") == 0) {
- RB_FOREACH(wp, window_pane_tree, &all_window_panes) {
- wp->screen->default_mode = 0;
- screen_set_cursor_style(options_get_number(wp->options,
- name), &wp->screen->default_cstyle,
- &wp->screen->default_mode);
- }
+ RB_FOREACH(wp, window_pane_tree, &all_window_panes)
+ window_pane_default_cursor(wp);
}
if (strcmp(name, "fill-character") == 0) {
RB_FOREACH(w, windows, &windows)
diff --git a/tmux.h b/tmux.h
index c8061da5..b21a3066 100644
--- a/tmux.h
+++ b/tmux.h
@@ -2999,6 +2999,7 @@ void *window_pane_get_new_data(struct window_pane *,
void window_pane_update_used_data(struct window_pane *,
struct window_pane_offset *, size_t);
void window_set_fill_character(struct window *);
+void window_pane_default_cursor(struct window_pane *);
/* layout.c */
u_int layout_count_cells(struct layout_cell *);
diff --git a/window.c b/window.c
index c0cd9bdc..f689f01d 100644
--- a/window.c
+++ b/window.c
@@ -940,6 +940,7 @@ window_pane_create(struct window *w, u_int sx, u_int sy, u_int hlimit)
screen_init(&wp->base, sx, sy, hlimit);
wp->screen = &wp->base;
+ window_pane_default_cursor(wp);
screen_init(&wp->status_screen, 1, 1, 0);
@@ -1618,3 +1619,17 @@ window_set_fill_character(struct window *w)
w->fill_character = ud;
}
}
+
+void
+window_pane_default_cursor(struct window_pane *wp)
+{
+ struct screen *s = wp->screen;
+ int c;
+
+ c = options_get_number(wp->options, "cursor-colour");
+ s->default_ccolour = c;
+
+ c = options_get_number(wp->options, "cursor-style");
+ s->default_mode = 0;
+ screen_set_cursor_style(c, &s->default_cstyle, &s->default_mode);
+}