Added simple (but do anyone really need more complex thing?) session management
to control-center shell
This commit is contained in:
parent
f23439d2be
commit
596bc8bdc6
5 changed files with 68 additions and 4 deletions
|
@ -1,5 +1,17 @@
|
|||
2002-02-14 Lauris Kaplinski <lauris@ximian.com>
|
||||
|
||||
* preferences.c (gnomecc_preferences_get): Public method to
|
||||
get pointer of static preferences object
|
||||
|
||||
* main.c (gnome_cc_save_yourself): Session signal handler
|
||||
(gnome_cc_die): Ditto
|
||||
(main): Get client and connect session manager signals
|
||||
|
||||
* capplet-dir-view.c (capplet_dir_view_new): Get prefs pointer
|
||||
via public method
|
||||
(get_capplet_dir_view): Ditto
|
||||
(gnomecc_init): Ditto
|
||||
|
||||
* capplet-dir-view-tree.c: Remove #undef GTK_DISABLE_DEPRECATED,
|
||||
so if included again we see warnings
|
||||
|
||||
|
|
|
@ -46,8 +46,6 @@ CappletDirViewImpl *capplet_dir_view_impl[] = {
|
|||
|
||||
static GObjectClass *parent_class;
|
||||
|
||||
static GnomeCCPreferences *prefs;
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_CAPPLET_DIR,
|
||||
|
@ -263,8 +261,11 @@ capplet_dir_view_update_authenticated (CappletDirView *view, gpointer null)
|
|||
CappletDirView *
|
||||
capplet_dir_view_new (void)
|
||||
{
|
||||
GnomeCCPreferences *prefs;
|
||||
GObject *view;
|
||||
|
||||
prefs = gnomecc_preferences_get ();
|
||||
|
||||
view = g_object_new (capplet_dir_view_get_type (),
|
||||
"layout", prefs->layout,
|
||||
NULL);
|
||||
|
@ -545,6 +546,10 @@ capplet_dir_view_show (CappletDirView *view)
|
|||
static CappletDirView *
|
||||
get_capplet_dir_view (CappletDir *dir, CappletDirView *launcher)
|
||||
{
|
||||
GnomeCCPreferences *prefs;
|
||||
|
||||
prefs = gnomecc_preferences_get ();
|
||||
|
||||
if (prefs->single_window && launcher)
|
||||
return launcher;
|
||||
else
|
||||
|
@ -554,8 +559,9 @@ get_capplet_dir_view (CappletDir *dir, CappletDirView *launcher)
|
|||
void
|
||||
gnomecc_init (void)
|
||||
{
|
||||
prefs = gnomecc_preferences_new ();
|
||||
gnomecc_preferences_load (prefs);
|
||||
GnomeCCPreferences *prefs;
|
||||
|
||||
prefs = gnomecc_preferences_get ();
|
||||
|
||||
g_signal_connect (G_OBJECT (prefs), "changed",
|
||||
(GCallback) prefs_changed_cb, NULL);
|
||||
|
|
|
@ -108,11 +108,35 @@ is_nautilus_running (void)
|
|||
return running;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gnome_cc_save_yourself (GnomeClient *client, gint phase, GnomeSaveStyle save_style,
|
||||
gboolean shutdown, GnomeInteractStyle interact_style,
|
||||
gboolean fast, gchar *argv0)
|
||||
{
|
||||
gchar *argv[3];
|
||||
gint argc;
|
||||
|
||||
argv[0] = argv0;
|
||||
argv[1] = "--use-shell";
|
||||
argc = 2;
|
||||
gnome_client_set_clone_command (client, argc, argv);
|
||||
gnome_client_set_restart_command (client, argc, argv);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
gnome_cc_die (GnomeClient *client, gpointer data)
|
||||
{
|
||||
gtk_main_quit ();
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
CappletDirEntry *entry;
|
||||
CappletDir *dir;
|
||||
GnomeClient *client;
|
||||
|
||||
bindtextdomain (PACKAGE, GNOMELOCALEDIR);
|
||||
bind_textdomain_codeset (PACKAGE, "UTF-8");
|
||||
|
@ -136,6 +160,12 @@ main (int argc, char **argv)
|
|||
return -1;
|
||||
capplet_dir_entry_activate (entry, NULL);
|
||||
|
||||
client = gnome_master_client ();
|
||||
g_signal_connect (G_OBJECT (client), "save_yourself",
|
||||
G_CALLBACK (gnome_cc_save_yourself), argv[0]);
|
||||
g_signal_connect (G_OBJECT (client), "die",
|
||||
G_CALLBACK (gnome_cc_die), NULL);
|
||||
|
||||
gtk_main ();
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -354,3 +354,17 @@ gnomecc_preferences_get_config_dialog (GnomeCCPreferences *prefs)
|
|||
|
||||
return prefs_dialog;
|
||||
}
|
||||
|
||||
GnomeCCPreferences *
|
||||
gnomecc_preferences_get (void)
|
||||
{
|
||||
static GnomeCCPreferences *prefs = NULL;
|
||||
|
||||
if (!prefs) {
|
||||
prefs = gnomecc_preferences_new ();
|
||||
gnomecc_preferences_load (prefs);
|
||||
}
|
||||
|
||||
return prefs;
|
||||
}
|
||||
|
||||
|
|
|
@ -69,4 +69,6 @@ void gnomecc_preferences_save (GnomeCCPreferences *prefs);
|
|||
|
||||
GtkWidget *gnomecc_preferences_get_config_dialog (GnomeCCPreferences *prefs);
|
||||
|
||||
GnomeCCPreferences *gnomecc_preferences_get (void);
|
||||
|
||||
#endif /* __PREFERNCES_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue