raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=7c652b67141dcaf284e7da7715433e090be48a34

commit 7c652b67141dcaf284e7da7715433e090be48a34
Author: Carsten Haitzler <ras...@rasterman.com>
Date:   Mon Aug 9 22:20:55 2021 +0100

    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 5befd5c..9f41ea2 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 707f85a..1a7cda5 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 ae0035a..86e6978 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;

-- 


Reply via email to