summaryrefslogtreecommitdiff
path: root/src/capplet
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2026-03-21 10:14:28 -0400
committerVictor Kareh <[email protected]>2026-04-01 16:04:56 -0400
commit482c096f7e7e3e021b8f5088d6e5a8fd47f32edf (patch)
tree45598db049b4bcefc99893d7ab105e31fbdb2a4e /src/capplet
parent17c25f40db37b459c57e03940bbb0fd8659975cf (diff)
downloadmate-notification-daemon-482c096f7e7e3e021b8f5088d6e5a8fd47f32edf.tar.bz2
mate-notification-daemon-482c096f7e7e3e021b8f5088d6e5a8fd47f32edf.tar.xz
daemon: Add force-display setting to override notification suppression
Add a new 'force-display' gsettings and checkbox that, when enabled, shows all notifications regardless of urgency, fullscreen, or screensaver state. Do Not Disturb still takes precedence. Fixes #199
Diffstat (limited to 'src/capplet')
-rw-r--r--src/capplet/mate-notification-properties.c3
-rw-r--r--src/capplet/mate-notification-properties.ui16
2 files changed, 19 insertions, 0 deletions
diff --git a/src/capplet/mate-notification-properties.c b/src/capplet/mate-notification-properties.c
index f81dd2c..a12ff20 100644
--- a/src/capplet/mate-notification-properties.c
+++ b/src/capplet/mate-notification-properties.c
@@ -49,6 +49,7 @@ typedef struct {
GtkWidget* timeout_spin;
GtkWidget* persistence_checkbox;
GtkWidget* countdown_checkbox;
+ GtkWidget* force_display_checkbox;
NotifyNotification* preview1;
NotifyNotification* preview2;
@@ -502,6 +503,7 @@ static gboolean notification_properties_dialog_init(NotificationAppletDialog* di
dialog->timeout_spin = GTK_WIDGET(gtk_builder_get_object(builder, "timeout_spin"));
dialog->persistence_checkbox = GTK_WIDGET(gtk_builder_get_object(builder, "enable_persistence_check"));
dialog->countdown_checkbox = GTK_WIDGET(gtk_builder_get_object(builder, "show_countdown_check"));
+ dialog->force_display_checkbox = GTK_WIDGET(gtk_builder_get_object(builder, "force_display_check"));
g_object_unref (builder);
@@ -518,6 +520,7 @@ static gboolean notification_properties_dialog_init(NotificationAppletDialog* di
g_settings_bind (dialog->gsettings, GSETTINGS_KEY_DEFAULT_TIMEOUT, timeout_adjustment, "value", G_SETTINGS_BIND_DEFAULT);
g_settings_bind (dialog->gsettings, GSETTINGS_KEY_ENABLE_PERSISTENCE, dialog->persistence_checkbox, "active", G_SETTINGS_BIND_DEFAULT);
g_settings_bind (dialog->gsettings, GSETTINGS_KEY_SHOW_COUNTDOWN, dialog->countdown_checkbox, "active", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (dialog->gsettings, GSETTINGS_KEY_FORCE_DISPLAY, dialog->force_display_checkbox, "active", G_SETTINGS_BIND_DEFAULT);
notification_properties_dialog_setup_themes (dialog);
notification_properties_dialog_setup_positions (dialog);
diff --git a/src/capplet/mate-notification-properties.ui b/src/capplet/mate-notification-properties.ui
index 9b461bf..0c802e5 100644
--- a/src/capplet/mate-notification-properties.ui
+++ b/src/capplet/mate-notification-properties.ui
@@ -347,6 +347,22 @@
<property name="position">2</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="force_display_check">
+ <property name="label" translatable="yes">Force Display All Notifications</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">start</property>
+ <property name="draw_indicator">True</property>
+ <property name="tooltip_text" translatable="yes">Show all notifications regardless of urgency, fullscreen, or screensaver state. Do Not Disturb still takes precedence.</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
</object>
</child>
</object>