[Xfce4-commits] <xfwm4:master> Fix Session-Management stuff a bit. (needs debugging, but it seems to work with libxfce4ui now)
Stephan Arts
noreply at xfce.org
Fri Mar 5 10:54:05 CET 2010
Updating branch refs/heads/master
to c1a867e65bf68dda3be3d48edcb63d4305192f7e (commit)
from 91d5ddea2a9b21282b12dc7e9625a0bde110fca7 (commit)
commit c1a867e65bf68dda3be3d48edcb63d4305192f7e
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Jan 10 10:16:26 2010 +0100
Fix Session-Management stuff a bit. (needs debugging, but it seems to work with libxfce4ui now)
configure.ac.in | 2 +-
src/Makefile.am | 4 ++--
src/display.h | 2 +-
src/events.c | 5 +++--
src/icons.c | 3 +--
src/main.c | 1 -
src/session.c | 24 ++++++++++++++----------
7 files changed, 22 insertions(+), 19 deletions(-)
diff --git a/configure.ac.in b/configure.ac.in
index f458afc..047037f 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -72,7 +72,7 @@ AC_CHECK_LIB([Xext], [XShapeCombineShape],
XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [gtk_minimum_version])
XDT_CHECK_PACKAGE([GLADE], [libglade-2.0], [2.0.0])
XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [xfce_minimum_version])
-XDT_CHECK_PACKAGE([LIBXFCEGUI4], libxfce4ui-1, [libxfce4ui_minimum_version])
+XDT_CHECK_PACKAGE([LIBXFCE4UI], libxfce4ui-1, [libxfce4ui_minimum_version])
XDT_CHECK_PACKAGE([LIBXFCE4KBD_PRIVATE], libxfce4kbd-private-2, [libxfce4kbd_private_minimum_version])
XDT_CHECK_PACKAGE([LIBXFCONF], libxfconf-0, [xfconf_minimum_version])
XDT_CHECK_PACKAGE([LIBWNCK], [libwnck-1.0], [wnck_minimum_version])
diff --git a/src/Makefile.am b/src/Makefile.am
index e34d6f9..d64e50c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -85,7 +85,7 @@ xfwm4_CFLAGS = \
$(LIBX11_CFLAGS) \
$(LIBXFCONF_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
- $(LIBXFCEGUI4_CFLAGS) \
+ $(LIBXFCE4UI_CFLAGS) \
$(LIBXFCE4KBD_PRIVATE_CFLAGS) \
$(RENDER_CFLAGS) \
$(LIBSTARTUP_NOTIFICATION_CFLAGS) \
@@ -102,7 +102,7 @@ xfwm4_LDADD = \
$(LIBX11_LDFLAGS) \
$(LIBXFCONF_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
- $(LIBXFCEGUI4_LIBS) \
+ $(LIBXFCE4UI_LIBS) \
$(LIBXFCE4KBD_PRIVATE_LIBS) \
$(LIBSTARTUP_NOTIFICATION_LIBS) \
$(RENDER_LIBS) \
diff --git a/src/display.h b/src/display.h
index e3e6178..f305274 100644
--- a/src/display.h
+++ b/src/display.h
@@ -290,7 +290,7 @@ struct _DisplayInfo
GdkDisplay *gdisplay;
Display *dpy;
- SessionClient *session;
+ XfceSMClient *session;
gboolean quit;
gboolean reload;
diff --git a/src/events.c b/src/events.c
index 0c452a1..898b39e 100644
--- a/src/events.c
+++ b/src/events.c
@@ -41,6 +41,7 @@
#include <X11/extensions/Xrandr.h>
#endif
#include <libxfce4util/libxfce4util.h>
+#include <libxfce4ui/libxfce4ui.h>
#include "misc.h"
#include "workspaces.h"
@@ -418,7 +419,7 @@ handleKeyPress (DisplayInfo *display_info, XKeyEvent * ev)
status = EVENT_FILTER_REMOVE;
if (display_info->session)
{
- logout_session (display_info->session);
+ xfce_sm_client_request_shutdown(display_info->session, XFCE_SM_CLIENT_SHUTDOWN_HINT_LOGOUT);
}
break;
default:
@@ -2308,7 +2309,7 @@ handleEvent (DisplayInfo *display_info, XEvent * ev)
* Qutting on purpose, update session manager so
* it does not restart the program immediately
*/
- client_session_set_restart_style(display_info->session, SESSION_RESTART_IF_RUNNING);
+ xfce_sm_client_set_restart_style(display_info->session, XFCE_SM_CLIENT_RESTART_NORMAL);
gtk_main_quit ();
}
}
diff --git a/src/icons.c b/src/icons.c
index 766eb5c..3b7fcbf 100644
--- a/src/icons.c
+++ b/src/icons.c
@@ -32,7 +32,6 @@
#include <gdk/gdkx.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
#include "inline-default-icon.h"
#include "icons.h"
@@ -522,5 +521,5 @@ getAppIcon (DisplayInfo *display_info, Window window, int width, int height)
}
}
- return xfce_inline_icon_at_size (default_icon_data, width, height);
+ return NULL; /*xfce_inline_icon_at_size (default_icon_data, width, height);*/
}
diff --git a/src/main.c b/src/main.c
index fee8357..15f0947 100644
--- a/src/main.c
+++ b/src/main.c
@@ -32,7 +32,6 @@
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <libxfce4util/libxfce4util.h>
-#include <libxfcegui4/libxfcegui4.h>
#include <sys/stat.h>
#include <sys/time.h>
diff --git a/src/session.c b/src/session.c
index 22a7922..41a2719 100644
--- a/src/session.c
+++ b/src/session.c
@@ -40,7 +40,7 @@
#include <gtk/gtk.h>
#include <glib.h>
-#include <libxfcegui4/libxfcegui4.h>
+#include <libxfce4ui/libxfce4ui.h>
#include "display.h"
#include "screen.h"
@@ -706,7 +706,7 @@ sessionMatchWinToSM (Client * c)
}
static char *
-sessionBuildFilename(SessionClient *client_session)
+sessionBuildFilename(XfceSMClient *client_session)
{
gchar *filename, *path, *file;
GError *error;
@@ -722,7 +722,7 @@ sessionBuildFilename(SessionClient *client_session)
return NULL;
}
- file = g_strdup_printf("xfwm4-%s", client_session->given_client_id);
+ file = g_strdup_printf("xfwm4-%s", xfce_sm_client_get_client_id(client_session));
filename = g_build_filename (path, file, NULL);
g_free (file);
g_free (path);
@@ -733,7 +733,7 @@ sessionBuildFilename(SessionClient *client_session)
static void
sessionLoad (DisplayInfo *display_info)
{
- SessionClient *session;
+ XfceSMClient *session;
gchar *filename;
session = display_info->session;
@@ -745,11 +745,12 @@ sessionLoad (DisplayInfo *display_info)
}
}
+/*
static void
sessionSavePhase2 (gpointer data)
{
DisplayInfo *display_info;
- SessionClient *session;
+ XfceSMClient *session;
gchar *filename;
display_info = (DisplayInfo *) data;
@@ -768,24 +769,27 @@ sessionDie (gpointer data)
DisplayInfo *display_info;
display_info = (DisplayInfo *) data;
- client_session_set_restart_style(display_info->session, SESSION_RESTART_IF_RUNNING);
+ xfce_sm_client_set_restart_style(display_info->session, XFCE_SM_CLIENT_RESTART_NORMAL);
display_info->quit = TRUE;
gtk_main_quit ();
}
+*/
int
sessionStart (int argc, char **argv, DisplayInfo *display_info)
{
- SessionClient *session;
+ XfceSMClient *session;
- display_info->session = client_session_new (argc, argv, (gpointer) display_info,
- SESSION_RESTART_IMMEDIATELY, 20);
+ display_info->session = xfce_sm_client_get_with_argv (argc, argv,
+ XFCE_SM_CLIENT_RESTART_IMMEDIATELY, 20);
session = display_info->session;
+ /*
session->data = (gpointer) display_info;
session->save_phase_2 = sessionSavePhase2;
session->die = sessionDie;
+ */
- if (session_init (session))
+ if (xfce_sm_client_connect(session, NULL))
{
sessionLoad (display_info);
return 1;
More information about the Xfce4-commits
mailing list