Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37561128
en ru br
Репозитории ALT
S:3.40.0-alt1
5.1: 2.26.1-alt1
4.1: 2.22.0-alt2.qa1
4.0: 2.16.3-alt1
3.0: 2.10.0-alt1.1
www.altlinux.org/Changes

Группа :: Звук
Пакет: sound-juicer

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: sound-juicer-2.28.0-use-gnome-session-inhibit.patch
Скачать


diff --git a/src/sj-extracting.c b/src/sj-extracting.c
index e44a589..b7118b1 100644
--- a/src/sj-extracting.c
+++ b/src/sj-extracting.c
@@ -30,6 +30,7 @@
 #include <glib.h>
 #include <gio/gio.h>
 #include <gtk/gtk.h>
+#include <gdk/gdkx.h>
 
 #include <brasero-volume.h>
 #include <canberra-gtk.h>
@@ -821,7 +822,8 @@ on_extract_activate (GtkWidget *button, gpointer user_data)
   }
   
   cookie = sj_inhibit (g_get_application_name (),
-                       _("Extracting audio from CD"));
+                       _("Extracting audio from CD"),
+                       GDK_WINDOW_XID(main_window->window));
 
   /* Save the genre */
   save_genre (genre_entry);
diff --git a/src/sj-inhibit.c b/src/sj-inhibit.c
index 7fc60e0..fc804d2 100644
--- a/src/sj-inhibit.c
+++ b/src/sj-inhibit.c
@@ -26,13 +26,13 @@
 #include "sj-inhibit.h"
  
 /* PowerManagent defines */
-#define	PM_DBUS_SERVICE    "org.freedesktop.PowerManagement"
-#define	PM_DBUS_INHIBIT_PATH   "/org/freedesktop/PowerManagement/Inhibit"
-#define	PM_DBUS_INHIBIT_INTERFACE    "org.freedesktop.PowerManagement.Inhibit"
+#define	PM_DBUS_SERVICE    "org.gnome.SessionManager"
+#define	PM_DBUS_INHIBIT_PATH   "/org/gnome/SessionManager"
+#define	PM_DBUS_INHIBIT_INTERFACE    "org.gnome.SessionManager"
 
 /** cookie is returned as an unsigned integer */
 guint
-sj_inhibit (const gchar * appname, const gchar * reason)
+sj_inhibit (const gchar * appname, const gchar * reason, guint xid)
 {
   gboolean res;
   guint cookie;
@@ -60,8 +60,10 @@ sj_inhibit (const gchar * appname, const gchar * reason)
 
   res = dbus_g_proxy_call (proxy,
 			    "Inhibit", &error,
-			    G_TYPE_STRING, appname,
+			    G_TYPE_STRING, appname, /* app-id */
+			    G_TYPE_UINT, xid,
 			    G_TYPE_STRING, reason,
+			    G_TYPE_UINT, 4+8, /* flags, inhibit being marked idle and allowing suspend */
 			    G_TYPE_INVALID,
 			    G_TYPE_UINT, &cookie,
                             G_TYPE_INVALID);
@@ -116,7 +118,7 @@ sj_uninhibit (guint cookie)
   }
 
   res = dbus_g_proxy_call (proxy,
-			    "UnInhibit",
+			    "Uninhibit",
 			    &error,
 			    G_TYPE_UINT, cookie,
 			    G_TYPE_INVALID,
@@ -124,7 +126,7 @@ sj_uninhibit (guint cookie)
 
   /* check the return value */
   if (!res) {
-    g_warning ("UnInhibit method failed");
+    g_warning ("Uninhibit method failed");
   }
 
   /* check the error value */
diff --git a/src/sj-inhibit.h b/src/sj-inhibit.h
index b93fbf9..3498cfe 100644
--- a/src/sj-inhibit.h
+++ b/src/sj-inhibit.h
@@ -25,7 +25,7 @@
 
 #include <glib.h>
  
-guint sj_inhibit (const gchar * appname, const gchar * reason);
+guint sj_inhibit (const gchar * appname, const gchar * reason, guint xid);
 void sj_uninhibit (guint cookie);
 
 #endif /* SJ_INHIBIT_H */
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin