Commit 8e0f71ee authored by Brian Cameron's avatar Brian Cameron Committed by Brian Cameron

Update to new release version. Updated. Update version number.

2006-11-06  Brian Cameron  <brian.cameron@sun.com>

        * Release 2.17.2:
        * configure.ac: Update to new release version.
        * NEWS: Updated.
        * docs/C/gdm.xml: Update version number.
parent 78f4c54b
2006-11-06 Brian Cameron <brian.cameron@sun.com>
* Release 2.17.2:
* configure.ac: Update to new release version.
* NEWS: Updated.
* docs/C/gdm.xml: Update version number.
2006-11-04 Lukasz Zalewski <lukas@dcs.qmul.ac.uk>
Fixes bug #352924.
* gui/gdmsetup.c: Added warnings when no themes are selected in
Random from sleceted mode. Random from selected option can only be
enabled only and only if one or more themes are selected. Also
disabled the delete button on the Random from selected view for
the currently selected theme in the single theme view mode.
2006-11-02 Brian Cameron <brian.cameron@sun.com>
* gui/gdmlanguages.c, config/locale.alias: Add several new
......
Ahh news...
2.17.2 Stuff:
- Add ConsoleKit support. This is a new feature and not tested. If you
find that GDM does not allow you to log in, try using the configure
option --with-console-kit=no to turn this feature off. This feature
turns on GDM notification of session open, close and lock events via
D-Bus. (William Jon McCann)
- Added warnings when no themes are selected in "Random Theme Mode".
Disable the delete button on Random theme mode for the theme that
is selected in "single theme mode". (Lukasz Zalewski)
- Fix custom lists so that focus does not leave the username/password
entry field. (Brian Cameron)
- Add new languages to the locale list. (Peter Nugent)
- Translation updates (Priit Laes, Christophe Merlet, Francisco Javier
F. Serrador, Alexander Shopov, Ilkka Tuohela)
2.17.1 Stuff:
- No longer crash if at-spi-registryd cannot be started.
......
......@@ -2,7 +2,7 @@ AC_PREREQ(2.52)
AC_INIT(daemon/gdm.h)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(gdm,2.17.1)
AM_INIT_AUTOMAKE(gdm,2.17.2)
AC_CONFIG_MACRO_DIR([m4])
AM_MAINTAINER_MODE
......
......@@ -2,7 +2,7 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY version "2.17.1">
<!ENTITY version "2.17.2">
<!ENTITY date "05/12/2006">
]>
......
......@@ -413,6 +413,46 @@ gdm: .su.dominio
</sect2>
</sect1>
<sect1 id="consolekit">
<title>Support for ConsoleKit</title>
<para>
GDM includes support for publishing user login information with the user and login
session accounting framework known as ConsoleKit. ConsoleKit is able to keep track
of all the users currently logged in. In this respect, it can be used as a replacement
for the utmp or utmpx files that are available on most Unix-like operating systems.
</para>
<para>
When GDM is about to create a new login process for a user it will call a privileged
method of ConsoleKit in order to open a new session for this user. At this time
GDM also provides ConsoleKit with information about this user session such as: the user ID,
the X11 Display name that will be associated with the session, the host-name from which the
session originates (useful in the case of an XDMCP session), whether or not this session
is local, etc. As the entity that initiates the user process, GDM is in a unique position
know and to be trusted to provide these bits of information about the user session. The use
of this privileged method is restricted by the use of D-Bus system message bus security policy.
</para>
<para>
In the case where a user with an existing session and has authenticated at GDM and requests to
resume that existing session GDM calls a privileged method of ConsoleKit to unlock that
session. The exact details of what happens when the session receives this unlock signal is
undefined and session-specific. However, most sessions will unlock a screensaver in response.
</para>
<para>
When the user chooses to log out, or if GDM or the session quit unexpectedly the user session
will be unregistered from ConsoleKit.
</para>
<para>
If support for ConsoleKit is not desired it can be disabled at build time using the
--with-console-kit=no option when running configure.
</para>
</sect1>
<sect1 id="gdmsetupusage">
<title>Usar gdmsetup para configurar GDM</title>
......@@ -4706,7 +4746,7 @@ homogeneous="bool"&gt;
</screen>
If <filename>distribution-foo-image.png</filename> is a valid image
filename it will be used. Otherwise distribution-blah-image.png will
be used if valid.
be used if valid. This feature supported since 2.16.3.
</para>
</sect3>
......
......@@ -690,6 +690,46 @@ gdm: .your.domain
</sect2>
</sect1>
<sect1 id="consolekit">
<title>Support for ConsoleKit</title>
<para>
GDM includes support for publishing user login information with the user and login
session accounting framework known as ConsoleKit. ConsoleKit is able to keep track
of all the users currently logged in. In this respect, it can be used as a replacement
for the utmp or utmpx files that are available on most Unix-like operating systems.
</para>
<para>
When GDM is about to create a new login process for a user it will call a privileged
method of ConsoleKit in order to open a new session for this user. At this time
GDM also provides ConsoleKit with information about this user session such as: the user ID,
the X11 Display name that will be associated with the session, the host-name from which the
session originates (useful in the case of an XDMCP session), whether or not this session
is local, etc. As the entity that initiates the user process, GDM is in a unique position
know and to be trusted to provide these bits of information about the user session. The use
of this privileged method is restricted by the use of D-Bus system message bus security policy.
</para>
<para>
In the case where a user with an existing session and has authenticated at GDM and requests to
resume that existing session GDM calls a privileged method of ConsoleKit to unlock that
session. The exact details of what happens when the session receives this unlock signal is
undefined and session-specific. However, most sessions will unlock a screensaver in response.
</para>
<para>
When the user chooses to log out, or if GDM or the session quit unexpectedly the user session
will be unregistered from ConsoleKit.
</para>
<para>
If support for ConsoleKit is not desired it can be disabled at build time using the
--with-console-kit=no option when running configure.
</para>
</sect1>
<sect1 id="gdmsetupusage">
<title>Using gdmsetup To Configure GDM</title>
......@@ -4806,7 +4846,7 @@ homogeneous="bool"&gt;
</screen>
If <filename>distribution-foo-image.png</filename> is a valid image
filename it will be used. Otherwise distribution-blah-image.png will
be used if valid.
be used if valid. This feature supported since 2.16.3.
</para>
</sect3>
......
......@@ -1020,8 +1020,11 @@ combobox_timeout (GtkWidget *combo_box)
old_val = gdm_config_get_bool ((gchar *)key);
/* Choose to display radio or checkbox toggle column */
if (selected == RANDOM_THEME)
/* Choose to display radio or checkbox toggle column.
We will only set this option to true if there is at least one
item in the selected_themes list otherwise Random from selected
will be disabled */
if (selected == RANDOM_THEME && !ve_string_empty (selected_themes))
new_val = TRUE;
else /* Default to one theme */
new_val = FALSE;
......@@ -1261,6 +1264,24 @@ combobox_changed (GtkWidget *combobox)
mode_combobox = glade_helper_get (xml, "gg_mode_combobox_remote",
GTK_TYPE_COMBO_BOX);
gtk_combo_box_set_active (GTK_COMBO_BOX (mode_combobox), selected);
if (mode_combobox != combobox) {
/* Display a warning when no themes are selected and the
Random from selected option has been activated.
This is a bit of a HACK as combo_box handler is
called multiple times and we want this warning
to be displayed only once */
if (selected == RANDOM_THEME && ve_string_empty (selected_themes)) {
GtkWidget *warn_dlg = ve_hig_dialog_new (NULL /* parent */,
GTK_DIALOG_MODAL /* flags */,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_OK,
_("No themes selected!"),
"You need one or more themes selected for the Random from selected option to be valid.");
gtk_dialog_run (GTK_DIALOG (warn_dlg));
gtk_widget_destroy (warn_dlg);
}
}
}
else {
GtkWidget *mode_combobox;
......@@ -1320,6 +1341,14 @@ combobox_changed (GtkWidget *combobox)
if (GdmGraphicalThemeRand) {
gtk_tree_model_get_value (model, &iter,
THEME_COLUMN_SELECTED_LIST, &value);
/* Make sure that the theme is not selected in the
single theme mode */
if (!g_value_get_boolean (&value)) {
g_value_unset (&value);
gtk_tree_model_get_value (model, &iter,
THEME_COLUMN_SELECTED, &value);
}
} else {
gtk_tree_model_get_value (model, &iter,
THEME_COLUMN_SELECTED, &value);
......@@ -3238,6 +3267,13 @@ gg_selection_changed (GtkTreeSelection *selection, gpointer data)
GdmGraphicalThemeRand = gdm_config_get_bool (GDM_KEY_GRAPHICAL_THEME_RAND);
if (GdmGraphicalThemeRand) {
gtk_tree_model_get_value (model, &iter, THEME_COLUMN_SELECTED_LIST, &value);
/* Make sure that the theme is not selected in the
single theme mode */
if (!g_value_get_boolean (&value)) {
g_value_unset (&value);
gtk_tree_model_get_value (model, &iter, THEME_COLUMN_SELECTED, &value);
}
} else {
gtk_tree_model_get_value (model, &iter, THEME_COLUMN_SELECTED, &value);
}
......@@ -3335,7 +3371,8 @@ read_themes (GtkListStore *store, const char *theme_dir, DIR *dir,
GtkTreeIter *select_iter = NULL;
GdkPixbuf *pb = NULL;
gchar *markup;
gchar * real_selected_themes = NULL;
while ((dent = readdir (dir)) != NULL) {
char *n, *file, *name, *desc, *author, *copyright, *ss;
char *full;
......@@ -3377,8 +3414,13 @@ read_themes (GtkListStore *store, const char *theme_dir, DIR *dir,
sel_theme = FALSE;
if (selected_themes != NULL &&
themes_list_contains (selected_themes, dent->d_name))
themes_list_contains (selected_themes, dent->d_name)) {
sel_themes = TRUE;
/* It might be the case that the config option RandomThemes that
do not longer exist in the theme dir. Here we rectifying that */
real_selected_themes = strings_list_add (real_selected_themes,
dent->d_name, GDM_DELIMITER_THEMES);
}
else
sel_themes = FALSE;
......@@ -3455,6 +3497,10 @@ read_themes (GtkListStore *store, const char *theme_dir, DIR *dir,
g_free (n);
}
g_free (selected_themes);
selected_themes = g_strdup (real_selected_themes);
g_free (real_selected_themes);
return select_iter;
}
......@@ -3485,6 +3531,20 @@ greeter_theme_timeout (GtkWidget *toggle)
gdm_setup_config_set_string (GDM_KEY_GRAPHICAL_THEMES,
selected_themes);
/* This should only be executed if we dealing with
random theme setting. If no random themes are present and
the random theme option was set to true we force it to be false.
If there is at least one random theme selected and the random
theme option was false we force it to be true */
if (ve_string_empty (selected_themes) &&
gdm_config_get_bool (GDM_KEY_GRAPHICAL_THEME_RAND))
gdm_setup_config_set_bool (GDM_KEY_GRAPHICAL_THEME_RAND, FALSE);
else if (!ve_string_empty (selected_themes) &&
!gdm_config_get_bool (GDM_KEY_GRAPHICAL_THEME_RAND))
gdm_setup_config_set_bool (GDM_KEY_GRAPHICAL_THEME_RAND, TRUE);
update_greeters ();
}
......@@ -3548,18 +3608,22 @@ selected_toggled (GtkCellRendererToggle *cell,
/* Loop through all checkboxes */
while (gtk_tree_model_get_iter (model, &iter, path)) {
gboolean selected = FALSE;
gboolean other_selected = FALSE;
/* If this checkbox was just toggled */
if (gtk_tree_path_compare (path, sel_path) == 0) {
gtk_tree_model_get (model, &selected_iter,
THEME_COLUMN_DIR, &theme_name, -1);
THEME_COLUMN_DIR, &theme_name,
THEME_COLUMN_SELECTED, &other_selected, -1);
if (gtk_cell_renderer_toggle_get_active (cell)) {
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
THEME_COLUMN_SELECTED_LIST,
FALSE, -1); /* Toggle OFF */
gtk_widget_set_sensitive (del_button, TRUE);
gtk_widget_set_sensitive (del_button_remote, TRUE);
/* We will only make a theme delete-able if its not the
selected theme from single the theme mode */
gtk_widget_set_sensitive (del_button, !other_selected);
gtk_widget_set_sensitive (del_button_remote, !other_selected);
} else {
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
THEME_COLUMN_SELECTED_LIST,
......@@ -3582,6 +3646,20 @@ selected_toggled (GtkCellRendererToggle *cell,
if (selected_themes == NULL)
selected_themes = g_strdup("");
/* There are no themes selected atm in the Random form selected mode.
We need to inform users that is the case */
if (ve_string_empty (selected_themes)) {
GtkWidget *dlg =
ve_hig_dialog_new (NULL,
GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_OK,
_("No themes selected!"),
"You need one or more themes selected for the Random from selected option to be valid.");
gtk_dialog_run (GTK_DIALOG (dlg));
gtk_widget_destroy (dlg);
}
}
gtk_tree_path_free (path);
......@@ -4189,6 +4267,14 @@ delete_theme (GtkWidget *button, gpointer data)
if (GdmGraphicalThemeRand) {
gtk_tree_model_get_value (model, &iter,
THEME_COLUMN_SELECTED_LIST, &value);
/* Make sure that the theme is not selected in the
single theme mode */
if (!g_value_get_boolean (&value)) {
g_value_unset (&value);
gtk_tree_model_get_value (model, &iter,
THEME_COLUMN_SELECTED, &value);
}
}
else {
gtk_tree_model_get_value (model, &iter,
......
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