This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch desktop-restore
in repository terminology.

View the commit online.

commit 67250e72edb1d6b9f0555f1af79dff97efcd0942
Author: [email protected] <[email protected]>
AuthorDate: Fri Mar 20 10:24:29 2026 -0600

    feat: add session_restore_all config option
    
    Add session_restore_all (Eina_Bool, default FALSE) to Config struct,
    EET descriptor, and config_sync().  Bump CONF_VER from 27 to 28.
    Add checkbox in Settings > Behavior panel.
    
    When enabled, Terminology restores all saved sessions at startup.
---
 src/bin/config.c           | 12 ++++++++++--
 src/bin/config.h           |  1 +
 src/bin/options_behavior.c |  3 +++
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/bin/config.c b/src/bin/config.c
index 959d5956..dd44fedf 100644
--- a/src/bin/config.c
+++ b/src/bin/config.c
@@ -7,7 +7,7 @@
 #include "colors.h"
 #include "theme.h"
 
-#define CONF_VER 27
+#define CONF_VER 28
 #define CONFIG_KEY "config"
 
 #define LIM(v, min, max) {if (v >= max) v = max; else if (v <= min) v = min;}
@@ -201,6 +201,8 @@ config_init(void)
      (edd_base, Config, "hide_cursor", hide_cursor, EET_T_DOUBLE);
    EET_DATA_DESCRIPTOR_ADD_BASIC
      (edd_base, Config, "group_all", group_all, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC
+     (edd_base, Config, "session_restore_all", session_restore_all, EET_T_UCHAR);
 }
 
 void
@@ -328,6 +330,7 @@ config_sync(const Config *config_src, Config *config)
    config->translucent = config_src->translucent;
    config->opacity = config_src->opacity;
    config->group_all = config_src->group_all;
+   config->session_restore_all = config_src->session_restore_all;
 }
 
 static void
@@ -784,7 +787,12 @@ config_load(void)
                   config->selection_escapes = EINA_TRUE;
                   EINA_FALLTHROUGH;
                   /*pass through*/
-                case CONF_VER: /* 27 */
+                case 27:
+                  /* session_restore_all defaults
+                   * to EINA_FALSE via EET zero-init — no migration needed */
+                  EINA_FALLTHROUGH;
+                  /*pass through*/
+                case CONF_VER: /* 28 */
                   config->version = CONF_VER;
                   break;
                 default:
diff --git a/src/bin/config.h b/src/bin/config.h
index a3218d60..eb4c0149 100644
--- a/src/bin/config.h
+++ b/src/bin/config.h
@@ -104,6 +104,7 @@ struct tag_Config
    Eina_Bool         changedir_to_current;
    Eina_Bool         emoji_dbl_width;
    Eina_Bool         group_all;
+   Eina_Bool         session_restore_all;
    Color             colors[(4 * 12)];
    Eina_List        *keys;
 
diff --git a/src/bin/options_behavior.c b/src/bin/options_behavior.c
index 433e75f0..8d67d512 100644
--- a/src/bin/options_behavior.c
+++ b/src/bin/options_behavior.c
@@ -42,6 +42,7 @@ OPTIONS_CB(Behavior_Ctx, selection_escapes, 0);
 OPTIONS_CB(Behavior_Ctx, changedir_to_current, 0);
 OPTIONS_CB(Behavior_Ctx, emoji_dbl_width, 0);
 OPTIONS_CB(Behavior_Ctx, group_all, 0);
+OPTIONS_CB(Behavior_Ctx, session_restore_all, 0);
 
 static unsigned int
 sback_double_to_expo_int(double d)
@@ -421,6 +422,8 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
 
    OPTIONS_SEPARATOR;
 
+   OPTIONS_CX(_("Restore all sessions on startup"), session_restore_all, 0);
+
    o = elm_check_add(bx);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.5);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to