From 7c652b67141dcaf284e7da7715433e090be48a34 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Mon, 9 Aug 2021 22:20:55 +0100 Subject: [PATCH] stop jumping down to the bottm on config changes when no font sz changed --- src/bin/termio.c | 10 ++++++---- src/bin/termiointernals.c | 3 +-- src/bin/termiointernals.h | 1 + 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/bin/termio.c b/src/bin/termio.c index 5befd5cb..9f41ea2c 100644 --- a/src/bin/termio.c +++ b/src/bin/termio.c @@ -213,8 +213,7 @@ termio_scroll_delta(Evas_Object *obj, int delta, int by_page) delta *= by; } sd->scroll += delta; - if (delta <= 0 && sd->scroll < 0) - sd->scroll = 0; + if ((delta <= 0) && (sd->scroll < 0)) sd->scroll = 0; termio_smart_update_queue(sd); miniview_position_offset(term_miniview_get(sd->term), -delta, EINA_TRUE); } @@ -365,11 +364,15 @@ _font_size_set(Evas_Object *obj, int size) Termio *sd = evas_object_smart_data_get(obj); Config *config; EINA_SAFETY_ON_NULL_RETURN(sd); + int font_size_scale; config = sd->config; if (size < 5) size = 5; else if (size > 100) size = 100; + font_size_scale = ELM_SCALE_SIZE(size); + if (sd->font_size_scale == font_size_scale) return; + sd->font_size_scale = font_size_scale; if (config) { config->temporary = EINA_TRUE; @@ -3561,8 +3564,7 @@ _smart_pty_change(void *data) EINA_SAFETY_ON_NULL_RETURN(sd); // if scroll to bottom on updates - if (sd->jump_on_change) - sd->scroll = 0; + if (sd->jump_on_change) sd->scroll = 0; termio_smart_update_queue(sd); } diff --git a/src/bin/termiointernals.c b/src/bin/termiointernals.c index 707f85a4..1a7cda51 100644 --- a/src/bin/termiointernals.c +++ b/src/bin/termiointernals.c @@ -2190,8 +2190,7 @@ termio_internal_mouse_wheel(Termio *sd, else { sd->scroll -= (ev->z * 4); - if (sd->scroll < 0) - sd->scroll = 0; + if (sd->scroll < 0) sd->scroll = 0; termio_smart_update_queue(sd); miniview_position_offset(term_miniview_get(sd->term), ev->z * 4, EINA_TRUE); diff --git a/src/bin/termiointernals.h b/src/bin/termiointernals.h index ae0035a0..86e6978e 100644 --- a/src/bin/termiointernals.h +++ b/src/bin/termiointernals.h @@ -68,6 +68,7 @@ struct _Termio Evas_Object *ctxpopup; int zoom_fontsize_start; int scroll; + int font_size_scale; Evas_Object *self; Evas_Object *event; Term *term;