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

git pushed a commit to branch master
in repository e16.

View the commit online.

commit c7480a9a166dcbcd7e6e804d27c1d683e99aa841
Author: Kim Woelders <[email protected]>
AuthorDate: Fri Jul 10 14:16:23 2026 +0200

    De-iconify windows demanding attention
    
    Patch by Pavel Sanda.
---
 docs/e16.asc   | 2 ++
 src/E.h        | 1 +
 src/ewins.c    | 3 +++
 src/mod-misc.c | 1 +
 src/settings.c | 8 ++++++++
 5 files changed, 15 insertions(+)

diff --git a/docs/e16.asc b/docs/e16.asc
index 616b5d4c..52d2e168 100644
--- a/docs/e16.asc
+++ b/docs/e16.asc
@@ -1122,6 +1122,8 @@ misc.testing.no_sync_mask = 0
 
 # [bool] Save configuration changes
 misc.autosave = 1
+# [bool] De-iconify windows when they demand attention (urgency hint)
+misc.deiconify_on_attention = 0
 # [bool] Keep memory usage down (should probably always be 1)
 misc.memory_paranoia = 1
 # [bool] Use save-unders when appropriate
diff --git a/src/E.h b/src/E.h
index 2c7fc454..f82d510e 100644
--- a/src/E.h
+++ b/src/E.h
@@ -315,6 +315,7 @@ typedef struct {
     } testing;
 
     char            autosave;
+    char            deiconify_on_attention;
     char            memory_paranoia;
     char            save_under;
 } EConf;
diff --git a/src/ewins.c b/src/ewins.c
index 2feff8ac..92afde62 100644
--- a/src/ewins.c
+++ b/src/ewins.c
@@ -2172,6 +2172,9 @@ EwinChangesProcess(EWin *ewin)
     {
         HintsSetWindowState(ewin);
         PagersHandleAttention(ewin);
+        if (!Mode.wm.startup && Conf.deiconify_on_attention &&
+            ewin->state.attention && ewin->state.iconified)
+            EwinDeIconify(ewin);
     }
 
     EWinChanges.flags = 0;
diff --git a/src/mod-misc.c b/src/mod-misc.c
index 872f0f33..01c36e1a 100644
--- a/src/mod-misc.c
+++ b/src/mod-misc.c
@@ -223,6 +223,7 @@ static const CfgItem MiscCfgItems[] = {
     CFG_ITEM_HEX(Conf, testing.no_sync_mask, 0),
 
     CFG_ITEM_BOOL(Conf, autosave, 1),
+    CFG_ITEM_BOOL(Conf, deiconify_on_attention, 0),
     CFG_ITEM_BOOL(Conf, memory_paranoia, 1),
     CFG_ITEM_BOOL(Conf, save_under, 0),
 };
diff --git a/src/settings.c b/src/settings.c
index a38cb4ce..f36b43f1 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -491,6 +491,7 @@ typedef struct {
     char            dialog_headers;
     char            button_image;
     char            animate_startup;
+    char            deiconify_attention;
     int             magwin_zoom_res;
 } MiscDlgData;
 
@@ -502,6 +503,7 @@ _DlgApplyMisc(Dialog *d, int val __UNUSED__, void *data __UNUSED__)
     Conf.dialogs.headers = dd->dialog_headers;
     Conf.dialogs.button_image = dd->button_image;
     Conf.startup.animate = dd->animate_startup;
+    Conf.deiconify_on_attention = dd->deiconify_attention;
     Conf.magwin.zoom_res = dd->magwin_zoom_res;
 
     autosave();
@@ -516,6 +518,7 @@ _DlgFillMisc(Dialog *d, DItem *table, void *data __UNUSED__)
     dd->dialog_headers = Conf.dialogs.headers;
     dd->button_image = Conf.dialogs.button_image;
     dd->animate_startup = Conf.startup.animate;
+    dd->deiconify_attention = Conf.deiconify_on_attention;
     dd->magwin_zoom_res = Conf.magwin.zoom_res;
 
     DialogItemTableSetOptions(table, 2, 0, 0, 0);
@@ -540,6 +543,11 @@ _DlgFillMisc(Dialog *d, DItem *table, void *data __UNUSED__)
     DialogItemSetText(di, _("Enable sliding startup windows"));
     DialogItemCheckButtonSetPtr(di, &dd->animate_startup);
 
+    di = DialogAddItem(table, DITEM_CHECKBUTTON);
+    DialogItemSetColSpan(di, 2);
+    DialogItemSetText(di, _("De-iconify windows demanding attention"));
+    DialogItemCheckButtonSetPtr(di, &dd->deiconify_attention);
+
     di = DialogAddItem(table, DITEM_SEPARATOR);
     DialogItemSetColSpan(di, 2);
 

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

Reply via email to