Commit e6c3b225 authored by William Jon McCann's avatar William Jon McCann Committed by William Jon McCann

Add a user switcher applet. This is here at the moment instead of in fusa

2008-02-04  William Jon McCann  <jmccann@redhat.com>

	* configure.ac:
	* daemon/gdm-slave.c: (_get_primary_user_session_id):
	* gui/Makefile.am:
	* gui/simple-greeter/Makefile.am:
	* gui/simple-greeter/gdm-user-manager.c: (start_new_login_session),
	(_get_primary_user_session_id), (activate_session_id),
	(session_is_login_window), (_get_login_window_session_id),
	(gdm_user_manager_goto_login_session),
	(gdm_user_manager_activate_user_session),
	(maybe_add_session_for_user), (seat_session_added),
	(gdm_user_manager_get_user_by_uid):
	* gui/simple-greeter/gdm-user-manager.h:
	* gui/simple-greeter/gdm-user.c: (_gdm_user_add_session),
	(_gdm_user_remove_session), (gdm_user_get_num_sessions),
	(gdm_user_get_sessions):
	* gui/simple-greeter/gdm-user.h:
	* gui/user-switch-applet/GNOME_GdmUserSwitchApplet.server.in.in:
	* gui/user-switch-applet/GNOME_GdmUserSwitchApplet.xml:
	* gui/user-switch-applet/Makefile.am:
	* gui/user-switch-applet/Makefile.in:
	* gui/user-switch-applet/applet.c: (about_me_cb), (get_glade_xml),
	(make_label_bold), (make_label_small_italic),
	(prefs_radio_toggled_cb), (prefs_xnest_check_toggled_cb),
	(prefs_lock_check_toggled_cb), (reset_login_screen_item),
	(system_can_do_xnest), (reset_login_window_item),
	(menubar_button_press_event_cb), (prefs_cb), (help_cb), (about_cb),
	(admin_cb), (setup_cb), (set_menuitem_icon), (applet_style_set_cb),
	(applet_change_background_cb), (applet_key_press_event_cb),
	(applet_size_allocate_cb), (gdm_applet_data_free),
	(menubar_expose_event_cb), (sort_menu_comparedatafunc),
	(sort_menu), (menu_style_set_cb), (menuitem_destroy_cb),
	(menuitem_style_set_cb), (user_notify_display_name_cb),
	(menu_expose_cb), (switch_to_user_session), (maybe_lock_screen),
	(do_switch), (user_item_activate_cb), (user_sessions_changed_cb),
	(manager_user_added_cb), (login_screen_activate_cb),
	(login_window_activate_cb), (display_key_changed),
	(xnest_key_changed), (client_notify_applet_func),
	(client_notify_global_func), (client_notify_lockdown_func),
	(applet_fill_cb):
	* gui/user-switch-applet/gdm-user-menu-item.c: (user_weak_notify),
	(reset_label), (reset_icon), (user_notify_cb),
	(user_icon_changed_cb), (user_sessions_changed_cb),
	(_gdm_user_menu_item_set_user), (gdm_user_menu_item_set_property),
	(gdm_user_menu_item_get_property), (gdm_user_menu_item_finalize),
	(gdm_user_menu_item_expose_event),
	(gdm_user_menu_item_size_request), (gdm_user_menu_item_class_init),
	(image_style_set_cb), (label_style_set_cb),
	(gdm_user_menu_item_init), (gdm_user_menu_item_new),
	(gdm_user_menu_item_get_user), (gdm_user_menu_item_get_icon_size),
	(gdm_user_menu_item_set_icon_size):
	* gui/user-switch-applet/gdm-user-menu-item.h:
	* gui/user-switch-applet/gdm-user-switch-applet.glade:
	* gui/user-switch-applet/gdm-user-switch-applet.schemas.in:
	Add a user switcher applet.  This is here at the moment instead
	of in fusa so that we can share code and stay in sync.  This
	is important since it is very likely we'll need to change interfaces
	slightly.


svn path=/trunk/; revision=5692
parent b05b0bf1
2008-02-04 William Jon McCann <jmccann@redhat.com>
* configure.ac:
* daemon/gdm-slave.c: (_get_primary_user_session_id):
* gui/Makefile.am:
* gui/simple-greeter/Makefile.am:
* gui/simple-greeter/gdm-user-manager.c: (start_new_login_session),
(_get_primary_user_session_id), (activate_session_id),
(session_is_login_window), (_get_login_window_session_id),
(gdm_user_manager_goto_login_session),
(gdm_user_manager_activate_user_session),
(maybe_add_session_for_user), (seat_session_added),
(gdm_user_manager_get_user_by_uid):
* gui/simple-greeter/gdm-user-manager.h:
* gui/simple-greeter/gdm-user.c: (_gdm_user_add_session),
(_gdm_user_remove_session), (gdm_user_get_num_sessions),
(gdm_user_get_sessions):
* gui/simple-greeter/gdm-user.h:
* gui/user-switch-applet/GNOME_GdmUserSwitchApplet.server.in.in:
* gui/user-switch-applet/GNOME_GdmUserSwitchApplet.xml:
* gui/user-switch-applet/Makefile.am:
* gui/user-switch-applet/Makefile.in:
* gui/user-switch-applet/applet.c: (about_me_cb), (get_glade_xml),
(make_label_bold), (make_label_small_italic),
(prefs_radio_toggled_cb), (prefs_xnest_check_toggled_cb),
(prefs_lock_check_toggled_cb), (reset_login_screen_item),
(system_can_do_xnest), (reset_login_window_item),
(menubar_button_press_event_cb), (prefs_cb), (help_cb), (about_cb),
(admin_cb), (setup_cb), (set_menuitem_icon), (applet_style_set_cb),
(applet_change_background_cb), (applet_key_press_event_cb),
(applet_size_allocate_cb), (gdm_applet_data_free),
(menubar_expose_event_cb), (sort_menu_comparedatafunc),
(sort_menu), (menu_style_set_cb), (menuitem_destroy_cb),
(menuitem_style_set_cb), (user_notify_display_name_cb),
(menu_expose_cb), (switch_to_user_session), (maybe_lock_screen),
(do_switch), (user_item_activate_cb), (user_sessions_changed_cb),
(manager_user_added_cb), (login_screen_activate_cb),
(login_window_activate_cb), (display_key_changed),
(xnest_key_changed), (client_notify_applet_func),
(client_notify_global_func), (client_notify_lockdown_func),
(applet_fill_cb):
* gui/user-switch-applet/gdm-user-menu-item.c: (user_weak_notify),
(reset_label), (reset_icon), (user_notify_cb),
(user_icon_changed_cb), (user_sessions_changed_cb),
(_gdm_user_menu_item_set_user), (gdm_user_menu_item_set_property),
(gdm_user_menu_item_get_property), (gdm_user_menu_item_finalize),
(gdm_user_menu_item_expose_event),
(gdm_user_menu_item_size_request), (gdm_user_menu_item_class_init),
(image_style_set_cb), (label_style_set_cb),
(gdm_user_menu_item_init), (gdm_user_menu_item_new),
(gdm_user_menu_item_get_user), (gdm_user_menu_item_get_icon_size),
(gdm_user_menu_item_set_icon_size):
* gui/user-switch-applet/gdm-user-menu-item.h:
* gui/user-switch-applet/gdm-user-switch-applet.glade:
* gui/user-switch-applet/gdm-user-switch-applet.schemas.in:
Add a user switcher applet. This is here at the moment instead
of in fusa so that we can share code and stay in sync. This
is important since it is very likely we'll need to change interfaces
slightly.
2008-02-04 William Jon McCann <jmccann@redhat.com>
* gui/simple-greeter/gdm-user-chooser-widget.c: (update_icons):
......
......@@ -47,6 +47,7 @@ LIBGLADE_REQUIRED_VERSION=1.99.2
SCROLLKEEPER_REQUIRED_VERSION=0.1.4
GCONF_REQUIRED_VERSION=2.6.1
POLICYKIT_REQUIRED_VERSION=0.7
GNOME_PANEL_REQUIRED_VERSION=2.0.0
EXTRA_COMPILE_WARNINGS(yes)
......@@ -117,20 +118,12 @@ PKG_CHECK_MODULES(SIMPLE_CHOOSER,
AC_SUBST(SIMPLE_CHOOSER_CFLAGS)
AC_SUBST(SIMPLE_CHOOSER_LIBS)
PKG_CHECK_MODULES(SETTINGS_DAEMON,
PKG_CHECK_MODULES(APPLET,
gtk+-2.0 >= $GTK_REQUIRED_VERSION
gconf-2.0 >= $GCONF_REQUIRED_VERSION
gmodule-2.0
)
AC_SUBST(SETTINGS_DAEMON_CFLAGS)
AC_SUBST(SETTINGS_DAEMON_LIBS)
PKG_CHECK_MODULES(SETTINGS_PLUGIN,
gtk+-2.0 >= $GTK_REQUIRED_VERSION
gconf-2.0 >= $GCONF_REQUIRED_VERSION
)
AC_SUBST(SETTINGS_PLUGIN_CFLAGS)
AC_SUBST(SETTINGS_PLUGIN_LIBS)
libpanelapplet-2.0 >= $GNOME_PANEL_REQUIRED_VERSION
libglade-2.0 >= $LIBGLADE_REQUIRED_VERSION)
AC_SUBST(APPLET_CFLAGS)
AC_SUBST(APPLET_LIBS)
PLUGIN_LIBTOOL_FLAGS="-export_dynamic -module -avoid-version"
AC_SUBST(PLUGIN_LIBTOOL_FLAGS)
......@@ -1339,6 +1332,7 @@ gui/Makefile
gui/simple-greeter/Makefile
gui/simple-greeter/libnotificationarea/Makefile
gui/simple-chooser/Makefile
gui/user-switch-applet/Makefile
utils/Makefile
data/Makefile
data/faces/Makefile
......
......@@ -851,7 +851,7 @@ _get_primary_user_session_id (GdmSlave *slave,
if (slave->priv->display_seat_id == NULL || slave->priv->display_seat_id[0] == '\0') {
g_debug ("GdmSlave: display seat id is not set; can't switch sessions");
return FALSE;
return NULL;
}
ret = FALSE;
......@@ -917,18 +917,13 @@ _get_primary_user_session_id (GdmSlave *slave,
ssid = g_ptr_array_index (sessions, i);
if (! x11_session_is_on_seat (slave, ssid, slave->priv->display_seat_id)) {
goto next;
}
/* FIXME: better way to choose? */
if (primary_ssid == NULL) {
if (x11_session_is_on_seat (slave, ssid, slave->priv->display_seat_id)) {
primary_ssid = g_strdup (ssid);
break;
}
next:
g_free (ssid);
}
g_ptr_array_foreach (sessions, (GFunc)g_free, NULL);
g_ptr_array_free (sessions, TRUE);
out:
......
NULL =
SUBDIRS = \
simple-chooser \
simple-greeter \
SUBDIRS = \
simple-chooser \
simple-greeter \
user-switch-applet \
$(NULL)
......@@ -28,6 +28,33 @@ schemasdir = @GCONF_SCHEMA_FILE_DIR@
schemas_in_files = gdm-simple-greeter.schemas.in
schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
noinst_LTLIBRARIES = \
libgdmuser.la \
$(null)
libgdmuser_la_SOURCES = \
gdm-user.c \
gdm-user.h \
gdm-user-private.h \
gdm-user-manager.c \
gdm-user-manager.h \
$(NULL)
libgdmuser_la_CPPFLAGS = \
$(DISABLE_DEPRECATED_CFLAGS) \
$(NULL)
libgdmuser_la_CFLAGS = \
$(SIMPLE_GREETER_CFLAGS) \
$(NULL)
libgdmuser_la_LIBADD = \
$(NULL)
libgdmuser_la_LDFLAGS = \
-export-dynamic \
$(NULL)
noinst_PROGRAMS = \
test-greeter-login-window \
test-remote-login-window \
......@@ -50,18 +77,14 @@ test_greeter_login_window_SOURCES = \
gdm-user-chooser-widget.c \
gdm-user-chooser-dialog.h \
gdm-user-chooser-dialog.c \
gdm-user-manager.h \
gdm-user-manager.c \
gdm-user-private.h \
gdm-user.h \
gdm-user.c \
$(NULL)
test_greeter_login_window_LDADD = \
$(top_builddir)/common/libgdmcommon.la \
libgdmuser.la \
$(SIMPLE_GREETER_LIBS) \
$(POLKIT_GNOME_LIBS) \
$(RBAC_LIBS) \
$(top_builddir)/common/libgdmcommon.la \
$(NULL)
test_greeter_panel_SOURCES = \
......@@ -140,28 +163,20 @@ test_user_chooser_SOURCES = \
gdm-user-chooser-widget.c \
gdm-user-chooser-dialog.h \
gdm-user-chooser-dialog.c \
gdm-user-manager.h \
gdm-user-manager.c \
gdm-user-private.h \
gdm-user.h \
gdm-user.c \
$(NULL)
test_user_chooser_LDADD = \
libgdmuser.la \
$(SIMPLE_GREETER_LIBS) \
$(POLKIT_GNOME_LIBS) \
$(NULL)
test_user_manager_SOURCES = \
test-user-manager.c \
gdm-user-manager.h \
gdm-user-manager.c \
gdm-user-private.h \
gdm-user.h \
gdm-user.c \
$(NULL)
test_user_manager_LDADD = \
libgdmuser.la \
$(SIMPLE_GREETER_LIBS) \
$(POLKIT_GNOME_LIBS) \
$(NULL)
......@@ -204,21 +219,16 @@ gdm_simple_greeter_SOURCES = \
gdm-session-chooser-widget.c \
gdm-user-chooser-widget.h \
gdm-user-chooser-widget.c \
gdm-user-manager.h \
gdm-user-manager.c \
gdm-user-private.h \
gdm-user.h \
gdm-user.c \
$(NULL)
gdm_simple_greeter_LDADD = \
$(top_builddir)/common/libgdmcommon.la \
libgdmuser.la \
$(top_builddir)/gui/simple-greeter/libnotificationarea/libnotificationarea.la \
$(EXTRA_GREETER_LIBS) \
$(SIMPLE_GREETER_LIBS) \
$(POLKIT_GNOME_LIBS) \
$(RBAC_LIBS) \
$(top_builddir)/common/libgdmcommon.la \
$(NULL)
gladedir = $(pkgdatadir)
......
This diff is collapsed.
......@@ -72,6 +72,14 @@ GdmUserManager * gdm_user_manager_ref_default (void);
GSList * gdm_user_manager_list_users (GdmUserManager *manager);
GdmUser * gdm_user_manager_get_user (GdmUserManager *manager,
const char *user_name);
GdmUser * gdm_user_manager_get_user_by_uid (GdmUserManager *manager,
uid_t uid);
gboolean gdm_user_manager_activate_user_session (GdmUserManager *manager,
GdmUser *user);
gboolean gdm_user_manager_goto_login_session (GdmUserManager *manager);
G_END_DECLS
#endif /* __GDM_USER_MANAGER_H */
......@@ -70,7 +70,7 @@ struct _GdmUser {
char *real_name;
char *home_dir;
char *shell;
GSList *sessions;
GList *sessions;
gulong login_frequency;
};
......@@ -105,15 +105,15 @@ void
_gdm_user_add_session (GdmUser *user,
const char *ssid)
{
GSList *li;
GList *li;
g_return_if_fail (GDM_IS_USER (user));
g_return_if_fail (ssid != NULL);
li = g_slist_find_custom (user->sessions, ssid, (GCompareFunc)session_compare);
li = g_list_find_custom (user->sessions, ssid, (GCompareFunc)session_compare);
if (li == NULL) {
g_debug ("GdmUser: adding session %s", ssid);
user->sessions = g_slist_prepend (user->sessions, g_strdup (ssid));
user->sessions = g_list_prepend (user->sessions, g_strdup (ssid));
g_signal_emit (user, signals[SESSIONS_CHANGED], 0);
} else {
g_debug ("GdmUser: session already present: %s", ssid);
......@@ -124,16 +124,16 @@ void
_gdm_user_remove_session (GdmUser *user,
const char *ssid)
{
GSList *li;
GList *li;
g_return_if_fail (GDM_IS_USER (user));
g_return_if_fail (ssid != NULL);
li = g_slist_find_custom (user->sessions, ssid, (GCompareFunc)session_compare);
li = g_list_find_custom (user->sessions, ssid, (GCompareFunc)session_compare);
if (li != NULL) {
g_debug ("GdmUser: removing session %s", ssid);
g_free (li->data);
user->sessions = g_slist_delete_link (user->sessions, li);
user->sessions = g_list_delete_link (user->sessions, li);
g_signal_emit (user, signals[SESSIONS_CHANGED], 0);
} else {
g_debug ("GdmUser: session not found: %s", ssid);
......@@ -143,7 +143,13 @@ _gdm_user_remove_session (GdmUser *user,
guint
gdm_user_get_num_sessions (GdmUser *user)
{
return g_slist_length (user->sessions);
return g_list_length (user->sessions);
}
GList *
gdm_user_get_sessions (GdmUser *user)
{
return user->sessions;
}
static void
......
......@@ -37,21 +37,22 @@ G_BEGIN_DECLS
typedef struct _GdmUser GdmUser;
GType gdm_user_get_type (void) G_GNUC_CONST;
uid_t gdm_user_get_uid (GdmUser *user);
G_CONST_RETURN char *gdm_user_get_user_name (GdmUser *user);
G_CONST_RETURN char *gdm_user_get_real_name (GdmUser *user);
G_CONST_RETURN char *gdm_user_get_home_directory (GdmUser *user);
G_CONST_RETURN char *gdm_user_get_shell (GdmUser *user);
guint gdm_user_get_num_sessions (GdmUser *user);
GType gdm_user_get_type (void) G_GNUC_CONST;
uid_t gdm_user_get_uid (GdmUser *user);
G_CONST_RETURN char *gdm_user_get_user_name (GdmUser *user);
G_CONST_RETURN char *gdm_user_get_real_name (GdmUser *user);
G_CONST_RETURN char *gdm_user_get_home_directory (GdmUser *user);
G_CONST_RETURN char *gdm_user_get_shell (GdmUser *user);
guint gdm_user_get_num_sessions (GdmUser *user);
GList *gdm_user_get_sessions (GdmUser *user);
gulong gdm_user_get_login_frequency (GdmUser *user);
GdkPixbuf *gdm_user_render_icon (GdmUser *user,
gint icon_size);
GdkPixbuf *gdm_user_render_icon (GdmUser *user,
gint icon_size);
gint gdm_user_collate (GdmUser *user1,
GdmUser *user2);
gint gdm_user_collate (GdmUser *user1,
GdmUser *user2);
G_END_DECLS
......
<oaf_info>
<oaf_server iid="OAFIID:GNOME_GdmUserSwitchApplet_Factory" type="exe"
location="@LIBEXECDIR@/gdm-user-switch-applet">
<oaf_attribute name="repo_ids" type="stringv">
<item value="IDL:Bonobo/GenericFactory:1.0"/>
<item value="IDL:Bonobo/Unknown:1.0"/>
</oaf_attribute>
<oaf_attribute name="name" type="string" _value="User Switcher Applet Factory"/>
<oaf_attribute name="description" type="string" _value="User Switcher Applet Factory"/>
<oaf_attribute name="bonobo:environment" type="stringv">
<item value="DBUS_SESSION_BUS_ADDRESS"/>
<oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/>
<oaf_attribute name="bugzilla:product" type="string" value="gdm-user-switch-applet"/>
<oaf_attribute name="bugzilla:component" type="string" value="Applet"/>
<oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/>
<oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/>
</oaf_attribute>
</oaf_server>
<oaf_server iid="OAFIID:GNOME_GdmUserSwitchApplet" type="factory"
location="OAFIID:GNOME_GdmUserSwitchApplet_Factory">
<oaf_attribute name="repo_ids" type="stringv">
<item value="IDL:GNOME/Vertigo/PanelAppletShell:1.0"/>
<item value="IDL:Bonobo/Control:1.0"/>
<item value="IDL:Bonobo/Unknown:1.0"/>
</oaf_attribute>
<oaf_attribute name="name" type="string" _value="User Switcher 2"/>
<oaf_attribute name="description" type="string" _value="A menu to quickly switch between users"/>
<oaf_attribute name="panel:icon" type="string" value="stock_people"/>
<oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/>
<oaf_attribute name="bugzilla:product" type="string" value="gdm-user-switch-applet"/>
<oaf_attribute name="bugzilla:component" type="string" value="Applet"/>
<oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/>
<oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/>
</oaf_server>
</oaf_info>
<Root>
<popups>
<popup name="button3">
<menuitem
name="About Me Item"
verb="GdmAboutMe"
_label="Edit Personal _Information"/>
<menuitem
name="Users and Groups Admin Item"
verb="GdmUsersGroupsAdmin"
_label="_Edit Users and Groups"/>
<menuitem
name="GDM Setup Item"
verb="GdmGdmSetup"
_label="_Setup Login Screen"/>
<separator
name="GdmSeparator"/>
<menuitem
name="Preferences Item"
verb="GdmPreferences"
_label="_Preferences"
pixtype="stock"
pixname="gtk-properties"/>
<menuitem
name="Help Item"
verb="GdmHelp"
_label="_Help"
pixtype="stock"
pixname="gtk-help"/>
<menuitem
name="About Item"
verb="GdmAbout"
_label="_About"
pixtype="stock"
pixname="gtk-about"/>
</popup>
</popups>
</Root>
NULL =
INCLUDES = \
-I$(top_srcdir)/gui/simple-greeter \
-DPREFIX=\""$(prefix)"\" \
-DLIBDIR=\""$(libdir)"\" \
-DDATADIR=\""$(datadir)"\" \
-DSYSCONFDIR=\""$(sysconfdir)"\" \
-DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
-DGLADEDIR=\""$(pkgdatadir)"\" \
-DLIBEXECDIR=\""$(libexecdir)"\" \
-DSBINDIR=\""$(sbindir)"\" \
$(GTK_CFLAGS) \
$(APPLET_CFLAGS) \
$(NULL)
libexec_PROGRAMS = \
gdm-user-switch-applet \
$(NULL)
gdm_user_switch_applet_SOURCES = \
applet.c \
gdm-user-menu-item.h \
gdm-user-menu-item.c \
$(NULL)
gdm_user_switch_applet_LDADD = \
$(top_builddir)/gui/simple-greeter/libgdmuser.la \
$(APPLET_LIBS) \
$(NULL)
schemasdir = @GCONF_SCHEMA_FILE_DIR@
schemas_in_files = gdm-user-switch-applet.schemas.in
schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
@INTLTOOL_SCHEMAS_RULE@
gladedir = $(pkgdatadir)
glade_DATA = \
gdm-user-switch-applet.glade \
$(NULL)
# Bonobo UI
uidir = $(datadir)/gnome-2.0/ui
ui_DATA = \
GNOME_GdmUserSwitchApplet.xml \
$(NULL)
# Bonobo .server
serverdir = $(libdir)/bonobo/servers
server_in_files = \
GNOME_GdmUserSwitchApplet.server.in \
$(NULL)
server_DATA = $(server_in_files:.server.in=.server)
$(server_in_files): $(server_in_files:.server.in=.server.in.in)
sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" -e "s|\@VERSION\@|$(VERSION)|" $< > $@
@INTLTOOL_SERVER_RULE@
EXTRA_DIST = \
$(schemas_in_files) \
$(glade_DATA) \
$(ui_DATA) \
GNOME_GdmUserSwitchApplet.server.in.in \
$(NULL)
DISTCLEANFILES = \
$(server_in_files) \
$(schemas_DATA) \
$(server_DATA) \
$(NULL)
MAINTAINERCLEANFILES = \
*~ \
Makefile.in
if GCONF_SCHEMAS_INSTALL
# don't do this if we are building in eg. rpm
install-data-local: $(schemas_DATA)
if test -z "$(DESTDIR)" ; then \
for p in $(schemas_DATA) ; do \
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(top_builddir)/gui/user-switch-applet/$$p ; \
done \
fi
else
install-data-local:
endif
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
*
* Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/*
* A menu item bound to a GdmUser.
*/
#ifndef __GDM_USER_MENU_ITEM__
#define __GDM_USER_MENU_ITEM__ 1
#include <gtk/gtkimagemenuitem.h>
#include "gdm-user.h"
G_BEGIN_DECLS
#define GDM_TYPE_USER_MENU_ITEM \
(gdm_user_menu_item_get_type ())
#define GDM_USER_MENU_ITEM(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), GDM_TYPE_USER_MENU_ITEM, GdmUserMenuItem))
#define GDM_USER_MENU_ITEM_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GDM_TYPE_USER_MENU_ITEM, GdmUserMenuItemClass))
#define GDM_IS_USER_MENU_ITEM(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), GDM_TYPE_USER_MENU_ITEM))
#define GDM_IS_USER_MENU_ITEM_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GDM_TYPE_USER_MENU_ITEM))
#define GDM_USER_MENU_ITEM_GET_CLASS(object) \
(G_TYPE_INSTANCE_GET_CLASS ((object), GDM_TYPE_USER_MENU_ITEM, GdmUserMenuItemClass))
typedef struct _GdmUserMenuItem GdmUserMenuItem;
typedef struct _GdmUserMenuItemClass GdmUserMenuItemClass;
GType gdm_user_menu_item_get_type (void) G_GNUC_CONST;
GtkWidget *gdm_user_menu_item_new (GdmUser *user);
GdmUser *gdm_user_menu_item_get_user (GdmUserMenuItem *item);
gint gdm_user_menu_item_get_icon_size (GdmUserMenuItem *item);
void gdm_user_menu_item_set_icon_size (GdmUserMenuItem *item,
gint pixel_size);
G_END_DECLS
#endif /* !__GDM_USER_MENU_ITEM__ */
This diff is collapsed.
<?xml version="1.0"?>
<gconfschemafile>
<schemalist>
<schema>
<key>/schemas/apps/gdm-user-switch-applet/per-applet/display_style</key>
<owner>gdm-user-switch-applet</owner>
<type>string</type>
<default>text</default>
<locale name="C">
<short>Display Style</short>
<long>Specifies how to display the applet in the panel. Use "username"
to display the current user's name, "icon" to show the people icon, or
"text" to use the word `Users.'</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm-user-switch-applet/per-applet/lock_screen_after_switch</key>
<owner>gdm-user-switch-applet</owner>
<type>bool</type>
<default>TRUE</default>
<locale name="C">
<short>Lock Screen After Switch</short>
<long>Whether or not to lock the screen after switching to a different
console.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm-user-switch-applet/per-applet/use_xnest</key>
<owner>gdm-user-switch-applet</owner>
<type>bool</type>
<default>FALSE</default>
<locale name="C">
<short>Use Xnest</short>
<long>Whether or not to create new Xnest windows instead of spawning
new consoles when switching users.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm-user-switch-applet/show_screen_item</key>
<applyto>/apps/gdm-user-switch-applet/show_screen_item</applyto>
<owner>gdm-user-switch-applet</owner>
<type>string</type>
<default>always</default>
<locale name="C">
<short>Show "Other" Menuitem</short>
<long>When to show the "Other" item. Possible values include:
"always" to always show the item, "never" to never show the item, and
"auto" (the default) to show the item when the applet is in console (not
Xnest) mode.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm-user-switch-applet/show_window_item</key>
<applyto>/apps/gdm-user-switch-applet/show_window_item</applyto>
<owner>gdm-user-switch-applet</owner>
<type>string</type>
<default>auto</default>
<locale name="C">
<short>Show "Login Window" Menuitem</short>
<long>When to show the "Login Window" item. Possible values include:
"always" to always show the item, "never" to never show the item, and
"auto" (the default) to show the item when the applet is in Xnest mode.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm-user-switch-applet/show_active_users_only</key>
<applyto>/apps/gdm-user-switch-applet/show_active_users_only</applyto>
<owner>gdm-user-switch-applet</owner>
<type>bool</type>
<default>FALSE</default>
<locale name="C">
<short>Show Active Users Only</short>
<long>Whether to show only users who are currently logged in, or all
users.</long>
</locale>
</schema>
</schemalist>
</gconfschemafile>
2008-02-04 William Jon McCann <jmccann@redhat.com>
reviewed by: <delete if not using a buddy>
* POTFILES.in:
* POTFILES.skip:
2008-02-04 Theppitak Karoonboonyanan <thep@linux.thai.net>
* th.po: Updated Thai translation.
......
......@@ -64,4 +64,10 @@ gui/simple-greeter/gdm-simple-greeter.schemas.in
gui/simple-greeter/gdm-user.c
gui/simple-greeter/gdm-user-chooser-widget.c
gui/simple-greeter/greeter-main.c
gui/user-switch-applet/GNOME_GdmUserSwitchApplet.server.in.in
gui/user-switch-applet/GNOME_GdmUserSwitchApplet.xml
gui/user-switch-applet/applet.c
gui/user-switch-applet/gdm-user-menu-item.c
gui/user-switch-applet/gdm-user-switch-applet.glade
gui/user-switch-applet/gdm-user-switch-applet.schemas.in
utils/gdmflexiserver.c
......@@ -7,5 +7,6 @@
# remove these unless you fix "make distcheck" a different way.
#
data/gdm.schemas.in
gui/user-switch-applet/GNOME_GdmUserSwitchApplet.server.in
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment