Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
GNOME:STABLE:3.12
gnome-settings-daemon
gnome-settings-daemon-notify-idle-resumed.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gnome-settings-daemon-notify-idle-resumed.patch of Package gnome-settings-daemon
diff -ur gnome-settings-daemon-3.12.2.orig/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in gnome-settings-daemon-3.12.2/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in --- gnome-settings-daemon-3.12.2.orig/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in 2014-05-05 08:49:57.000000000 -0500 +++ gnome-settings-daemon-3.12.2/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in 2014-05-21 15:33:58.701265397 -0500 @@ -66,5 +66,10 @@ <summary>Battery critical low action</summary> <description>The action to take when the battery is critically low.</description> </key> + <key name="notify-idle-resumed" type="b"> + <default>true</default> + <_summary>If an information message should be displayed when returning from idle sleep.</_summary> + <_description>If an information message should be displayed when returning from idle sleep.</_description> + </key> </schema> </schemalist> diff -ur gnome-settings-daemon-3.12.2.orig/plugins/power/gsd-power-manager.c gnome-settings-daemon-3.12.2/plugins/power/gsd-power-manager.c --- gnome-settings-daemon-3.12.2.orig/plugins/power/gsd-power-manager.c 2014-05-05 09:50:10.000000000 -0500 +++ gnome-settings-daemon-3.12.2/plugins/power/gsd-power-manager.c 2014-05-21 15:56:20.240296067 -0500 @@ -144,6 +144,7 @@ NotifyNotification *notification_ups_discharging; NotifyNotification *notification_low; NotifyNotification *notification_sleep_warning; + NotifyNotification *notification_resumed; GsdPowerActionType sleep_action_type; gboolean battery_is_low; /* laptop battery low, or UPS discharging */ @@ -169,6 +170,7 @@ gboolean inhibit_suspend_taken; guint inhibit_lid_switch_timer_id; gboolean is_virtual_machine; + GsdPowerActionType last_idle_power_action; /* Idles */ GnomeIdleMonitor *idle_monitor; @@ -1375,6 +1377,49 @@ } static void +show_resumed_notification (GsdPowerManager *manager) +{ + GError *error = NULL; + gboolean ret; + + /* don't show when running under GDM */ + if (g_getenv ("RUNNING_UNDER_GDM") != NULL) { + g_debug ("running under gdm, so no notification"); + return; + } + + ret = g_settings_get_boolean (manager->priv->settings, "notify-idle-resumed"); + if (!ret) + return; + + /* close any existing notification of this class */ + notify_close_if_showing (&manager->priv->notification_resumed); + + /* create a new notification */ + create_notification (_("System resumed from sleep"), + _("The system automatically went to sleep because the system was idle."), + NULL, + &manager->priv->notification_resumed); + notify_notification_set_timeout (manager->priv->notification_resumed, + GSD_POWER_MANAGER_NOTIFY_TIMEOUT_SHORT); + notify_notification_set_urgency (manager->priv->notification_resumed, + NOTIFY_URGENCY_NORMAL); + /* TRANSLATORS: this is the notification application name */ + notify_notification_set_app_name (manager->priv->notification_resumed, _("Power")); + notify_notification_set_hint (manager->priv->notification_resumed, + "transient", g_variant_new_boolean (TRUE)); + + /* try to show */ + ret = notify_notification_show (manager->priv->notification_resumed, + &error); + if (!ret) { + g_warning ("failed to show notification: %s", error->message); + g_error_free (error); + g_object_unref (manager->priv->notification_resumed); + } +} + +static void idle_set_mode (GsdPowerManager *manager, GsdPowerIdleMode mode) { gboolean ret = FALSE; @@ -1466,6 +1511,7 @@ action_type = g_settings_get_enum (manager->priv->settings, "sleep-inactive-ac-type"); } + manager->priv->last_idle_power_action = action_type; do_power_action_type (manager, action_type); /* turn on screen and restore user-selected brightness level */ @@ -2219,6 +2265,12 @@ static void handle_resume_actions (GsdPowerManager *manager) { + if (manager->priv->last_idle_power_action == GSD_POWER_ACTION_SUSPEND || + manager->priv->last_idle_power_action == GSD_POWER_ACTION_HIBERNATE) + show_resumed_notification (manager); + + manager->priv->last_idle_power_action = GSD_POWER_ACTION_NOTHING; + /* ensure we turn the panel back on after resume */ backlight_enable (manager); @@ -2228,6 +2280,7 @@ /* set up the delay again */ inhibit_suspend (manager); + } static void
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor