Commit 2d006998 authored by Marek Kašík's avatar Marek Kašík Committed by Ray Strode

Migrate GDM off GConf to GSettings.

This commit moves the fallback greeter and daemon away from gconf.

Some changes from Ray Strode.

https://bugzilla.gnome.org/show_bug.cgi?id=635375
parent 597729e3
......@@ -60,7 +60,6 @@ GLIB_REQUIRED_VERSION=2.29.3
GTK_REQUIRED_VERSION=2.91.1
PANGO_REQUIRED_VERSION=1.3.0
SCROLLKEEPER_REQUIRED_VERSION=0.1.4
GCONF_REQUIRED_VERSION=2.31.3
GNOME_PANEL_REQUIRED_VERSION=2.0.0
LIBXKLAVIER_REQUIRED_VERSION=4.0
LIBCANBERRA_GTK_REQUIRED_VERSION=0.4
......@@ -121,17 +120,8 @@ AC_SUBST(GTK_LIBS)
PKG_CHECK_MODULES(CANBERRA_GTK,
libcanberra-gtk3 >= $LIBCANBERRA_GTK_REQUIRED_VERSION
)
AC_SUBST(GCONF_CFLAGS)
AC_SUBST(GCONF_LIBS)
PKG_CHECK_MODULES(GCONF,
gconf-2.0 >= $GCONF_REQUIRED_VERSION
)
AC_SUBST(GCONF_CFLAGS)
AC_SUBST(GCONF_LIBS)
gconf_defaultpath=`pkg-config gconf-2.0 --variable=gconf_defaultpath`
AC_DEFINE_UNQUOTED([GCONF_DEFAULTPATH], "$gconf_defaultpath", [GConf Default Path])
AC_SUBST(CANBERRA_GTK_CFLAGS)
AC_SUBST(CANBERRA_GTK_LIBS)
PKG_CHECK_MODULES(UPOWER,
upower-glib >= $UPOWER_REQUIRED_VERSION,
......@@ -148,7 +138,6 @@ AC_SUBST(UPOWER_LIBS)
PKG_CHECK_MODULES(SIMPLE_GREETER,
dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gtk+-3.0 >= $GTK_REQUIRED_VERSION
gconf-2.0 >= $GCONF_REQUIRED_VERSION
fontconfig >= $FONTCONFIG_REQUIRED_VERSION
accountsservice >= $ACCOUNTS_SERVICE_REQUIRED_VERSION
x11
......@@ -172,7 +161,6 @@ AC_SUBST(LIBXKLAVIER_LIBS)
PKG_CHECK_MODULES(SIMPLE_CHOOSER,
dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gtk+-3.0 >= $GTK_REQUIRED_VERSION
gconf-2.0 >= $GCONF_REQUIRED_VERSION
)
AC_SUBST(SIMPLE_CHOOSER_CFLAGS)
AC_SUBST(SIMPLE_CHOOSER_LIBS)
......@@ -190,10 +178,6 @@ PKG_CHECK_MODULES(CHECK,
have_check=no)
AM_CONDITIONAL([HAVE_CHECK],[test "x$CHECK_CFLAGS" != "x"])
AC_PATH_PROG(GCONFTOOL, gconftool-2)
AM_GCONF_SOURCE_2
LIBGDMGREETER_LIBS="$SIMPLE_GREETER_LIBS"
AC_SUBST(LIBGDMGREETER_LIBS)
LIBGDMGREETER_CFLAGS="$SIMPLE_GREETER_CFLAGS"
......
......@@ -315,7 +315,6 @@ build_welcome_environment (GdmWelcomeSession *welcome_session,
seat_id = welcome_session->priv->x11_display_seat_id +
strlen ("/org/freedesktop/ConsoleKit/");
g_hash_table_insert (hash, g_strdup ("GCONF_DEFAULT_SOURCE_PATH"), g_strdup (GCONF_DEFAULTPATH));
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
}
......@@ -423,30 +422,6 @@ spawn_child_setup (SpawnChildData *data)
_exit (1);
}
if (pwent->pw_dir != NULL) {
struct stat statbuf;
const char *seat_id;
char *gconf_dir;
int r;
seat_id = data->seat_id + strlen ("/org/freedesktop/ConsoleKit/");
gconf_dir = g_strdup_printf ("%s/%s", pwent->pw_dir, seat_id);
/* Verify per-seat gconf directory exists, create if needed */
r = g_stat (gconf_dir, &statbuf);
if (r < 0) {
g_debug ("Making per-seat gconf directory %s", gconf_dir);
g_mkdir (gconf_dir, S_IRWXU | S_IXGRP | S_IRGRP);
g_chmod (gconf_dir, S_IRWXU | S_IXGRP | S_IRGRP);
res = chown (gconf_dir, pwent->pw_uid, grent->gr_gid);
if (res == -1) {
g_warning ("GdmWelcomeSession: Error setting owner of per-seat gconf directory: %s",
g_strerror (errno));
}
}
g_free (gconf_dir);
}
g_debug ("GdmWelcomeSession: Setting up run time dir %s", data->runtime_dir);
g_mkdir (data->runtime_dir, 0755);
res = chown (data->runtime_dir, pwent->pw_uid, pwent->pw_gid);
......
......@@ -115,8 +115,6 @@ EXTRA_DIST = \
PreSession.in \
PostSession.in \
PostLogin \
gconf.path \
session-setup.entries \
gdm-shell.session.in \
dconf-profile \
00-upstream-settings \
......@@ -158,12 +156,10 @@ uninstall-hook:
$(DESTDIR)$(PAM_PREFIX)/pam.d/gdm \
$(DESTDIR)$(PAM_PREFIX)/pam.d/gdm-autologin \
$(DESTDIR)$(PAM_PREFIX)/pam.d/gdm-welcome \
$(DESTDIR)$(workingdir)/.gconf.path \
$(DESTDIR)$(sysconfdir)/dconf/db/gdm \
$(DESTDIR)$(sysconfdir)/dconf/profile/gdm \
-rf \
$(DESTDIR)$(sysconfdir)/dconf/db/gdm.d \
$(DESTDIR)$(workingdir)/.gconf.mandatory \
$(DESTDIR)$(workingdir)/.config/dconf \
$(DESTDIR)$(screenshotdir) \
$(DESTDIR)$(xauthdir)
......@@ -174,7 +170,7 @@ uninstall-hook:
$(DESTDIR)$(sysconfdir)/dconf/db \
$(DESTDIR)$(sysconfdir)/dconf
install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.path 00-upstream-settings 00-upstream-settings-locks
install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession 00-upstream-settings 00-upstream-settings-locks
if test '!' -d $(DESTDIR)$(gdmconfdir); then \
$(mkinstalldirs) $(DESTDIR)$(gdmconfdir); \
chmod 755 $(DESTDIR)$(gdmconfdir); \
......@@ -311,13 +307,6 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.pa
chown root:gdm $(DESTDIR)$(cachedir) || : ; \
fi
$(INSTALL_DATA) $(srcdir)/gconf.path $(DESTDIR)$(workingdir)/.gconf.path
gconftool-2 --direct --config-source=xml:merged:$(DESTDIR)$(workingdir)/.gconf.mandatory --recursive-unset /
gconftool-2 --direct --config-source=xml:merged:$(DESTDIR)$(workingdir)/.gconf.mandatory --load $(srcdir)/session-setup.entries
chown -R root:gdm $(DESTDIR)$(workingdir)/.gconf.mandatory || :
chmod 1750 $(DESTDIR)$(workingdir)/.gconf.mandatory
chmod 1640 $(DESTDIR)$(workingdir)/.gconf.mandatory/*.xml
$(INSTALL_DATA) $(srcdir)/dconf-profile $(DESTDIR)$(sysconfdir)/dconf/profile/gdm
$(INSTALL_DATA) $(srcdir)/00-upstream-settings $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d
$(INSTALL_DATA) $(srcdir)/00-upstream-settings-locks $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d/locks
......
# treat system-wide settings as mandatory
xml:readonly:/etc/gconf/gconf.xml.system
# override some settings
# we treat settings in this location as
# owned by GDM. Sysadmins should create
# another source if they wish to override them.
xml:readonly:$(HOME)/.gconf.mandatory
# Set per-seat configuration directory
xml:readwrite:$(HOME)/$(ENV_GDM_SEAT_ID)/.gconf
......@@ -31,6 +31,17 @@
provide branding.
</_description>
</key>
<key name="fallback-logo" type="s">
<default>''</default>
<_summary>
Path to small image at top of user list
</_summary>
<_description>
The fallback login screen can optionally show a small image at the top of its
user list to provide site administrators and distributions a way to
provide branding.
</_description>
</key>
<key name="disable-user-list" type="b">
<default>false</default>
<_summary>
......@@ -41,5 +52,32 @@
as. This setting can be toggled to disable showing the user list.
</_description>
</key>
<key name="banner-message-enable" type="b">
<default>false</default>
<_summary>
Enable showing the banner message
</_summary>
<_description>
Set to true to show the banner message text.
</_description>
</key>
<key name="banner-message-text" type="s">
<default>''</default>
<_summary>
Banner message text
</_summary>
<_description>
Text banner message to show in the login window.
</_description>
</key>
<key name="disable-restart-buttons" type="b">
<default>false</default>
<_summary>
Disable showing the restart buttons
</_summary>
<_description>
Set to true to disable showing the restart buttons in the login window.
</_description>
</key>
</schema>
</schemalist>
This diff is collapsed.
......@@ -30,7 +30,6 @@
#include <glib/gi18n.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <gconf/gconf-client.h>
#include "gdm-common.h"
#include "gdm-log.h"
......@@ -199,25 +198,8 @@ at_set_gtk_modules (void)
static void
load_a11y (void)
{
const char *env_a_t_support;
gboolean a_t_support;
GConfClient *gconf_client;
gconf_client = gconf_client_get_default ();
env_a_t_support = g_getenv ("GNOME_ACCESSIBILITY");
if (env_a_t_support) {
a_t_support = atoi (env_a_t_support);
} else {
a_t_support = gconf_client_get_bool (gconf_client, ACCESSIBILITY_KEY, NULL);
}
if (a_t_support) {
assistive_registry_start ();
at_set_gtk_modules ();
}
g_object_unref (gconf_client);
assistive_registry_start ();
at_set_gtk_modules ();
}
int
......
......@@ -30,7 +30,6 @@
#include <glib/gi18n.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <gconf/gconf-client.h>
#include "gdm-common.h"
#include "gdm-log.h"
......@@ -200,25 +199,8 @@ at_set_gtk_modules (void)
static void
load_a11y (void)
{
const char *env_a_t_support;
gboolean a_t_support;
GConfClient *gconf_client;
gconf_client = gconf_client_get_default ();
env_a_t_support = g_getenv ("GNOME_ACCESSIBILITY");
if (env_a_t_support) {
a_t_support = atoi (env_a_t_support);
} else {
a_t_support = gconf_client_get_bool (gconf_client, ACCESSIBILITY_KEY, NULL);
}
if (a_t_support) {
assistive_registry_start ();
at_set_gtk_modules ();
}
g_object_unref (gconf_client);
assistive_registry_start ();
at_set_gtk_modules ();
}
int
......
......@@ -26,12 +26,6 @@ AM_CPPFLAGS = \
$(SIMPLE_GREETER_CFLAGS) \
$(NULL)
@INTLTOOL_SCHEMAS_RULE@
schemasdir = @GCONF_SCHEMA_FILE_DIR@
schemas_in_files = gdm-simple-greeter.schemas.in
schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
noinst_PROGRAMS = \
test-filesystem-type \
test-greeter-login-window \
......@@ -85,8 +79,6 @@ test_greeter_panel_SOURCES = \
gdm-clock-widget.c \
gdm-option-widget.h \
gdm-option-widget.c \
gdm-recent-option-widget.h \
gdm-recent-option-widget.c \
gdm-cell-renderer-timer.h \
gdm-cell-renderer-timer.c \
gdm-timer.h \
......@@ -106,7 +98,6 @@ test_greeter_panel_LDADD = \
$(top_builddir)/gui/simple-greeter/libgdmsimplegreeter/libgdmsimplegreeter.la \
$(SIMPLE_GREETER_LIBS) \
$(GTK_LIBS) \
$(GCONF_LIBS) \
$(LIBXKLAVIER_LIBS) \
$(UPOWER_LIBS) \
$(NULL)
......@@ -199,8 +190,6 @@ gdm_simple_greeter_SOURCES = \
gdm-clock-widget.c \
gdm-option-widget.h \
gdm-option-widget.c \
gdm-recent-option-widget.h \
gdm-recent-option-widget.c \
gdm-sessions.h \
gdm-sessions.c \
gdm-session-option-widget.h \
......@@ -228,27 +217,10 @@ ui_DATA = \
gdm-greeter-login-window.ui \
$(NULL)
EXTRA_DIST = \
$(schemas_in_files) \
$(ui_DATA) \
EXTRA_DIST = \
$(ui_DATA) \
$(NULL)
DISTCLEANFILES = \
$(schemas_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/simple-greeter/$$p ; \
done \
fi
else
install-data-local:
endif
......@@ -41,6 +41,7 @@
#include <glib/gi18n.h>
#include <glib/gstdio.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <gdk/gdkkeysyms.h>
#include <gdk/gdkx.h>
......@@ -48,8 +49,6 @@
#include <gtk/gtk.h>
#include <gconf/gconf-client.h>
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
......@@ -83,11 +82,11 @@
#define UI_XML_FILE "gdm-greeter-login-window.ui"
#define KEY_GREETER_DIR "/apps/gdm/simple-greeter"
#define KEY_BANNER_MESSAGE_ENABLED KEY_GREETER_DIR "/banner_message_enable"
#define KEY_BANNER_MESSAGE_TEXT KEY_GREETER_DIR "/banner_message_text"
#define KEY_LOGO KEY_GREETER_DIR "/logo_icon_name"
#define KEY_DISABLE_USER_LIST "/apps/gdm/simple-greeter/disable_user_list"
#define LOGIN_SCREEN_SCHEMA "org.gnome.login-screen"
#define KEY_BANNER_MESSAGE_ENABLED "banner-message-enable"
#define KEY_BANNER_MESSAGE_TEXT "banner-message-text"
#define KEY_LOGO "fallback-logo"
#define KEY_DISABLE_USER_LIST "disable-user-list"
#define LSB_RELEASE_COMMAND "lsb_release -d"
......@@ -122,14 +121,14 @@ struct GdmGreeterLoginWindowPrivate
GtkWidget *auth_page_box;
guint display_is_local : 1;
guint user_chooser_loaded : 1;
GConfClient *client;
GSettings *settings;
GList *extensions;
GdmLoginExtension *active_extension;
GList *extensions_to_enable;
GList *extensions_to_stop;
gboolean banner_message_enabled;
guint gconf_cnxn;
gulong gsettings_cnxn;
guint last_mode;
guint dialog_mode;
......@@ -1870,23 +1869,18 @@ load_theme (GdmGreeterLoginWindow *login_window)
image = GTK_WIDGET (gtk_builder_get_object (login_window->priv->builder, "logo-image"));
if (image != NULL) {
char *icon_name;
GError *error;
error = NULL;
icon_name = gconf_client_get_string (login_window->priv->client, KEY_LOGO, &error);
if (error != NULL) {
g_debug ("GdmGreeterLoginWindow: unable to get logo icon name: %s", error->message);
g_error_free (error);
}
GdkPixbuf *pixbuf;
char *path;
path = g_settings_get_string (login_window->priv->settings, KEY_LOGO);
g_debug ("GdmGreeterLoginWindow: Got greeter logo '%s'", path);
g_debug ("GdmGreeterLoginWindow: Got greeter logo '%s'",
icon_name ? icon_name : "(null)");
if (icon_name != NULL) {
gtk_image_set_from_icon_name (GTK_IMAGE (image),
icon_name,
GTK_ICON_SIZE_DIALOG);
g_free (icon_name);
pixbuf = gdk_pixbuf_new_from_file_at_scale (path, -1, 48, TRUE, NULL);
g_free (path);
if (pixbuf != NULL) {
gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
g_object_unref (pixbuf);
}
}
......@@ -2045,7 +2039,6 @@ gdm_greeter_login_window_get_preferred_height (GtkWidget *widget,
static void
update_banner_message (GdmGreeterLoginWindow *login_window)
{
GError *error;
gboolean enabled;
if (login_window->priv->auth_banner_label == NULL) {
......@@ -2054,12 +2047,7 @@ update_banner_message (GdmGreeterLoginWindow *login_window)
return;
}
error = NULL;
enabled = gconf_client_get_bool (login_window->priv->client, KEY_BANNER_MESSAGE_ENABLED, &error);
if (error != NULL) {
g_debug ("GdmGreeterLoginWindow: unable to get configuration: %s", error->message);
g_error_free (error);
}
enabled = g_settings_get_boolean (login_window->priv->settings, KEY_BANNER_MESSAGE_ENABLED);
login_window->priv->banner_message_enabled = enabled;
......@@ -2067,15 +2055,11 @@ update_banner_message (GdmGreeterLoginWindow *login_window)
g_debug ("GdmGreeterLoginWindow: banner message disabled");
gtk_widget_hide (login_window->priv->auth_banner_label);
} else {
char *message = NULL;
error = NULL;
if (message == NULL) {
message = gconf_client_get_string (login_window->priv->client, KEY_BANNER_MESSAGE_TEXT, &error);
if (error != NULL) {
g_debug("GdmGreeterLoginWindow: unable to get banner text: %s", error->message);
g_error_free(error);
}
}
char *message;
message = g_settings_get_string (login_window->priv->settings,
KEY_BANNER_MESSAGE_TEXT);
if (message != NULL) {
char *markup;
markup = g_markup_printf_escaped ("<small><i>%s</i></small>", message);
......@@ -2229,29 +2213,24 @@ gdm_greeter_login_window_class_init (GdmGreeterLoginWindowClass *klass)
}
static void
on_gconf_key_changed (GConfClient *client,
guint cnxn_id,
GConfEntry *entry,
GdmGreeterLoginWindow *login_window)
on_gsettings_key_changed (GSettings *settings,
gchar *key,
gpointer user_data)
{
const char *key;
GConfValue *value;
GdmGreeterLoginWindow *login_window;
key = gconf_entry_get_key (entry);
value = gconf_entry_get_value (entry);
login_window = GDM_GREETER_LOGIN_WINDOW (user_data);
if (strcmp (key, KEY_BANNER_MESSAGE_ENABLED) == 0) {
if (value->type == GCONF_VALUE_BOOL) {
gboolean enabled;
gboolean enabled;
enabled = g_settings_get_boolean (settings, key);
g_debug ("setting key %s = %d", key, enabled);
login_window->priv->banner_message_enabled = enabled;
update_banner_message (login_window);
enabled = gconf_value_get_bool (value);
g_debug ("setting key %s = %d", key, enabled);
login_window->priv->banner_message_enabled = enabled;
update_banner_message (login_window);
} else {
g_warning ("Error retrieving configuration key '%s': Invalid type",
key);
}
} else if (strcmp (key, KEY_BANNER_MESSAGE_TEXT) == 0) {
if (login_window->priv->banner_message_enabled) {
update_banner_message (login_window);
......@@ -2566,9 +2545,8 @@ load_login_extensions (GdmGreeterLoginWindow *login_window)
static void
gdm_greeter_login_window_init (GdmGreeterLoginWindow *login_window)
{
GConfClient *client;
GError *error;
gboolean user_list_disable;
GSettings *settings;
gboolean user_list_disable;
gdm_profile_start (NULL);
......@@ -2577,19 +2555,12 @@ gdm_greeter_login_window_init (GdmGreeterLoginWindow *login_window)
login_window->priv->dialog_mode = MODE_UNDEFINED;
login_window->priv->next_mode = MODE_UNDEFINED;
client = gconf_client_get_default ();
error = NULL;
settings = g_settings_new (LOGIN_SCREEN_SCHEMA);
/* The user list is not shown only if the user list is disabled and
* timed login is also not being used.
*/
user_list_disable = gconf_client_get_bool (client,
KEY_DISABLE_USER_LIST,
&error);
if (error != NULL) {
g_debug ("GdmUserChooserWidget: unable to get disable-user-list configuration: %s", error->message);
g_error_free (error);
}
user_list_disable = g_settings_get_boolean (settings, KEY_DISABLE_USER_LIST);
login_window->priv->user_list_disabled = user_list_disable;
......@@ -2609,17 +2580,13 @@ gdm_greeter_login_window_init (GdmGreeterLoginWindow *login_window)
G_CALLBACK (on_window_state_event),
NULL);
login_window->priv->client = gconf_client_get_default ();
gconf_client_add_dir (login_window->priv->client,
KEY_GREETER_DIR,
GCONF_CLIENT_PRELOAD_ONELEVEL,
NULL);
login_window->priv->gconf_cnxn = gconf_client_notify_add (login_window->priv->client,
KEY_GREETER_DIR,
(GConfClientNotifyFunc)on_gconf_key_changed,
login_window,
NULL,
NULL);
login_window->priv->settings = g_settings_new (LOGIN_SCREEN_SCHEMA);
login_window->priv->gsettings_cnxn = g_signal_connect (login_window->priv->settings,
"changed",
G_CALLBACK (on_gsettings_key_changed),
login_window);
g_idle_add ((GSourceFunc) load_login_extensions, login_window);
gdm_profile_end (NULL);
}
......@@ -2636,8 +2603,8 @@ gdm_greeter_login_window_finalize (GObject *object)
g_return_if_fail (login_window->priv != NULL);
if (login_window->priv->client != NULL) {
g_object_unref (login_window->priv->client);
if (login_window->priv->settings != NULL) {
g_object_unref (login_window->priv->settings);
}
G_OBJECT_CLASS (gdm_greeter_login_window_parent_class)->finalize (object);
......
......@@ -40,7 +40,6 @@
#include <gdk/gdk.h>
#include <gtk/gtk.h>
#include <gconf/gconf-client.h>
#include <dbus/dbus-glib.h>
#ifdef HAVE_UPOWER
......@@ -61,7 +60,10 @@
#define GPM_DBUS_PATH "/org/gnome/SettingsDaemon/Power"
#define GPM_DBUS_INTERFACE "org.gnome.SettingsDaemon.Power"
#define KEY_DISABLE_RESTART_BUTTONS "/apps/gdm/simple-greeter/disable_restart_buttons"
#define LOGIN_SCREEN_SCHEMA "org.gnome.login-screen"
#define KEY_DISABLE_RESTART_BUTTONS "disable-restart-buttons"
#define KEY_NOTIFICATION_AREA_PADDING "/apps/notification_area_applet/prefs/padding"
#define GDM_GREETER_PANEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_GREETER_PANEL, GdmGreeterPanelPrivate))
......@@ -762,18 +764,12 @@ do_disconnect (GtkWidget *widget,
static gboolean
get_show_restart_buttons (GdmGreeterPanel *panel)
{
gboolean show;
GError *error;
GConfClient *client;
gboolean show;
GSettings *settings;
client = gconf_client_get_default ();
settings = g_settings_new (LOGIN_SCREEN_SCHEMA);
error = NULL;
show = ! gconf_client_get_bool (client, KEY_DISABLE_RESTART_BUTTONS, &error);
if (error != NULL) {
g_debug ("GdmGreeterPanel: unable to get disable-restart-buttons configuration: %s", error->message);
g_error_free (error);
}
show = ! g_settings_get_boolean (settings, KEY_DISABLE_RESTART_BUTTONS);
#ifdef ENABLE_RBAC_SHUTDOWN
{
......@@ -790,7 +786,7 @@ get_show_restart_buttons (GdmGreeterPanel *panel)
}
}
#endif
g_object_unref (client);
g_object_unref (settings);
return show;
}
......
......@@ -31,7 +31,6 @@
#include <glib.h>
#include <glib/gi18n.h>
#include <glib-object.h>
#include <gconf/gconf-client.h>
#include "gdm-greeter-session.h"
#include "gdm-greeter-client.h"
......
<gconfschemafile>
<schemalist>
<schema>
<key>/schemas/apps/gdm/simple-greeter/banner_message_enable</key>
<applyto>/apps/gdm/simple-greeter/banner_message_enable</applyto>
<owner>gdm-simple-greeter</owner>
<type>bool</type>
<default>false</default>
<locale name="C">
<short>Enable showing the banner message</short>
<long>Set to true to show the banner message text.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm/simple-greeter/banner_message_text</key>
<applyto>/apps/gdm/simple-greeter/banner_message_text</applyto>
<owner>gdm-simple-greeter</owner>
<type>string</type>
<default></default>
<locale name="C">
<short>Banner message text</short>
<long>Text banner message to show in the login window.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm/simple-greeter/logo_icon_name</key>
<applyto>/apps/gdm/simple-greeter/logo_icon_name</applyto>
<owner>gdm-simple-greeter</owner>
<type>string</type>
<default>computer</default>
<locale name="C">
<short>Icon name to use for greeter logo</short>
<long>Set to the themed icon name to use for the greeter logo.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm/simple-greeter/disable_restart_buttons</key>
<applyto>/apps/gdm/simple-greeter/disable_restart_buttons</applyto>
<owner>gdm-simple-greeter</owner>
<type>bool</type>
<default>FALSE</default>
<locale name="C">
<short>Disable showing the restart buttons</short>
<long>Set to true to disable showing the restart buttons in the login window.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm/simple-greeter/disable_user_list</key>
<applyto>/apps/gdm/simple-greeter/disable_user_list</applyto>
<owner>gdm-simple-greeter</owner>
<type>bool</type>
<default>FALSE</default>
<locale name="C">
<short>Do not show known users in the login window</short>
<long>Set to true to disable showing known users in the login window.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm/simple-greeter/recent-languages</key>
<applyto>/apps/gdm/simple-greeter/recent-languages</applyto>
<owner>gdm-simple-greeter</owner>
<type>list</type>
<list_type>string</list_type>
<default>[]</default>
<locale name="C">
<short>Recently selected languages</short>
<long>Set to a list of languages to be shown by default in the login window.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm/simple-greeter/wm_use_compiz</key>
<applyto>/apps/gdm/simple-greeter/wm_use_compiz</applyto>
<owner>gdm-simple-greeter</owner>
<type>bool</type>
<default>false</default>
<locale name="C">
<short>Use Compiz as the window manager</short>
<long>Set to true to use Compiz as the window manager.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm/simple-greeter/accessibility/screen_keyboard_enabled</key>
<applyto>/apps/gdm/simple-greeter/accessibility/screen_keyboard_enabled</applyto>
<owner>gdm-simple-greeter</owner>
<type>bool</type>
<default>FALSE</default>
<locale name="C">
<short>Enable on-screen keyboard</short>
<long>Set to true to enable the on-screen keyboard.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm/simple-greeter/accessibility/screen_reader_enabled</key>
<applyto>/apps/gdm/simple-greeter/accessibility/screen_reader_enabled</applyto>
<owner>gdm-simple-greeter</owner>
<type>bool</type>
<default>FALSE</default>
<locale name="C">
<short>Enable screen reader</short>
<long>Set to true to enable the screen reader.</long>
</locale>
</schema>
<schema>
<key>/schemas/apps/gdm/simple-greeter/accessibility/screen_magnifier_enabled</key>