branch lightdm-gtk-greeter for new development release

This commit is contained in:
Yves-Alexis Perez
2013-12-29 13:54:25 +00:00
7 changed files with 248 additions and 8 deletions

68
debian/changelog vendored
View File

@ -1,3 +1,71 @@
lightdm-gtk-greeter (1.6.1-4) unstable; urgency=low
* debian/control:
- replace gnome-icon-theme by gnome-icon-theme-symbolic.
* debian/patches:
- 06_support-session-select-before-authentication updated fix typo.
-- Yves-Alexis Perez <corsac@debian.org> Mon, 18 Nov 2013 21:00:24 +0100
lightdm-gtk-greeter (1.6.1-3) unstable; urgency=low
* debian/patches:
- 05_add-enter-shortcut-switch-login-password-fields added, cherry
picked from upstream. support Enter key to move from login to password
field. closes: #727718
- 06_support-session-select-before-authentication added, fix session and
languages selected in the menu not actually set for the current session.
closes: #717702
-- Yves-Alexis Perez <corsac@debian.org> Thu, 31 Oct 2013 09:51:34 +0100
lightdm-gtk-greeter (1.6.1-2) unstable; urgency=low
* debian/patches:
- 04_default-gtk-greeter-config: correct comment for hinting.
(really) closes: #712434
-- Yves-Alexis Perez <corsac@debian.org> Wed, 09 Oct 2013 21:59:12 +0200
lightdm-gtk-greeter (1.6.1-1) unstable; urgency=low
[ Yves-Alexis Perez ]
* New upstream release.
* debian/patches:
- 04_default-gtk-greeter-config: correct value for hinting. closes: #712434
[ Evgeni Golov ]
* Correct Vcs-* URLs to point to anonscm.debian.org
-- Yves-Alexis Perez <corsac@debian.org> Sat, 21 Sep 2013 23:40:56 +0200
lightdm-gtk-greeter (1.6.0-1) unstable; urgency=low
* New upstream release.
* debian/control:
- update standards version to 3.9.4.
- add build-dep on autotools-dev.
* debian/patches:
- 04_default-gtk-greeter-config refresh for new upstream.
* debian/rules:
- use autotools-dev addon to rebuild config.{guess,sub} since they are
older than apr 2012.
-- Yves-Alexis Perez <corsac@debian.org> Mon, 03 Jun 2013 22:55:50 +0200
lightdm-gtk-greeter (1.5.1-3) unstable; urgency=low
* debian/control:
- update liblightdm build-dependency to 1.3.5.
-- Yves-Alexis Perez <corsac@debian.org> Sun, 05 May 2013 15:39:40 +0200
lightdm-gtk-greeter (1.5.1-2) unstable; urgency=low
* Upload to unstable.
-- Yves-Alexis Perez <corsac@debian.org> Sun, 05 May 2013 14:16:14 +0200
lightdm-gtk-greeter (1.5.1-1) experimental; urgency=low lightdm-gtk-greeter (1.5.1-1) experimental; urgency=low
* New upstream release. * New upstream release.

10
debian/control vendored
View File

@ -6,11 +6,11 @@ Uploaders: Evgeni Golov <evgeni@debian.org>,
Yves-Alexis Perez <corsac@debian.org>, Emanuele Rocca <ema@debian.org>, Yves-Alexis Perez <corsac@debian.org>, Emanuele Rocca <ema@debian.org>,
Simon Huggins <huggie@earth.li> Simon Huggins <huggie@earth.li>
Build-Depends: debhelper (>= 9), pkg-config, libgtk-3-dev, Build-Depends: debhelper (>= 9), pkg-config, libgtk-3-dev,
liblightdm-gobject-dev (>= 1.1.0), intltool liblightdm-gobject-dev (>= 1.3.5), intltool, autotools-dev
Standards-Version: 3.9.3 Standards-Version: 3.9.4
Homepage: https://launchpad.net/lightdm-gtk-greeter Homepage: https://launchpad.net/lightdm-gtk-greeter
Vcs-Svn: svn://svn.debian.org/pkg-xfce/goodies/trunk/lightdm-gtk-greeter Vcs-Svn: svn://anonscm.debian.org/pkg-xfce/goodies/trunk/lightdm-gtk-greeter
Vcs-Browser: http://svn.debian.org/wsvn/pkg-xfce/goodies/trunk/lightdm-gtk-greeter Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-xfce/goodies/trunk/lightdm-gtk-greeter
Package: lightdm-gtk-greeter Package: lightdm-gtk-greeter
Provides: lightdm-greeter Provides: lightdm-greeter
@ -19,6 +19,6 @@ Breaks: lightdm-gtk, lightdm (<< 0.9.2-1)
Section: x11 Section: x11
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends} Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: desktop-base, gnome-themes-standard, gnome-icon-theme, policykit-1 Recommends: desktop-base, gnome-themes-standard, gnome-icon-theme-symbolic, policykit-1
Description: simple display manager (GTK+ greeter) Description: simple display manager (GTK+ greeter)
A LightDM greeter that uses the GTK+ toolkit. A LightDM greeter that uses the GTK+ toolkit.

View File

@ -11,8 +11,17 @@ Forwarded: not-needed
--- a/data/lightdm-gtk-greeter.conf --- a/data/lightdm-gtk-greeter.conf
+++ b/data/lightdm-gtk-greeter.conf +++ b/data/lightdm-gtk-greeter.conf
@@ -11,13 +11,13 @@ @@ -5,7 +5,7 @@
# show-indicators = semi-colon ";" separated list of allowed indicator modules (e.g. indicator-sound.so) # font-name = Font to use
# xft-antialias = Whether to antialias Xft fonts (true or false)
# xft-dpi = Resolution for Xft in dots per inch (e.g. 96)
-# xft-hintstyle = What degree of hinting to use (none, slight, medium, or full)
+# xft-hintstyle = What degree of hinting to use (none, slight, medium, or hintfull)
# xft-rgba = Type of subpixel antialiasing (none, rgb, bgr, vrgb or vbgr)
# show-language-selector (true or false)
# show-indicators = semi-colon ";" separated list of allowed indicator modules (e.g. libsoundmenu.so)
@@ -14,15 +14,15 @@
# keyboard = command to launch on-screen keyboard
# #
[greeter] [greeter]
-#background= -#background=
@ -31,3 +40,5 @@ Forwarded: not-needed
+xft-rgba=rgb +xft-rgba=rgb
+show-language-selector=true +show-language-selector=true
#show-indicators= #show-indicators=
#show-clock=
#clock-format=

View File

@ -0,0 +1,46 @@
=== modified file 'lightdm-gtk-greeter/src/lightdm-gtk-greeter.c'
--- lightdm-gtk-greeter/src/lightdm-gtk-greeter.c 2013-09-24 18:24:20 +0000
+++ lightdm-gtk-greeter/src/lightdm-gtk-greeter.c 2013-10-31 01:27:51 +0000
@@ -707,25 +707,30 @@
gboolean
username_key_press_cb (GtkWidget *widget, GdkEventKey *event, gpointer user_data)
{
- if (gtk_widget_get_visible(GTK_WIDGET(user_combo)))
- {
#if GTK_CHECK_VERSION (3, 0, 0)
- if (event->keyval == GDK_KEY_Tab)
+ if (event->keyval == GDK_KEY_Tab || event->keyval == GDK_KEY_Return)
#else
- if (event->keyval == GDK_Tab)
+ if (event->keyval == GDK_Tab || event->keyval == GDK_Return)
#endif
+ {
+ /* If Shift+Tab, Cycle backwards to previous widget */
+ if (event->state & GDK_SHIFT_MASK)
{
- if (event->state & GDK_SHIFT_MASK)
+ if (gtk_widget_get_visible(GTK_WIDGET(user_combo)))
+ {
+ gtk_widget_grab_focus(GTK_WIDGET(user_combo));
+ }
+ else
{
gtk_window_present(panel_window);
gtk_widget_grab_focus(GTK_WIDGET(menubar));
}
- else
- {
- gtk_widget_grab_focus(GTK_WIDGET(password_entry));
- }
- return TRUE;
- }
+ }
+ else
+ {
+ gtk_widget_grab_focus(GTK_WIDGET(password_entry));
+ }
+ return TRUE;
}
return FALSE;
}

View File

@ -0,0 +1,113 @@
--- a/src/lightdm-gtk-greeter.c
+++ b/src/lightdm-gtk-greeter.c
@@ -67,6 +67,10 @@ static int a11y_kbd_pid = 0;
static GPid *a11y_keyboard_pid = &a11y_kbd_pid;
static GError *a11y_keyboard_error;
+/* Current choices */
+static gchar *current_session;
+static gchar *current_language;
+
#if GTK_CHECK_VERSION (3, 0, 0)
static GdkRGBA *default_background_color = NULL;
#else
@@ -271,6 +275,10 @@ get_session (void)
{
GList *menu_items, *menu_iter;
+ /* if the user manually selected a session, use it */
+ if (current_session)
+ return current_session;
+
menu_items = gtk_container_get_children(GTK_CONTAINER(session_menu));
for (menu_iter = menu_items; menu_iter != NULL; menu_iter = g_list_next(menu_iter))
@@ -305,6 +313,7 @@ set_session (const gchar *session)
if (matched)
{
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_iter->data), TRUE);
+ current_session = g_strdup(session);
return;
}
}
@@ -336,6 +345,10 @@ static gchar *
get_language (void)
{
GList *menu_items, *menu_iter;
+
+ /* if the user manually selected a language, use it */
+ if (current_language)
+ return current_language;
menu_items = gtk_container_get_children(GTK_CONTAINER(language_menu));
for (menu_iter = menu_items; menu_iter != NULL; menu_iter = g_list_next(menu_iter))
@@ -369,6 +382,7 @@ set_language (const gchar *language)
if (matched)
{
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_iter->data), TRUE);
+ current_language = g_strdup(language);
return;
}
}
@@ -602,8 +616,10 @@ start_authentication (const gchar *usern
user = lightdm_user_list_get_user_by_name (lightdm_user_list_get_instance (), username);
if (user)
{
- set_session (lightdm_user_get_session (user));
- set_language (lightdm_user_get_language (user));
+ if (!current_session)
+ set_session (lightdm_user_get_session (user));
+ if (!current_language)
+ set_language (lightdm_user_get_language (user));
}
else
{
@@ -690,6 +706,32 @@ start_session (void)
g_free (session);
}
+void
+session_selected_cb(GtkMenuItem *menuitem, gpointer user_data);
+G_MODULE_EXPORT
+void
+session_selected_cb(GtkMenuItem *menuitem, gpointer user_data)
+{
+ if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem)))
+ {
+ gchar *session = g_object_get_data (G_OBJECT (menuitem), "session-key");
+ set_session(session);
+ }
+}
+
+void
+language_selected_cb(GtkMenuItem *menuitem, gpointer user_data);
+G_MODULE_EXPORT
+void
+language_selected_cb(GtkMenuItem *menuitem, gpointer user_data)
+{
+ if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem)))
+ {
+ gchar *language = g_object_get_data (G_OBJECT (menuitem), "language-code");
+ set_language(language);
+ }
+}
+
gboolean
username_focus_out_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data);
G_MODULE_EXPORT
@@ -1731,6 +1773,7 @@ main (int argc, char **argv)
radiomenuitem = gtk_radio_menu_item_new_with_label (sessions, lightdm_session_get_name (session));
g_object_set_data (G_OBJECT (radiomenuitem), "session-key", (gpointer) lightdm_session_get_key (session));
sessions = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (radiomenuitem));
+ g_signal_connect(G_OBJECT(radiomenuitem), "activate", G_CALLBACK(session_selected_cb), NULL);
gtk_menu_shell_append (GTK_MENU_SHELL(session_menu), radiomenuitem);
gtk_widget_show (GTK_WIDGET (radiomenuitem));
}
@@ -1779,6 +1822,7 @@ main (int argc, char **argv)
radiomenuitem = gtk_radio_menu_item_new_with_label (languages, label);
g_object_set_data (G_OBJECT (radiomenuitem), "language-code", (gpointer) code);
languages = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (radiomenuitem));
+ g_signal_connect(G_OBJECT(radiomenuitem), "activate", G_CALLBACK(language_selected_cb), NULL);
gtk_menu_shell_append (GTK_MENU_SHELL(language_menu), radiomenuitem);
gtk_widget_show (GTK_WIDGET (radiomenuitem));
}

View File

@ -1 +1,3 @@
04_default-gtk-greeter-config.patch 04_default-gtk-greeter-config.patch
05_add-enter-shortcut-switch-login-password-fields.patch
06_support-session-select-before-authentication.patch

2
debian/rules vendored
View File

@ -7,4 +7,4 @@ override_dh_auto_configure:
dh_auto_configure -- --disable-silent-rules dh_auto_configure -- --disable-silent-rules
%: %:
dh $@ --parallel dh $@ --parallel --with autotools-dev