diff options
Diffstat (limited to 'clients/terminal.c')
-rw-r--r-- | clients/terminal.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/clients/terminal.c b/clients/terminal.c index f3646fe3..beec877f 100644 --- a/clients/terminal.c +++ b/clients/terminal.c @@ -465,6 +465,7 @@ struct terminal { double average_width; cairo_scaled_font_t *font_normal, *font_bold; uint32_t hide_cursor_serial; + int size_in_title; struct wl_data_source *selection; uint32_t click_time; @@ -850,6 +851,7 @@ resize_handler(struct widget *widget, widget_set_size(terminal->widget, width, height); if (asprintf(&p, "%s — [%dx%d]", terminal->title, columns, rows) > 0) { window_set_title(terminal->window, p); + terminal->size_in_title = 1; free(p); } } @@ -2740,7 +2742,10 @@ enter_handler(struct widget *widget, struct terminal *terminal = data; /* Reset title to get rid of resizing '[WxH]' in titlebar */ - window_set_title(terminal->window, terminal->title); + if (terminal->size_in_title) { + window_set_title(terminal->window, terminal->title); + terminal->size_in_title = 0; + } return CURSOR_IBEAM; } @@ -2958,8 +2963,9 @@ terminal_run(struct terminal *terminal, const char *path) display_watch_fd(terminal->display, terminal->master, EPOLLIN | EPOLLHUP, &terminal->io_task); - window_set_fullscreen(terminal->window, option_fullscreen); - if (!window_is_fullscreen(terminal->window)) + if (option_fullscreen) + window_set_fullscreen(terminal->window, 1); + else terminal_resize(terminal, 80, 24); return 0; |