From ef3c7d7e0a329e664e36381327f5f0c51429287d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Fri, 3 Jan 2020 19:31:09 +0100 Subject: [PATCH] term: init: don't resize if compositor has already resized us --- terminal.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/terminal.c b/terminal.c index 15da6bc3..6d2f7a04 100644 --- a/terminal.c +++ b/terminal.c @@ -665,22 +665,25 @@ term_init(const struct config *conf, struct fdm *fdm, struct wayland *wayl, term_set_window_title(term, "foot"); - /* Try to use user-configured window dimentions */ - unsigned width = conf->width; - unsigned height = conf->height; + if (term->width == 0 && term->height == 0) { - if (width == -1) { - /* No user-configuration - use 80x24 cells */ - assert(height == -1); - width = 80 * term->cell_width; - height = 24 * term->cell_height; + /* Try to use user-configured window dimentions */ + unsigned width = conf->width; + unsigned height = conf->height; + + if (width == -1) { + /* No user-configuration - use 80x24 cells */ + assert(height == -1); + width = 80 * term->cell_width; + height = 24 * term->cell_height; + } + + /* Don't go below a single cell */ + width = max(width, term->cell_width); + height = max(height, term->cell_height); + render_resize(term, width, height); } - /* Don't go below a single cell */ - width = max(width, term->cell_width); - height = max(height, term->cell_height); - render_resize(term, width, height); - return term; err: