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.