forked from pool/xfce4-session
This commit is contained in:
parent
1a6456ba64
commit
1ea8c3703b
11
xfce4-session-autostart-editor-crash.patch
Normal file
11
xfce4-session-autostart-editor-crash.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- xfce4-autostart-editor/xfae-model.c
|
||||
+++ xfce4-autostart-editor/xfae-model.c
|
||||
@@ -490,7 +490,7 @@
|
||||
xfce_rc_close (rc);
|
||||
|
||||
/* check if we should skip the item */
|
||||
- if (G_UNLIKELY (skip))
|
||||
+ if (G_UNLIKELY (skip) && item)
|
||||
{
|
||||
xfae_item_free (item);
|
||||
item = NULL;
|
90
xfce4-session-configure.patch
Normal file
90
xfce4-session-configure.patch
Normal file
@ -0,0 +1,90 @@
|
||||
--- configure
|
||||
+++ configure
|
||||
@@ -26560,7 +26560,7 @@
|
||||
|
||||
|
||||
if test x"$xdt_cv_DBUS_check" = x"yes"; then
|
||||
- if $PKG_CONFIG --exists "dbus-1 >= 0.34" >/dev/null 2>&1; then
|
||||
+ if $PKG_CONFIG --exists "dbus-glib-1 >= 0.34" >/dev/null 2>&1; then
|
||||
|
||||
|
||||
# minimum supported version of pkg-config
|
||||
@@ -26644,22 +26644,22 @@
|
||||
fi
|
||||
|
||||
|
||||
- { $as_echo "$as_me:$LINENO: checking for dbus-1 >= 0.34" >&5
|
||||
-$as_echo_n "checking for dbus-1 >= 0.34... " >&6; }
|
||||
- if $PKG_CONFIG "--atleast-version=0.34" "dbus-1" >/dev/null 2>&1; then
|
||||
- DBUS_VERSION=`$PKG_CONFIG --modversion "dbus-1"`
|
||||
+ { $as_echo "$as_me:$LINENO: checking for dbus-glib-1 >= 0.34" >&5
|
||||
+$as_echo_n "checking for dbus-glib-1 >= 0.34... " >&6; }
|
||||
+ if $PKG_CONFIG "--atleast-version=0.34" "dbus-glib-1" >/dev/null 2>&1; then
|
||||
+ DBUS_VERSION=`$PKG_CONFIG --modversion "dbus-glib-1"`
|
||||
{ $as_echo "$as_me:$LINENO: result: $DBUS_VERSION" >&5
|
||||
$as_echo "$DBUS_VERSION" >&6; }
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking DBUS_CFLAGS" >&5
|
||||
$as_echo_n "checking DBUS_CFLAGS... " >&6; }
|
||||
- DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-1"`
|
||||
+ DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-glib-1"`
|
||||
{ $as_echo "$as_me:$LINENO: result: $DBUS_CFLAGS" >&5
|
||||
$as_echo "$DBUS_CFLAGS" >&6; }
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking DBUS_LIBS" >&5
|
||||
$as_echo_n "checking DBUS_LIBS... " >&6; }
|
||||
- DBUS_LIBS=`$PKG_CONFIG --libs "dbus-1"`
|
||||
+ DBUS_LIBS=`$PKG_CONFIG --libs "dbus-glib-1"`
|
||||
{ $as_echo "$as_me:$LINENO: result: $DBUS_LIBS" >&5
|
||||
$as_echo "$DBUS_LIBS" >&6; }
|
||||
|
||||
@@ -26678,15 +26678,15 @@
|
||||
|
||||
DBUS_FOUND="yes"
|
||||
|
||||
- elif $PKG_CONFIG --exists "dbus-1" >/dev/null 2>&1; then
|
||||
- xdt_cv_version=`$PKG_CONFIG --modversion "dbus-1"`
|
||||
+ elif $PKG_CONFIG --exists "dbus-glib-1" >/dev/null 2>&1; then
|
||||
+ xdt_cv_version=`$PKG_CONFIG --modversion "dbus-glib-1"`
|
||||
{ $as_echo "$as_me:$LINENO: result: found, but $xdt_cv_version" >&5
|
||||
$as_echo "found, but $xdt_cv_version" >&6; }
|
||||
|
||||
|
||||
- echo "*** The required package dbus-1 was found on your system,"
|
||||
+ echo "*** The required package dbus-glib-1 was found on your system,"
|
||||
echo "*** but the installed version ($xdt_cv_version) is too old."
|
||||
- echo "*** Please upgrade dbus-1 to atleast version 0.34, or adjust"
|
||||
+ echo "*** Please upgrade dbus-glib-1 to atleast version 0.34, or adjust"
|
||||
echo "*** the PKG_CONFIG_PATH environment variable if you installed"
|
||||
echo "*** the new version of the package in a nonstandard prefix so"
|
||||
echo "*** pkg-config is able to find it."
|
||||
@@ -26697,8 +26697,8 @@
|
||||
$as_echo "not found" >&6; }
|
||||
|
||||
|
||||
- echo "*** The required package dbus-1 was not found on your system."
|
||||
- echo "*** Please install dbus-1 (atleast version 0.34) or adjust"
|
||||
+ echo "*** The required package dbus-glib-1 was not found on your system."
|
||||
+ echo "*** Please install dbus-glib-1 (atleast version 0.34) or adjust"
|
||||
echo "*** the PKG_CONFIG_PATH environment variable if you"
|
||||
echo "*** installed the package in a nonstandard prefix so that"
|
||||
echo "*** pkg-config is able to find it."
|
||||
@@ -26707,14 +26707,14 @@
|
||||
fi
|
||||
|
||||
else
|
||||
- { $as_echo "$as_me:$LINENO: checking for optional package dbus-1 >= 0.34" >&5
|
||||
-$as_echo_n "checking for optional package dbus-1 >= 0.34... " >&6; }
|
||||
+ { $as_echo "$as_me:$LINENO: checking for optional package dbus-glib-1 >= 0.34" >&5
|
||||
+$as_echo_n "checking for optional package dbus-glib-1 >= 0.34... " >&6; }
|
||||
{ $as_echo "$as_me:$LINENO: result: not found" >&5
|
||||
$as_echo "not found" >&6; }
|
||||
fi
|
||||
else
|
||||
- { $as_echo "$as_me:$LINENO: checking for optional package dbus-1" >&5
|
||||
-$as_echo_n "checking for optional package dbus-1... " >&6; }
|
||||
+ { $as_echo "$as_me:$LINENO: checking for optional package dbus-glib-1" >&5
|
||||
+$as_echo_n "checking for optional package dbus-glib-1... " >&6; }
|
||||
{ $as_echo "$as_me:$LINENO: result: disabled" >&5
|
||||
$as_echo "disabled" >&6; }
|
||||
fi
|
@ -1,7 +1,5 @@
|
||||
Index: xfce4-session-4.3.99.2/settings/session/session.c
|
||||
===================================================================
|
||||
--- xfce4-session-4.3.99.2.orig/settings/session/session.c
|
||||
+++ xfce4-session-4.3.99.2/settings/session/session.c
|
||||
--- settings/session/session.c
|
||||
+++ settings/session/session.c
|
||||
@@ -51,6 +51,8 @@ static GtkWidget *dialog = NULL;
|
||||
static GtkWidget *general_chooser;
|
||||
static GtkWidget *general_autosave;
|
||||
@ -20,7 +18,7 @@ Index: xfce4-session-4.3.99.2/settings/session/session.c
|
||||
}
|
||||
if (G_LIKELY (kiosk_can_security))
|
||||
{
|
||||
@@ -124,10 +128,15 @@ general_create (XfceRc *rc)
|
||||
@@ -124,10 +128,14 @@ general_create (XfceRc *rc)
|
||||
gboolean autosave;
|
||||
gboolean prompt;
|
||||
gboolean chooser;
|
||||
@ -32,14 +30,14 @@ Index: xfce4-session-4.3.99.2/settings/session/session.c
|
||||
prompt = xfce_rc_read_bool_entry (rc, "PromptOnLogout", TRUE);
|
||||
+ hibernate = xfce_rc_read_bool_entry (rc, "HibernateButton", TRUE);
|
||||
+ suspend = xfce_rc_read_bool_entry (rc, "SuspendButton", TRUE);
|
||||
+
|
||||
xfce_rc_set_group (rc, "Chooser");
|
||||
chooser = xfce_rc_read_bool_entry (rc, "AlwaysDisplay", FALSE);
|
||||
|
||||
@@ -182,6 +191,29 @@ general_create (XfceRc *rc)
|
||||
@@ -181,6 +189,29 @@ general_create (XfceRc *rc)
|
||||
"depends on whether you enabled the automatic "
|
||||
"saving of sessions on logout or not."),
|
||||
NULL);
|
||||
|
||||
+
|
||||
+ general_hibernate_button = gtk_check_button_new_with_label (_("Show hibernate button"));
|
||||
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (general_hibernate_button), hibernate);
|
||||
+ g_signal_connect (G_OBJECT (general_hibernate_button), "toggled",
|
||||
@ -62,14 +60,11 @@ Index: xfce4-session-4.3.99.2/settings/session/session.c
|
||||
+ "RAM and resumes correctly."),
|
||||
+ NULL);
|
||||
+
|
||||
+
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
Index: xfce4-session-4.3.99.2/xfce4-session/main.c
|
||||
===================================================================
|
||||
--- xfce4-session-4.3.99.2.orig/xfce4-session/main.c
|
||||
+++ xfce4-session-4.3.99.2/xfce4-session/main.c
|
||||
--- xfce4-session/main.c
|
||||
+++ xfce4-session/main.c
|
||||
@@ -61,6 +61,11 @@
|
||||
#include <xfce4-session/xfsm-manager.h>
|
||||
#include <xfce4-session/xfsm-startup.h>
|
||||
@ -98,10 +93,8 @@ Index: xfce4-session-4.3.99.2/xfce4-session/main.c
|
||||
- return xfsm_shutdown (shutdown_type);
|
||||
+ return xfsm_shutdown ();
|
||||
}
|
||||
Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
===================================================================
|
||||
--- xfce4-session-4.3.99.2.orig/xfce4-session/shutdown.c
|
||||
+++ xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
--- xfce4-session/shutdown.c
|
||||
+++ xfce4-session/shutdown.c
|
||||
@@ -110,34 +110,36 @@ entry_activate_cb (GtkWidget *entry, Gtk
|
||||
gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
|
||||
}
|
||||
@ -130,6 +123,9 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
+struct LogoutButton
|
||||
{
|
||||
- *shutdownType = SHUTDOWN_HALT;
|
||||
-
|
||||
- gtk_dialog_response (GTK_DIALOG (shutdown_dialog), GTK_RESPONSE_OK);
|
||||
-}
|
||||
+ gchar * label;
|
||||
+ gchar * icon;
|
||||
+ gint cmd;
|
||||
@ -138,6 +134,7 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
+};
|
||||
+
|
||||
+struct LogoutButton logout_buttons [] = {
|
||||
+ { N_("Switch user"), "xfsm-switch", XFSM_SWITCH, TRUE },
|
||||
+ { N_("Log out"), "xfsm-logout", XFSM_LOGOUT, TRUE },
|
||||
+ { N_("Restart"), "xfsm-reboot", XFSM_REBOOT, TRUE },
|
||||
+ { N_("Shut down"), "xfsm-shutdown", XFSM_SHUTDOWN, TRUE },
|
||||
@ -145,9 +142,6 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
+ { N_("Hibernate"), "xfsm-hibernate", XFSM_HIBERNATE, FALSE},
|
||||
+};
|
||||
|
||||
- gtk_dialog_response (GTK_DIALOG (shutdown_dialog), GTK_RESPONSE_OK);
|
||||
-}
|
||||
|
||||
-/*
|
||||
- */
|
||||
gboolean
|
||||
@ -156,7 +150,17 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
{
|
||||
gboolean accessibility;
|
||||
XfsmFadeout *fadeout = NULL;
|
||||
@@ -154,8 +156,6 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
@@ -145,7 +147,9 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
GtkWidget *dialog;
|
||||
GtkWidget *label;
|
||||
GtkWidget *dbox;
|
||||
+ GtkWidget *rbox;
|
||||
GtkWidget *hbox;
|
||||
+ GtkWidget *hbox2;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *vbox2;
|
||||
GtkWidget *image;
|
||||
@@ -154,14 +158,14 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
GtkWidget *entry;
|
||||
GtkWidget *hidden;
|
||||
GtkWidget *logout_button;
|
||||
@ -164,8 +168,7 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
- GtkWidget *halt_button;
|
||||
GtkWidget *cancel_button;
|
||||
GtkWidget *ok_button;
|
||||
GtkWidget *header;
|
||||
@@ -163,6 +163,8 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
GdkPixbuf *icon;
|
||||
gboolean saveonexit;
|
||||
gboolean autosave;
|
||||
gboolean prompt;
|
||||
@ -174,18 +177,18 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
gint monitor;
|
||||
gint result;
|
||||
XfceKiosk *kiosk;
|
||||
@@ -174,9 +176,9 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
@@ -173,9 +177,8 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
GdkPixmap *screenshot_pm = NULL;
|
||||
GdkGC *screenshot_gc;
|
||||
#endif
|
||||
-
|
||||
+ gint i;
|
||||
|
||||
g_return_val_if_fail(saveSession != NULL, FALSE);
|
||||
- g_return_val_if_fail(shutdownType != NULL, FALSE);
|
||||
|
||||
/* destroy any previously running shutdown helper first */
|
||||
if (shutdown_helper != NULL)
|
||||
@@ -196,13 +198,15 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
@@ -195,13 +198,15 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
saveonexit = xfce_rc_read_bool_entry (rc, "SaveOnExit", TRUE);
|
||||
autosave = xfce_rc_read_bool_entry (rc, "AutoSave", FALSE);
|
||||
prompt = xfce_rc_read_bool_entry (rc, "PromptOnLogout", TRUE);
|
||||
@ -202,12 +205,15 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
*saveSession = autosave;
|
||||
|
||||
return TRUE;
|
||||
@@ -318,76 +322,39 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
@@ -311,76 +316,43 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
hbox = gtk_hbox_new (TRUE, BORDER);
|
||||
gtk_widget_show (hbox);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
+ logout_buttons[3].present = have_suspend;
|
||||
+ logout_buttons[4].present = have_hibernate;
|
||||
+ hbox2 = gtk_hbox_new (TRUE, BORDER);
|
||||
+ gtk_widget_show (hbox2);
|
||||
+ gtk_box_pack_start (GTK_BOX (vbox), hbox2, FALSE, FALSE, 0);
|
||||
+ logout_buttons[4].present = have_suspend;
|
||||
+ logout_buttons[5].present = have_hibernate;
|
||||
|
||||
- /* logout */
|
||||
- logout_button = gtk_button_new ();
|
||||
@ -278,16 +284,17 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
- gtk_widget_show (label);
|
||||
- gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0);
|
||||
-
|
||||
+ for (i = 0; i < G_N_ELEMENTS (logout_buttons); i++) {
|
||||
+
|
||||
+ for (i = 0; i < G_N_ELEMENTS (logout_buttons); i++) {
|
||||
+
|
||||
+ if (logout_buttons[i].present == FALSE)
|
||||
+ continue;
|
||||
+
|
||||
+ continue;
|
||||
+
|
||||
+ logout_button = gtk_button_new ();
|
||||
+ gtk_widget_show (logout_button);
|
||||
+ gtk_box_pack_start (GTK_BOX (hbox), logout_button, TRUE, TRUE, 0);
|
||||
+ rbox = i > G_N_ELEMENTS (logout_buttons)/2 - 1 ? hbox2 : hbox;
|
||||
+ gtk_box_pack_start (GTK_BOX (rbox), logout_button, TRUE, TRUE, 0);
|
||||
+
|
||||
+ g_signal_connect (logout_button, "clicked",
|
||||
+ g_signal_connect (logout_button, "clicked",
|
||||
+ G_CALLBACK (logout_dialog_button_clicked), &logout_buttons[i].cmd);
|
||||
+
|
||||
+ vbox2 = gtk_vbox_new (FALSE, BORDER);
|
||||
@ -301,38 +308,40 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
+ gtk_box_pack_start (GTK_BOX (vbox2), image, FALSE, FALSE, 0);
|
||||
+ g_object_unref (icon);
|
||||
+
|
||||
+ label = gtk_label_new (logout_buttons[i].label);
|
||||
+ label = gtk_label_new (_(logout_buttons[i].label));
|
||||
+ gtk_widget_show (label);
|
||||
+ gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0);
|
||||
+
|
||||
+ logout_buttons[i].button = logout_button;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
/* save session */
|
||||
if (!autosave)
|
||||
{
|
||||
@@ -413,8 +380,9 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
@@ -406,8 +378,9 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
if (!kiosk_can_shutdown ||
|
||||
(shutdown_helper = xfsm_shutdown_helper_spawn ()) == NULL)
|
||||
{
|
||||
- gtk_widget_set_sensitive (reboot_button, FALSE);
|
||||
- gtk_widget_set_sensitive (halt_button, FALSE);
|
||||
+ for (i = 1; i < G_N_ELEMENTS (logout_buttons); i++) {
|
||||
+ for (i = 2; i < G_N_ELEMENTS (logout_buttons); i++) {
|
||||
+ gtk_widget_set_sensitive (logout_buttons[i].button, FALSE);
|
||||
+ }
|
||||
}
|
||||
|
||||
/* save portion of the root window covered by the dialog */
|
||||
@@ -444,7 +412,7 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
@@ -437,7 +410,9 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
gtk_widget_hide (dialog);
|
||||
|
||||
/* ask password */
|
||||
- if (result == GTK_RESPONSE_OK && *shutdownType != SHUTDOWN_LOGOUT
|
||||
+ if (result == GTK_RESPONSE_OK && shutdownType != XFSM_LOGOUT
|
||||
+ if (result == GTK_RESPONSE_OK
|
||||
+ && shutdownType != XFSM_LOGOUT
|
||||
+ && shutdownType != XFSM_SWITCH
|
||||
&& xfsm_shutdown_helper_need_password (shutdown_helper))
|
||||
{
|
||||
gtk_widget_show (ok_button);
|
||||
@@ -540,6 +508,16 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
@@ -533,6 +508,21 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
gdk_flush ();
|
||||
}
|
||||
|
||||
@ -345,11 +354,16 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
+ xfsm_shutdown_helper_send_command (shutdown_helper, shutdownType);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if (result == GTK_RESPONSE_OK && shutdownType == XFSM_SWITCH) {
|
||||
+ g_spawn_command_line_sync ("gdmflexiserver --startnew", NULL, NULL, NULL, NULL);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
/* process all pending events first */
|
||||
while (gtk_events_pending ())
|
||||
g_main_context_iteration (NULL, FALSE);
|
||||
@@ -578,7 +556,7 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
@@ -571,7 +561,7 @@ shutdownDialog(gint *shutdownType, gbool
|
||||
/*
|
||||
*/
|
||||
gint
|
||||
@ -358,7 +372,7 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
{
|
||||
gboolean result;
|
||||
|
||||
@@ -596,7 +574,7 @@ xfsm_shutdown(gint type)
|
||||
@@ -589,7 +579,7 @@ xfsm_shutdown(gint type)
|
||||
sync ();
|
||||
#endif
|
||||
|
||||
@ -367,7 +381,7 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
if (shutdown_helper == NULL)
|
||||
@@ -605,16 +583,7 @@ xfsm_shutdown(gint type)
|
||||
@@ -598,16 +588,7 @@ xfsm_shutdown(gint type)
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
@ -385,10 +399,8 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.c
|
||||
|
||||
xfsm_shutdown_helper_destroy (shutdown_helper);
|
||||
shutdown_helper = NULL;
|
||||
Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.h
|
||||
===================================================================
|
||||
--- xfce4-session-4.3.99.2.orig/xfce4-session/shutdown.h
|
||||
+++ xfce4-session-4.3.99.2/xfce4-session/shutdown.h
|
||||
--- xfce4-session/shutdown.h
|
||||
+++ xfce4-session/shutdown.h
|
||||
@@ -24,13 +24,8 @@
|
||||
|
||||
#include <glib.h>
|
||||
@ -405,10 +417,8 @@ Index: xfce4-session-4.3.99.2/xfce4-session/shutdown.h
|
||||
+extern gint xfsm_shutdown(void);
|
||||
|
||||
#endif /* !__XFSM_SHUTDOWN_H__ */
|
||||
Index: xfce4-session-4.3.99.2/xfce4-session/xfsm-global.c
|
||||
===================================================================
|
||||
--- xfce4-session-4.3.99.2.orig/xfce4-session/xfsm-global.c
|
||||
+++ xfce4-session-4.3.99.2/xfce4-session/xfsm-global.c
|
||||
--- xfce4-session/xfsm-global.c
|
||||
+++ xfce4-session/xfsm-global.c
|
||||
@@ -46,7 +46,6 @@ gchar *session_name = NULL;
|
||||
gchar *session_file = NULL;
|
||||
GList *failsafe_clients = NULL;
|
||||
@ -417,10 +427,8 @@ Index: xfce4-session-4.3.99.2/xfce4-session/xfsm-global.c
|
||||
XfsmSplashScreen *splash_screen = NULL;
|
||||
|
||||
void
|
||||
Index: xfce4-session-4.3.99.2/xfce4-session/xfsm-global.h
|
||||
===================================================================
|
||||
--- xfce4-session-4.3.99.2.orig/xfce4-session/xfsm-global.h
|
||||
+++ xfce4-session-4.3.99.2/xfce4-session/xfsm-global.h
|
||||
--- xfce4-session/xfsm-global.h
|
||||
+++ xfce4-session/xfsm-global.h
|
||||
@@ -47,7 +47,6 @@ extern gchar *session_name;
|
||||
extern gchar *session_file;
|
||||
extern GList *failsafe_clients;
|
||||
@ -429,11 +437,9 @@ Index: xfce4-session-4.3.99.2/xfce4-session/xfsm-global.h
|
||||
extern XfsmSplashScreen *splash_screen;
|
||||
|
||||
|
||||
Index: xfce4-session-4.3.99.2/xfce4-session/xfsm-manager.c
|
||||
===================================================================
|
||||
--- xfce4-session-4.3.99.2.orig/xfce4-session/xfsm-manager.c
|
||||
+++ xfce4-session-4.3.99.2/xfce4-session/xfsm-manager.c
|
||||
@@ -799,7 +799,7 @@ xfsm_manager_save_yourself (XfsmClient *
|
||||
--- xfce4-session/xfsm-manager.c
|
||||
+++ xfce4-session/xfsm-manager.c
|
||||
@@ -801,7 +801,7 @@ xfsm_manager_save_yourself (XfsmClient *
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -442,17 +448,27 @@ Index: xfce4-session-4.3.99.2/xfce4-session/xfsm-manager.c
|
||||
return;
|
||||
|
||||
if (!shutdown || shutdown_save)
|
||||
Index: xfce4-session-4.3.99.2/xfce4-session/xfsm-shutdown-helper.c
|
||||
===================================================================
|
||||
--- xfce4-session-4.3.99.2.orig/xfce4-session/xfsm-shutdown-helper.c
|
||||
+++ xfce4-session-4.3.99.2/xfce4-session/xfsm-shutdown-helper.c
|
||||
@@ -138,7 +138,17 @@ xfsm_shutdown_helper_hal_check (XfsmShut
|
||||
return FALSE;
|
||||
}
|
||||
--- xfce4-session/xfsm-shutdown-helper.c
|
||||
+++ xfce4-session/xfsm-shutdown-helper.c
|
||||
@@ -55,6 +55,12 @@
|
||||
|
||||
#ifdef HAVE_DBUS
|
||||
#include <dbus/dbus.h>
|
||||
+#define HAL_DBUS_SERVICE "org.freedesktop.Hal"
|
||||
+#define HAL_ROOT_COMPUTER "/org/freedesktop/Hal/devices/computer"
|
||||
+#define HAL_DBUS_INTERFACE_DEVICE "org.freedesktop.Hal.Device"
|
||||
+#define HAL_DBUS_INTERFACE_POWER "org.freedesktop.Hal.Device.SystemPowerManagement"
|
||||
+#define HAL_PM_CAN_SUSPEND "power_management.can_suspend_to_ram"
|
||||
+#define HAL_PM_CAN_HIBERNATE "power_management.can_suspend_to_disk"
|
||||
#endif
|
||||
|
||||
#include <libxfce4util/libxfce4util.h>
|
||||
@@ -74,6 +80,17 @@ struct _XfsmShutdownHelper
|
||||
};
|
||||
|
||||
|
||||
-
|
||||
+static struct
|
||||
+{
|
||||
+{
|
||||
+ XfsmShutdownCommand command;
|
||||
+ gchar * name;
|
||||
+} xfsm2hal[] =
|
||||
@ -464,72 +480,111 @@ Index: xfce4-session-4.3.99.2/xfce4-session/xfsm-shutdown-helper.c
|
||||
+};
|
||||
|
||||
static gboolean
|
||||
xfsm_shutdown_helper_hal_send (XfsmShutdownHelper *helper,
|
||||
@@ -149,6 +159,8 @@ xfsm_shutdown_helper_hal_send (XfsmShutd
|
||||
DBusMessage *message;
|
||||
DBusMessage *result;
|
||||
DBusError error;
|
||||
+ gchar *methodname;
|
||||
+ int i;
|
||||
|
||||
/* initialize the error */
|
||||
dbus_error_init (&error);
|
||||
@@ -163,10 +175,41 @@ xfsm_shutdown_helper_hal_send (XfsmShutd
|
||||
}
|
||||
|
||||
/* send the appropriate message to HAL, telling it to shutdown or reboot the system */
|
||||
xfsm_shutdown_helper_hal_check (XfsmShutdownHelper *helper)
|
||||
@@ -100,9 +117,9 @@ xfsm_shutdown_helper_hal_check (XfsmShut
|
||||
* use the org.freedesktop.Hal.Device.SystemPowerManagement
|
||||
* interface without shutting down/rebooting now.
|
||||
*/
|
||||
- message = dbus_message_new_method_call ("org.freedesktop.Hal",
|
||||
- "/org/freedesktop/Hal/devices/computer",
|
||||
- "org.freedesktop.Hal.Device.SystemPowerManagement",
|
||||
+ message = dbus_message_new_method_call (HAL_DBUS_SERVICE,
|
||||
+ HAL_ROOT_COMPUTER,
|
||||
+ HAL_DBUS_INTERFACE_POWER,
|
||||
"ThisMethodMustNotExistInHal");
|
||||
result = dbus_connection_send_with_reply_and_block (connection, message, 2000, &error);
|
||||
dbus_message_unref (message);
|
||||
@@ -145,42 +162,45 @@ xfsm_shutdown_helper_hal_send (XfsmShutd
|
||||
XfsmShutdownCommand command)
|
||||
{
|
||||
#ifdef HAVE_DBUS
|
||||
- DBusConnection *connection;
|
||||
- DBusMessage *message;
|
||||
- DBusMessage *result;
|
||||
- DBusError error;
|
||||
-
|
||||
- /* initialize the error */
|
||||
- dbus_error_init (&error);
|
||||
-
|
||||
- /* connect to the system message bus */
|
||||
- connection = dbus_bus_get (DBUS_BUS_SYSTEM, &error);
|
||||
- if (G_UNLIKELY (connection == NULL))
|
||||
- {
|
||||
- g_warning (G_STRLOC ": Failed to connect to the system message bus: %s", error.message);
|
||||
- dbus_error_free (&error);
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
- /* send the appropriate message to HAL, telling it to shutdown or reboot the system */
|
||||
- message = dbus_message_new_method_call ("org.freedesktop.Hal",
|
||||
- "/org/freedesktop/Hal/devices/computer",
|
||||
- "org.freedesktop.Hal.Device.SystemPowerManagement",
|
||||
- (command == XFSM_SHUTDOWN_REBOOT) ? "Reboot" : "Shutdown");
|
||||
+ switch (command)
|
||||
+ {
|
||||
+ case XFSM_REBOOT:
|
||||
+ message = dbus_message_new_method_call ("org.freedesktop.Hal",
|
||||
+ "/org/freedesktop/Hal/devices/computer",
|
||||
+ "org.freedesktop.Hal.Device.SystemPowerManagement",
|
||||
+ "Reboot");
|
||||
+ break;
|
||||
- result = dbus_connection_send_with_reply_and_block (connection, message, 2000, &error);
|
||||
- dbus_message_unref (message);
|
||||
-
|
||||
- /* check if we received a result */
|
||||
- if (G_UNLIKELY (result == NULL))
|
||||
- {
|
||||
- g_warning (G_STRLOC ": Failed to contact HAL: %s", error.message);
|
||||
- dbus_error_free (&error);
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
- /* pretend that we succeed */
|
||||
- dbus_message_unref (result);
|
||||
- return TRUE;
|
||||
+ DBusConnection *connection;
|
||||
+ DBusMessage *method;
|
||||
+ DBusMessage *result;
|
||||
+ DBusError derror;
|
||||
+ gint i;
|
||||
+ gchar *methodname;
|
||||
+ dbus_int32_t wakeup = 0;
|
||||
+
|
||||
+ for (i = 0; i < G_N_ELEMENTS (xfsm2hal); i++) {
|
||||
+ if ( xfsm2hal[i].command == command ) {
|
||||
+ methodname = xfsm2hal[i].name;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ dbus_error_init(&derror);
|
||||
+
|
||||
+ connection = dbus_bus_get(DBUS_BUS_SYSTEM, &derror);
|
||||
+
|
||||
+ case XFSM_SHUTDOWN:
|
||||
+ message = dbus_message_new_method_call ("org.freedesktop.Hal",
|
||||
+ "/org/freedesktop/Hal/devices/computer",
|
||||
+ "org.freedesktop.Hal.Device.SystemPowerManagement",
|
||||
+ "Shutdown");
|
||||
+ break;
|
||||
+ if (connection == NULL)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ method = dbus_message_new_method_call(HAL_DBUS_SERVICE,
|
||||
+ HAL_ROOT_COMPUTER,
|
||||
+ HAL_DBUS_INTERFACE_POWER,
|
||||
+ methodname);
|
||||
+
|
||||
+ case XFSM_SUSPEND:
|
||||
+ {
|
||||
+ dbus_int32_t wakeup = 0;
|
||||
+ message = dbus_message_new_method_call ("org.freedesktop.Hal",
|
||||
+ "/org/freedesktop/Hal/devices/computer",
|
||||
+ "org.freedesktop.Hal.Device.SystemPowerManagement",
|
||||
+ "Suspend");
|
||||
+ dbus_message_append_args (message, DBUS_TYPE_INT32, &wakeup, DBUS_TYPE_INVALID);
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ case XFSM_HIBERNATE:
|
||||
+ message = dbus_message_new_method_call ("org.freedesktop.Hal",
|
||||
+ "/org/freedesktop/Hal/devices/computer",
|
||||
+ "org.freedesktop.Hal.Device.SystemPowerManagement",
|
||||
+ "Hibernate");
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
result = dbus_connection_send_with_reply_and_block (connection, message, 2000, &error);
|
||||
dbus_message_unref (message);
|
||||
|
||||
Index: xfce4-session-4.3.99.2/xfce4-session/xfsm-shutdown-helper.h
|
||||
===================================================================
|
||||
--- xfce4-session-4.3.99.2.orig/xfce4-session/xfsm-shutdown-helper.h
|
||||
+++ xfce4-session-4.3.99.2/xfce4-session/xfsm-shutdown-helper.h
|
||||
@@ -27,8 +27,11 @@
|
||||
+ if (command == XFSM_SUSPEND) {
|
||||
+ dbus_message_append_args (method, DBUS_TYPE_INT32, &wakeup, DBUS_TYPE_INVALID);
|
||||
+ }
|
||||
+
|
||||
+ result = dbus_connection_send_with_reply_and_block(connection, method, 2000, &derror);
|
||||
+
|
||||
+ dbus_message_unref(method);
|
||||
+
|
||||
+ if (result == NULL)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ dbus_message_unref(result);
|
||||
+ return TRUE;
|
||||
#else
|
||||
return FALSE;
|
||||
#endif
|
||||
--- xfce4-session/xfsm-shutdown-helper.h
|
||||
+++ xfce4-session/xfsm-shutdown-helper.h
|
||||
@@ -27,8 +27,12 @@
|
||||
|
||||
typedef enum
|
||||
{
|
||||
- XFSM_SHUTDOWN_POWEROFF = 0,
|
||||
- XFSM_SHUTDOWN_REBOOT = 1,
|
||||
+ XFSM_SWITCH =-2,
|
||||
+ XFSM_LOGOUT =-1,
|
||||
+ XFSM_SHUTDOWN = 0,
|
||||
+ XFSM_REBOOT = 1,
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:30abc35ce2ffdb6b4b8f14ac36ab73ac3f374e3970788396b29bf7ea018c29bf
|
||||
size 18914
|
||||
oid sha256:44a4512636c18d672332ed9e1b70df5b16d3da15cfb0e9420c3fd84626cc0e61
|
||||
size 27931
|
||||
|
@ -1,3 +1,15 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 18 14:10:07 CET 2008 - pnemec@suse.cz
|
||||
|
||||
- call update_desktop_file macro on desktop files [bnc#445722]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 14 15:40:11 CET 2008 - prusnak@suse.cz
|
||||
|
||||
- updated suspend_hibernate.patch and renamed to logout-dialog
|
||||
* adds switch user button, only works with gdm
|
||||
- fixed crash in autostart-editor (autostart-editor-crash.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 29 22:05:46 CET 2008 - bwalle@suse.de
|
||||
|
||||
|
@ -20,20 +20,22 @@
|
||||
|
||||
Name: xfce4-session
|
||||
BuildRequires: dbus-1-devel gtk2-devel libxml2-devel perl-XML-Parser startup-notification update-desktop-files xorg-x11
|
||||
%if %suse_version > 1010
|
||||
%if 0%{?suse_version} > 1010
|
||||
BuildRequires: dbus-1-glib-devel
|
||||
%endif
|
||||
BuildRequires: intltool xfce-mcs-manager-devel >= 4.3
|
||||
Requires: fortune
|
||||
Summary: Xfce Session manager
|
||||
Version: 4.4.3
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: GPL v2 or later
|
||||
Url: http://www.xfce.org/
|
||||
Source0: %{name}-%{version}.tar.bz2
|
||||
Source1: xfce4-session-ubuntu-icons.tar.bz2
|
||||
Patch0: xfce4-session-suspend_hibernate.patch
|
||||
Patch1: xfce4-session-faster-start.patch
|
||||
Source1: %{name}-ubuntu-icons.tar.bz2
|
||||
Patch0: %{name}-logout-dialog.patch
|
||||
Patch1: %{name}-faster-start.patch
|
||||
Patch2: %{name}-autostart-editor-crash.patch
|
||||
Patch3: %{name}-configure.patch
|
||||
Group: System/GUI/XFCE
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
@ -56,7 +58,7 @@ Summary: Xfce Session manager
|
||||
Group: System/GUI/XFCE
|
||||
Requires: %{name} = %{version}
|
||||
Requires: libxfcegui4-devel >= 4.3
|
||||
Requires: libxml2-devel
|
||||
Requires: libxml2-devel
|
||||
|
||||
%description devel
|
||||
xfce4-session is the session manager for the Xfce desktop environment.
|
||||
@ -73,13 +75,18 @@ Authors:
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch0
|
||||
%patch1
|
||||
%patch2
|
||||
|
||||
%build
|
||||
%configure \
|
||||
--enable-session-screenshots
|
||||
make %{?jobs:-j%jobs}
|
||||
%suse_update_desktop_file -i xfce-splash-settings X-XFCE Settings DesktopSettings
|
||||
%suse_update_desktop_file -i xfce-session-settings X-XFCE Settings DesktopSettings
|
||||
%suse_update_desktop_file -i xfce4-autostart-editor X-XFCE Settings DesktopSettings
|
||||
%suse_update_desktop_file -i xfce4-tips-autostart X-XFCE Settings DesktopSettings
|
||||
|
||||
%install
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
@ -109,7 +116,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_libexecdir}/balou-export-theme
|
||||
%{_libexecdir}/balou-install-theme
|
||||
%{_libexecdir}/xfsm-shutdown-helper
|
||||
%if %suse_version < 1030
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1030
|
||||
%dir %{_sysconfdir}/xdg/autostart
|
||||
%endif
|
||||
%{_sysconfdir}/xdg/autostart/xfce4-tips-autostart.desktop
|
||||
@ -124,6 +131,12 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_includedir}/xfce4/*/*
|
||||
|
||||
%changelog
|
||||
* Tue Nov 18 2008 pnemec@suse.cz
|
||||
- call update_desktop_file macro on desktop files [bnc#445722]
|
||||
* Fri Nov 14 2008 prusnak@suse.cz
|
||||
- updated suspend_hibernate.patch and renamed to logout-dialog
|
||||
* adds switch user button, only works with gdm
|
||||
- fixed crash in autostart-editor (autostart-editor-crash.patch)
|
||||
* Wed Oct 29 2008 bwalle@suse.de
|
||||
- update to 4.4.3
|
||||
* translation polish
|
||||
|
Loading…
Reference in New Issue
Block a user