[arch-commits] Commit in lightdm-gtk2-greeter/repos (6 files)

Maxime Gauduin alucryd at nymeria.archlinux.org
Wed Mar 13 00:23:54 UTC 2013


    Date: Wednesday, March 13, 2013 @ 01:23:53
  Author: alucryd
Revision: 86201

archrelease: copy trunk to community-i686, community-x86_64

Added:
  lightdm-gtk2-greeter/repos/community-i686/
  lightdm-gtk2-greeter/repos/community-i686/PKGBUILD
    (from rev 86200, lightdm-gtk2-greeter/trunk/PKGBUILD)
  lightdm-gtk2-greeter/repos/community-i686/onscreen-keyboard.patch
    (from rev 86200, lightdm-gtk2-greeter/trunk/onscreen-keyboard.patch)
  lightdm-gtk2-greeter/repos/community-x86_64/
  lightdm-gtk2-greeter/repos/community-x86_64/PKGBUILD
    (from rev 86200, lightdm-gtk2-greeter/trunk/PKGBUILD)
  lightdm-gtk2-greeter/repos/community-x86_64/onscreen-keyboard.patch
    (from rev 86200, lightdm-gtk2-greeter/trunk/onscreen-keyboard.patch)

------------------------------------------+
 community-i686/PKGBUILD                  |   40 +++
 community-i686/onscreen-keyboard.patch   |  306 +++++++++++++++++++++++++++++
 community-x86_64/PKGBUILD                |   40 +++
 community-x86_64/onscreen-keyboard.patch |  306 +++++++++++++++++++++++++++++
 4 files changed, 692 insertions(+)

Copied: lightdm-gtk2-greeter/repos/community-i686/PKGBUILD (from rev 86200, lightdm-gtk2-greeter/trunk/PKGBUILD)
===================================================================
--- community-i686/PKGBUILD	                        (rev 0)
+++ community-i686/PKGBUILD	2013-03-13 00:23:53 UTC (rev 86201)
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd at gmail.com>
+# Contributor: Padfoot <padfoot at exemail.com.au>
+
+pkgname=lightdm-gtk2-greeter
+pkgver=1.5.1
+pkgrel=3
+pkgdesc="GTK+ greeter for LightDM"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/lightdm-gtk-greeter"
+license=('GPL3' 'LGPL3')
+depends=('gtk2' 'lightdm')
+makedepends=('exo' 'gnome-common' 'gnome-doc-utils' 'gobject-introspection' 'intltool')
+provides=("${pkgname/2/}")
+conflicts=("${pkgname/2/3}")
+backup=('etc/lightdm/lightdm-gtk-greeter.conf')
+source=("https://launchpad.net/${pkgname/2/}/1.6/${pkgver}/+download/${pkgname/2/}-${pkgver}.tar.gz"
+        "onscreen-keyboard.patch")
+sha256sums=('ecce7e917a79fa8f2126c3fafb6337f81f2198892159a4ef695016afecd2d621'
+            '381c4da15ed2482800aaf3258217cd48c2313aee5da4f7ade77f7ef55659d0b9')
+
+build() {
+  cd "${srcdir}"/${pkgname/2/}-${pkgver}
+
+# Patch
+  patch -Np1 -i ../onscreen-keyboard.patch
+
+# Build
+  AUTOMAKE=automake ./autogen.sh --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/lightdm --disable-static --with-gtk2
+  make
+}
+
+package() {
+  cd "${srcdir}"/${pkgname/2/}-${pkgver}
+
+# Install
+  make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:

Copied: lightdm-gtk2-greeter/repos/community-i686/onscreen-keyboard.patch (from rev 86200, lightdm-gtk2-greeter/trunk/onscreen-keyboard.patch)
===================================================================
--- community-i686/onscreen-keyboard.patch	                        (rev 0)
+++ community-i686/onscreen-keyboard.patch	2013-03-13 00:23:53 UTC (rev 86201)
@@ -0,0 +1,306 @@
+diff -aur lightdm-gtk-greeter-1.5.1.src/data/lightdm-gtk-greeter.conf lightdm-gtk-greeter-1.5.1.patch/data/lightdm-gtk-greeter.conf
+--- lightdm-gtk-greeter-1.5.1.src/data/lightdm-gtk-greeter.conf	2013-02-11 00:19:17.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/data/lightdm-gtk-greeter.conf	2013-02-20 19:17:39.382817993 +1100
+@@ -9,6 +9,7 @@
+ # 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. indicator-sound.so)
++# keyboard = Command to launch on screen keyboard. Ensure it does not steal focus.
+ #
+ [greeter]
+ #background=
+@@ -21,3 +22,4 @@
+ #xft-rgba=
+ #show-language-selector=
+ #show-indicators=
++#keyboard=
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.c lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.c
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.c	2013-02-11 00:48:21.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.c	2013-02-20 20:09:30.219150045 +1100
+@@ -23,6 +23,7 @@
+ #include <cairo-xlib.h>
+ #include <gdk-pixbuf/gdk-pixbuf.h>
+ #include <gdk/gdkx.h>
++#include <glib.h>
+ 
+ #ifdef HAVE_LIBINDICATOR
+ #include <libindicator/indicator-object.h>
+@@ -44,6 +45,7 @@
+ static GtkComboBox *user_combo;
+ static GtkComboBox *session_combo;
+ static GtkComboBox *language_combo;
++static GtkCheckMenuItem *keyboard_menuitem;
+ static gchar *default_font_name, *default_theme_name, *default_icon_theme_name;
+ static GdkPixbuf *default_background_pixbuf = NULL;
+ #if GTK_CHECK_VERSION (3, 0, 0)
+@@ -52,6 +54,10 @@
+ static GdkColor *default_background_color = NULL;
+ #endif
+ static gboolean cancelling = FALSE, prompted = FALSE;
++static gchar **a11y_keyboard_command;
++static int a11y_kbd_pid = 0;
++static GPid *a11y_keyboard_pid = &a11y_kbd_pid;
++static GError *a11y_keyboard_error;
+ 
+ 
+ #ifdef HAVE_LIBINDICATOR
+@@ -649,7 +655,10 @@
+     if (lightdm_greeter_get_is_authenticated (greeter))
+     {
+         if (prompted)
+-            start_session ();
++        {
++             gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (keyboard_menuitem), FALSE);
++             start_session ();
++        }
+     }
+     else
+     {
+@@ -864,6 +873,32 @@
+     }
+ }
+ 
++void a11y_keyboard_cb (GtkWidget *widget);
++G_MODULE_EXPORT
++void
++a11y_keyboard_cb (GtkWidget *widget)
++{
++    if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)))
++    {
++        if (!g_spawn_async(NULL, a11y_keyboard_command, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, a11y_keyboard_pid, &a11y_keyboard_error))
++        {
++            g_debug ("a11y keyboard command error : '%s'", a11y_keyboard_error->message);
++            a11y_kbd_pid = 0;
++            g_clear_error(&a11y_keyboard_error);
++            gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), FALSE);
++        }
++    }
++    else
++    {
++        if (a11y_kbd_pid != 0)
++        {
++            kill (a11y_kbd_pid, SIGTERM);
++            g_spawn_close_pid(*a11y_keyboard_pid);
++            a11y_kbd_pid = 0;
++        }
++    }
++}
++
+ static void
+ sigterm_cb (int signum)
+ {
+@@ -1190,6 +1225,13 @@
+         g_object_set (gtk_settings_get_default (), "gtk-xft-rgba", value, NULL);
+     g_free (value);
+ 
++    /* Get a11y on screen keyboard command*/
++    gint argp;
++    value = g_key_file_get_value (config, "greeter", "keyboard", NULL);
++    g_debug ("a11y keyboard command is '%s'", value);
++    g_shell_parse_argv (value, &argp, &a11y_keyboard_command, NULL);
++    g_free (value);
++
+     builder = gtk_builder_new ();
+     if (!gtk_builder_add_from_string (builder, lightdm_gtk_greeter_ui,
+                                       lightdm_gtk_greeter_ui_length, &error))
+@@ -1212,6 +1254,7 @@
+     language_combo = GTK_COMBO_BOX (gtk_builder_get_object (builder, "language_combobox"));  
+     panel_window = GTK_WINDOW (gtk_builder_get_object (builder, "panel_window"));
+     user_avatar = GTK_IMAGE (gtk_builder_get_object (builder, "user_avatar"));
++    keyboard_menuitem = GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "keyboard_menuitem"));
+ 
+     gtk_label_set_text (GTK_LABEL (gtk_builder_get_object (builder, "hostname_label")), lightdm_get_hostname ());
+ 
+@@ -1264,7 +1307,7 @@
+ #endif
+     gtk_widget_show (hbox);
+     gtk_container_add (GTK_CONTAINER (menuitem), hbox);
+-    image = gtk_image_new_from_icon_name ("system-shutdown", GTK_ICON_SIZE_MENU);
++    image = gtk_image_new_from_icon_name ("system-shutdown", GTK_ICON_SIZE_BUTTON);
+     gtk_widget_show (image);
+     gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
+ 
+@@ -1276,7 +1319,7 @@
+ #endif
+     gtk_widget_show (hbox);
+     gtk_container_add (GTK_CONTAINER (menuitem), hbox);
+-    image = gtk_image_new_from_icon_name ("preferences-desktop-accessibility", GTK_ICON_SIZE_MENU);
++    image = gtk_image_new_from_icon_name ("preferences-desktop-accessibility", GTK_ICON_SIZE_BUTTON);
+     gtk_widget_show (image);
+     gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
+ 
+@@ -1377,6 +1420,11 @@
+     gtk_widget_show (GTK_WIDGET (login_window));
+     gdk_window_focus (gtk_widget_get_window (GTK_WIDGET (login_window)), GDK_CURRENT_TIME);
+ 
++    if (a11y_keyboard_command)
++        gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (keyboard_menuitem), TRUE);
++    else
++        gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, "keyboard_menuitem")));
++
+     gtk_main ();
+ 
+     if (default_background_pixbuf)
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.glade lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.glade
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.glade	2013-02-10 23:48:19.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.glade	2013-02-20 17:11:01.968469713 +1100
+@@ -215,6 +215,7 @@
+   <object class="GtkWindow" id="panel_window">
+     <property name="name">panel_window</property>
+     <property name="can_focus">False</property>
++    <property name="default_height">40</property>
+     <property name="decorated">False</property>
+     <property name="has_resize_grip">False</property>
+     <child>
+@@ -309,6 +310,16 @@
+                     <signal name="toggled" handler="a11y_contrast_cb" swapped="no"/>
+                   </object>
+                 </child>
++                <child>
++                  <object class="GtkCheckMenuItem" id="keyboard_menuitem">
++                    <property name="name">keyboard_menuitem</property>
++                    <property name="visible">True</property>
++                    <property name="can_focus">False</property>
++                    <property name="use_action_appearance">False</property>
++                    <property name="label" translatable="yes">On Screen Keyboard</property>
++                    <signal name="toggled" handler="a11y_keyboard_cb" swapped="no"/>
++                  </object>
++                </child>
+               </object>
+             </child>
+           </object>
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter-ui.h lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter-ui.h
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter-ui.h	2013-02-11 01:46:04.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter-ui.h	2013-02-20 17:52:56.172967000 +1100
+@@ -108,66 +108,73 @@
+   "\">3</property></packing></child></object></child><child type=\"tab\"><"
+   "placeholder/></child></object></child></object><object class=\"GtkWindo"
+   "w\" id=\"panel_window\"><property name=\"name\">panel_window</property>"
+-  "<property name=\"can_focus\">False</property><property name=\"decorated"
+-  "\">False</property><property name=\"has_resize_grip\">False</property><"
+-  "child><object class=\"GtkMenuBar\" id=\"menubar\"><property name=\"name"
+-  "\">menubar</property><property name=\"visible\">True</property><propert"
+-  "y name=\"can_focus\">False</property><property name=\"pack_direction\">"
+-  "rtl</property><child><object class=\"GtkMenuItem\" id=\"power_menuitem\""
+-  "><property name=\"name\">power_menuitem</property><property name=\"visi"
+-  "ble\">True</property><property name=\"can_focus\">False</property><prop"
+-  "erty name=\"use_action_appearance\">False</property><child type=\"subme"
+-  "nu\"><object class=\"GtkMenu\" id=\"power_menu\"><property name=\"name\""
+-  ">power_menu</property><property name=\"visible\">True</property><proper"
+-  "ty name=\"can_focus\">False</property><child><object class=\"GtkMenuIte"
+-  "m\" id=\"suspend_menuitem\"><property name=\"name\">suspend_menuitem</p"
+-  "roperty><property name=\"visible\">True</property><property name=\"can_"
+-  "focus\">False</property><property name=\"use_action_appearance\">False<"
+-  "/property><property name=\"label\" translatable=\"yes\">Suspend</proper"
+-  "ty><signal name=\"activate\" handler=\"suspend_cb\" swapped=\"no\"/></o"
+-  "bject></child><child><object class=\"GtkMenuItem\" id=\"hibernate_menui"
+-  "tem\"><property name=\"name\">hibernate_menuitem</property><property na"
+-  "me=\"visible\">True</property><property name=\"can_focus\">False</prope"
+-  "rty><property name=\"use_action_appearance\">False</property><property "
+-  "name=\"label\" translatable=\"yes\">Hibernate</property><signal name=\""
+-  "activate\" handler=\"hibernate_cb\" swapped=\"no\"/></object></child><c"
+-  "hild><object class=\"GtkMenuItem\" id=\"restart_menuitem\"><property na"
+-  "me=\"name\">restart_menuitem</property><property name=\"visible\">True<"
+-  "/property><property name=\"can_focus\">False</property><property name=\""
+-  "use_action_appearance\">False</property><property name=\"label\" transl"
+-  "atable=\"yes\">Restart...</property><signal name=\"activate\" handler=\""
+-  "restart_cb\" swapped=\"no\"/></object></child><child><object class=\"Gt"
+-  "kMenuItem\" id=\"shutdown_menuitem\"><property name=\"name\">shutdown_m"
+-  "enuitem</property><property name=\"visible\">True</property><property n"
+-  "ame=\"can_focus\">False</property><property name=\"use_action_appearanc"
+-  "e\">False</property><property name=\"label\" translatable=\"yes\">Shutd"
+-  "own...</property><signal name=\"activate\" handler=\"shutdown_cb\" swap"
+-  "ped=\"no\"/></object></child></object></child></object></child><child><"
+-  "object class=\"GtkMenuItem\" id=\"a11y_menuitem\"><property name=\"name"
+-  "\">a11y_menuitem</property><property name=\"visible\">True</property><p"
+-  "roperty name=\"can_focus\">False</property><property name=\"use_action_"
+-  "appearance\">False</property><child type=\"submenu\"><object class=\"Gt"
+-  "kMenu\" id=\"a11y_menu\"><property name=\"name\">a11y_menu</property><p"
+-  "roperty name=\"visible\">True</property><property name=\"can_focus\">Fa"
+-  "lse</property><child><object class=\"GtkCheckMenuItem\" id=\"large_font"
+-  "_menuitem\"><property name=\"name\">large_font_menuitem</property><prop"
++  "<property name=\"can_focus\">False</property><property name=\"default_h"
++  "eight\">40</property><property name=\"decorated\">False</property><prop"
++  "erty name=\"has_resize_grip\">False</property><child><object class=\"Gt"
++  "kMenuBar\" id=\"menubar\"><property name=\"name\">menubar</property><pr"
++  "operty name=\"visible\">True</property><property name=\"can_focus\">Fal"
++  "se</property><property name=\"pack_direction\">rtl</property><child><ob"
++  "ject class=\"GtkMenuItem\" id=\"power_menuitem\"><property name=\"name\""
++  ">power_menuitem</property><property name=\"visible\">True</property><pr"
++  "operty name=\"can_focus\">False</property><property name=\"use_action_a"
++  "ppearance\">False</property><child type=\"submenu\"><object class=\"Gtk"
++  "Menu\" id=\"power_menu\"><property name=\"name\">power_menu</property><"
++  "property name=\"visible\">True</property><property name=\"can_focus\">F"
++  "alse</property><child><object class=\"GtkMenuItem\" id=\"suspend_menuit"
++  "em\"><property name=\"name\">suspend_menuitem</property><property name="
++  "\"visible\">True</property><property name=\"can_focus\">False</property"
++  "><property name=\"use_action_appearance\">False</property><property nam"
++  "e=\"label\" translatable=\"yes\">Suspend</property><signal name=\"activ"
++  "ate\" handler=\"suspend_cb\" swapped=\"no\"/></object></child><child><o"
++  "bject class=\"GtkMenuItem\" id=\"hibernate_menuitem\"><property name=\""
++  "name\">hibernate_menuitem</property><property name=\"visible\">True</pr"
++  "operty><property name=\"can_focus\">False</property><property name=\"us"
++  "e_action_appearance\">False</property><property name=\"label\" translat"
++  "able=\"yes\">Hibernate</property><signal name=\"activate\" handler=\"hi"
++  "bernate_cb\" swapped=\"no\"/></object></child><child><object class=\"Gt"
++  "kMenuItem\" id=\"restart_menuitem\"><property name=\"name\">restart_men"
++  "uitem</property><property name=\"visible\">True</property><property nam"
++  "e=\"can_focus\">False</property><property name=\"use_action_appearance\""
++  ">False</property><property name=\"label\" translatable=\"yes\">Restart."
++  "..</property><signal name=\"activate\" handler=\"restart_cb\" swapped=\""
++  "no\"/></object></child><child><object class=\"GtkMenuItem\" id=\"shutdo"
++  "wn_menuitem\"><property name=\"name\">shutdown_menuitem</property><prop"
+   "erty name=\"visible\">True</property><property name=\"can_focus\">False"
+   "</property><property name=\"use_action_appearance\">False</property><pr"
+-  "operty name=\"label\" translatable=\"yes\">Large Font</property><signal"
+-  " name=\"toggled\" handler=\"a11y_font_cb\" swapped=\"no\"/></object></c"
+-  "hild><child><object class=\"GtkCheckMenuItem\" id=\"high_contrast_menui"
+-  "tem\"><property name=\"name\">high_contrast_menuitem</property><propert"
+-  "y name=\"visible\">True</property><property name=\"can_focus\">False</p"
+-  "roperty><property name=\"use_action_appearance\">False</property><prope"
+-  "rty name=\"label\" translatable=\"yes\">High Contrast</property><signal"
+-  " name=\"toggled\" handler=\"a11y_contrast_cb\" swapped=\"no\"/></object"
+-  "></child></object></child></object></child></object></child></object><o"
+-  "bject class=\"GtkListStore\" id=\"session_liststore\"><columns><column "
+-  "type=\"gchararray\"/><column type=\"gchararray\"/></columns></object><o"
+-  "bject class=\"GtkListStore\" id=\"user_liststore\"><columns><column typ"
+-  "e=\"gchararray\"/><column type=\"gchararray\"/><column type=\"gint\"/><"
+-  "/columns></object></interface>"
++  "operty name=\"label\" translatable=\"yes\">Shutdown...</property><signa"
++  "l name=\"activate\" handler=\"shutdown_cb\" swapped=\"no\"/></object></"
++  "child></object></child></object></child><child><object class=\"GtkMenuI"
++  "tem\" id=\"a11y_menuitem\"><property name=\"name\">a11y_menuitem</prope"
++  "rty><property name=\"visible\">True</property><property name=\"can_focu"
++  "s\">False</property><property name=\"use_action_appearance\">False</pro"
++  "perty><child type=\"submenu\"><object class=\"GtkMenu\" id=\"a11y_menu\""
++  "><property name=\"name\">a11y_menu</property><property name=\"visible\""
++  ">True</property><property name=\"can_focus\">False</property><child><ob"
++  "ject class=\"GtkCheckMenuItem\" id=\"large_font_menuitem\"><property na"
++  "me=\"name\">large_font_menuitem</property><property name=\"visible\">Tr"
++  "ue</property><property name=\"can_focus\">False</property><property nam"
++  "e=\"use_action_appearance\">False</property><property name=\"label\" tr"
++  "anslatable=\"yes\">Large Font</property><signal name=\"toggled\" handle"
++  "r=\"a11y_font_cb\" swapped=\"no\"/></object></child><child><object clas"
++  "s=\"GtkCheckMenuItem\" id=\"high_contrast_menuitem\"><property name=\"n"
++  "ame\">high_contrast_menuitem</property><property name=\"visible\">True<"
++  "/property><property name=\"can_focus\">False</property><property name=\""
++  "use_action_appearance\">False</property><property name=\"label\" transl"
++  "atable=\"yes\">High Contrast</property><signal name=\"toggled\" handler"
++  "=\"a11y_contrast_cb\" swapped=\"no\"/></object></child><child><object c"
++  "lass=\"GtkCheckMenuItem\" id=\"keyboard_menuitem\"><property name=\"nam"
++  "e\">keyboard_menuitem</property><property name=\"visible\">True</proper"
++  "ty><property name=\"can_focus\">False</property><property name=\"use_ac"
++  "tion_appearance\">False</property><property name=\"label\" translatable"
++  "=\"yes\">On Screen Keyboard</property><signal name=\"toggled\" handler="
++  "\"a11y_keyboard_cb\" swapped=\"no\"/></object></child></object></child>"
++  "</object></child></object></child></object><object class=\"GtkListStore"
++  "\" id=\"session_liststore\"><columns><column type=\"gchararray\"/><colu"
++  "mn type=\"gchararray\"/></columns></object><object class=\"GtkListStore"
++  "\" id=\"user_liststore\"><columns><column type=\"gchararray\"/><column "
++  "type=\"gchararray\"/><column type=\"gint\"/></columns></object></interf"
++  "ace>"
+ };
+ 
+-static const unsigned lightdm_gtk_greeter_ui_length = 10699u;
++static const unsigned lightdm_gtk_greeter_ui_length = 11147u;
+ 

Copied: lightdm-gtk2-greeter/repos/community-x86_64/PKGBUILD (from rev 86200, lightdm-gtk2-greeter/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD	                        (rev 0)
+++ community-x86_64/PKGBUILD	2013-03-13 00:23:53 UTC (rev 86201)
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd at gmail.com>
+# Contributor: Padfoot <padfoot at exemail.com.au>
+
+pkgname=lightdm-gtk2-greeter
+pkgver=1.5.1
+pkgrel=3
+pkgdesc="GTK+ greeter for LightDM"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/lightdm-gtk-greeter"
+license=('GPL3' 'LGPL3')
+depends=('gtk2' 'lightdm')
+makedepends=('exo' 'gnome-common' 'gnome-doc-utils' 'gobject-introspection' 'intltool')
+provides=("${pkgname/2/}")
+conflicts=("${pkgname/2/3}")
+backup=('etc/lightdm/lightdm-gtk-greeter.conf')
+source=("https://launchpad.net/${pkgname/2/}/1.6/${pkgver}/+download/${pkgname/2/}-${pkgver}.tar.gz"
+        "onscreen-keyboard.patch")
+sha256sums=('ecce7e917a79fa8f2126c3fafb6337f81f2198892159a4ef695016afecd2d621'
+            '381c4da15ed2482800aaf3258217cd48c2313aee5da4f7ade77f7ef55659d0b9')
+
+build() {
+  cd "${srcdir}"/${pkgname/2/}-${pkgver}
+
+# Patch
+  patch -Np1 -i ../onscreen-keyboard.patch
+
+# Build
+  AUTOMAKE=automake ./autogen.sh --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/lightdm --disable-static --with-gtk2
+  make
+}
+
+package() {
+  cd "${srcdir}"/${pkgname/2/}-${pkgver}
+
+# Install
+  make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:

Copied: lightdm-gtk2-greeter/repos/community-x86_64/onscreen-keyboard.patch (from rev 86200, lightdm-gtk2-greeter/trunk/onscreen-keyboard.patch)
===================================================================
--- community-x86_64/onscreen-keyboard.patch	                        (rev 0)
+++ community-x86_64/onscreen-keyboard.patch	2013-03-13 00:23:53 UTC (rev 86201)
@@ -0,0 +1,306 @@
+diff -aur lightdm-gtk-greeter-1.5.1.src/data/lightdm-gtk-greeter.conf lightdm-gtk-greeter-1.5.1.patch/data/lightdm-gtk-greeter.conf
+--- lightdm-gtk-greeter-1.5.1.src/data/lightdm-gtk-greeter.conf	2013-02-11 00:19:17.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/data/lightdm-gtk-greeter.conf	2013-02-20 19:17:39.382817993 +1100
+@@ -9,6 +9,7 @@
+ # 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. indicator-sound.so)
++# keyboard = Command to launch on screen keyboard. Ensure it does not steal focus.
+ #
+ [greeter]
+ #background=
+@@ -21,3 +22,4 @@
+ #xft-rgba=
+ #show-language-selector=
+ #show-indicators=
++#keyboard=
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.c lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.c
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.c	2013-02-11 00:48:21.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.c	2013-02-20 20:09:30.219150045 +1100
+@@ -23,6 +23,7 @@
+ #include <cairo-xlib.h>
+ #include <gdk-pixbuf/gdk-pixbuf.h>
+ #include <gdk/gdkx.h>
++#include <glib.h>
+ 
+ #ifdef HAVE_LIBINDICATOR
+ #include <libindicator/indicator-object.h>
+@@ -44,6 +45,7 @@
+ static GtkComboBox *user_combo;
+ static GtkComboBox *session_combo;
+ static GtkComboBox *language_combo;
++static GtkCheckMenuItem *keyboard_menuitem;
+ static gchar *default_font_name, *default_theme_name, *default_icon_theme_name;
+ static GdkPixbuf *default_background_pixbuf = NULL;
+ #if GTK_CHECK_VERSION (3, 0, 0)
+@@ -52,6 +54,10 @@
+ static GdkColor *default_background_color = NULL;
+ #endif
+ static gboolean cancelling = FALSE, prompted = FALSE;
++static gchar **a11y_keyboard_command;
++static int a11y_kbd_pid = 0;
++static GPid *a11y_keyboard_pid = &a11y_kbd_pid;
++static GError *a11y_keyboard_error;
+ 
+ 
+ #ifdef HAVE_LIBINDICATOR
+@@ -649,7 +655,10 @@
+     if (lightdm_greeter_get_is_authenticated (greeter))
+     {
+         if (prompted)
+-            start_session ();
++        {
++             gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (keyboard_menuitem), FALSE);
++             start_session ();
++        }
+     }
+     else
+     {
+@@ -864,6 +873,32 @@
+     }
+ }
+ 
++void a11y_keyboard_cb (GtkWidget *widget);
++G_MODULE_EXPORT
++void
++a11y_keyboard_cb (GtkWidget *widget)
++{
++    if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)))
++    {
++        if (!g_spawn_async(NULL, a11y_keyboard_command, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, a11y_keyboard_pid, &a11y_keyboard_error))
++        {
++            g_debug ("a11y keyboard command error : '%s'", a11y_keyboard_error->message);
++            a11y_kbd_pid = 0;
++            g_clear_error(&a11y_keyboard_error);
++            gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), FALSE);
++        }
++    }
++    else
++    {
++        if (a11y_kbd_pid != 0)
++        {
++            kill (a11y_kbd_pid, SIGTERM);
++            g_spawn_close_pid(*a11y_keyboard_pid);
++            a11y_kbd_pid = 0;
++        }
++    }
++}
++
+ static void
+ sigterm_cb (int signum)
+ {
+@@ -1190,6 +1225,13 @@
+         g_object_set (gtk_settings_get_default (), "gtk-xft-rgba", value, NULL);
+     g_free (value);
+ 
++    /* Get a11y on screen keyboard command*/
++    gint argp;
++    value = g_key_file_get_value (config, "greeter", "keyboard", NULL);
++    g_debug ("a11y keyboard command is '%s'", value);
++    g_shell_parse_argv (value, &argp, &a11y_keyboard_command, NULL);
++    g_free (value);
++
+     builder = gtk_builder_new ();
+     if (!gtk_builder_add_from_string (builder, lightdm_gtk_greeter_ui,
+                                       lightdm_gtk_greeter_ui_length, &error))
+@@ -1212,6 +1254,7 @@
+     language_combo = GTK_COMBO_BOX (gtk_builder_get_object (builder, "language_combobox"));  
+     panel_window = GTK_WINDOW (gtk_builder_get_object (builder, "panel_window"));
+     user_avatar = GTK_IMAGE (gtk_builder_get_object (builder, "user_avatar"));
++    keyboard_menuitem = GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "keyboard_menuitem"));
+ 
+     gtk_label_set_text (GTK_LABEL (gtk_builder_get_object (builder, "hostname_label")), lightdm_get_hostname ());
+ 
+@@ -1264,7 +1307,7 @@
+ #endif
+     gtk_widget_show (hbox);
+     gtk_container_add (GTK_CONTAINER (menuitem), hbox);
+-    image = gtk_image_new_from_icon_name ("system-shutdown", GTK_ICON_SIZE_MENU);
++    image = gtk_image_new_from_icon_name ("system-shutdown", GTK_ICON_SIZE_BUTTON);
+     gtk_widget_show (image);
+     gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
+ 
+@@ -1276,7 +1319,7 @@
+ #endif
+     gtk_widget_show (hbox);
+     gtk_container_add (GTK_CONTAINER (menuitem), hbox);
+-    image = gtk_image_new_from_icon_name ("preferences-desktop-accessibility", GTK_ICON_SIZE_MENU);
++    image = gtk_image_new_from_icon_name ("preferences-desktop-accessibility", GTK_ICON_SIZE_BUTTON);
+     gtk_widget_show (image);
+     gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
+ 
+@@ -1377,6 +1420,11 @@
+     gtk_widget_show (GTK_WIDGET (login_window));
+     gdk_window_focus (gtk_widget_get_window (GTK_WIDGET (login_window)), GDK_CURRENT_TIME);
+ 
++    if (a11y_keyboard_command)
++        gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (keyboard_menuitem), TRUE);
++    else
++        gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, "keyboard_menuitem")));
++
+     gtk_main ();
+ 
+     if (default_background_pixbuf)
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.glade lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.glade
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.glade	2013-02-10 23:48:19.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.glade	2013-02-20 17:11:01.968469713 +1100
+@@ -215,6 +215,7 @@
+   <object class="GtkWindow" id="panel_window">
+     <property name="name">panel_window</property>
+     <property name="can_focus">False</property>
++    <property name="default_height">40</property>
+     <property name="decorated">False</property>
+     <property name="has_resize_grip">False</property>
+     <child>
+@@ -309,6 +310,16 @@
+                     <signal name="toggled" handler="a11y_contrast_cb" swapped="no"/>
+                   </object>
+                 </child>
++                <child>
++                  <object class="GtkCheckMenuItem" id="keyboard_menuitem">
++                    <property name="name">keyboard_menuitem</property>
++                    <property name="visible">True</property>
++                    <property name="can_focus">False</property>
++                    <property name="use_action_appearance">False</property>
++                    <property name="label" translatable="yes">On Screen Keyboard</property>
++                    <signal name="toggled" handler="a11y_keyboard_cb" swapped="no"/>
++                  </object>
++                </child>
+               </object>
+             </child>
+           </object>
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter-ui.h lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter-ui.h
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter-ui.h	2013-02-11 01:46:04.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter-ui.h	2013-02-20 17:52:56.172967000 +1100
+@@ -108,66 +108,73 @@
+   "\">3</property></packing></child></object></child><child type=\"tab\"><"
+   "placeholder/></child></object></child></object><object class=\"GtkWindo"
+   "w\" id=\"panel_window\"><property name=\"name\">panel_window</property>"
+-  "<property name=\"can_focus\">False</property><property name=\"decorated"
+-  "\">False</property><property name=\"has_resize_grip\">False</property><"
+-  "child><object class=\"GtkMenuBar\" id=\"menubar\"><property name=\"name"
+-  "\">menubar</property><property name=\"visible\">True</property><propert"
+-  "y name=\"can_focus\">False</property><property name=\"pack_direction\">"
+-  "rtl</property><child><object class=\"GtkMenuItem\" id=\"power_menuitem\""
+-  "><property name=\"name\">power_menuitem</property><property name=\"visi"
+-  "ble\">True</property><property name=\"can_focus\">False</property><prop"
+-  "erty name=\"use_action_appearance\">False</property><child type=\"subme"
+-  "nu\"><object class=\"GtkMenu\" id=\"power_menu\"><property name=\"name\""
+-  ">power_menu</property><property name=\"visible\">True</property><proper"
+-  "ty name=\"can_focus\">False</property><child><object class=\"GtkMenuIte"
+-  "m\" id=\"suspend_menuitem\"><property name=\"name\">suspend_menuitem</p"
+-  "roperty><property name=\"visible\">True</property><property name=\"can_"
+-  "focus\">False</property><property name=\"use_action_appearance\">False<"
+-  "/property><property name=\"label\" translatable=\"yes\">Suspend</proper"
+-  "ty><signal name=\"activate\" handler=\"suspend_cb\" swapped=\"no\"/></o"
+-  "bject></child><child><object class=\"GtkMenuItem\" id=\"hibernate_menui"
+-  "tem\"><property name=\"name\">hibernate_menuitem</property><property na"
+-  "me=\"visible\">True</property><property name=\"can_focus\">False</prope"
+-  "rty><property name=\"use_action_appearance\">False</property><property "
+-  "name=\"label\" translatable=\"yes\">Hibernate</property><signal name=\""
+-  "activate\" handler=\"hibernate_cb\" swapped=\"no\"/></object></child><c"
+-  "hild><object class=\"GtkMenuItem\" id=\"restart_menuitem\"><property na"
+-  "me=\"name\">restart_menuitem</property><property name=\"visible\">True<"
+-  "/property><property name=\"can_focus\">False</property><property name=\""
+-  "use_action_appearance\">False</property><property name=\"label\" transl"
+-  "atable=\"yes\">Restart...</property><signal name=\"activate\" handler=\""
+-  "restart_cb\" swapped=\"no\"/></object></child><child><object class=\"Gt"
+-  "kMenuItem\" id=\"shutdown_menuitem\"><property name=\"name\">shutdown_m"
+-  "enuitem</property><property name=\"visible\">True</property><property n"
+-  "ame=\"can_focus\">False</property><property name=\"use_action_appearanc"
+-  "e\">False</property><property name=\"label\" translatable=\"yes\">Shutd"
+-  "own...</property><signal name=\"activate\" handler=\"shutdown_cb\" swap"
+-  "ped=\"no\"/></object></child></object></child></object></child><child><"
+-  "object class=\"GtkMenuItem\" id=\"a11y_menuitem\"><property name=\"name"
+-  "\">a11y_menuitem</property><property name=\"visible\">True</property><p"
+-  "roperty name=\"can_focus\">False</property><property name=\"use_action_"
+-  "appearance\">False</property><child type=\"submenu\"><object class=\"Gt"
+-  "kMenu\" id=\"a11y_menu\"><property name=\"name\">a11y_menu</property><p"
+-  "roperty name=\"visible\">True</property><property name=\"can_focus\">Fa"
+-  "lse</property><child><object class=\"GtkCheckMenuItem\" id=\"large_font"
+-  "_menuitem\"><property name=\"name\">large_font_menuitem</property><prop"
++  "<property name=\"can_focus\">False</property><property name=\"default_h"
++  "eight\">40</property><property name=\"decorated\">False</property><prop"
++  "erty name=\"has_resize_grip\">False</property><child><object class=\"Gt"
++  "kMenuBar\" id=\"menubar\"><property name=\"name\">menubar</property><pr"
++  "operty name=\"visible\">True</property><property name=\"can_focus\">Fal"
++  "se</property><property name=\"pack_direction\">rtl</property><child><ob"
++  "ject class=\"GtkMenuItem\" id=\"power_menuitem\"><property name=\"name\""
++  ">power_menuitem</property><property name=\"visible\">True</property><pr"
++  "operty name=\"can_focus\">False</property><property name=\"use_action_a"
++  "ppearance\">False</property><child type=\"submenu\"><object class=\"Gtk"
++  "Menu\" id=\"power_menu\"><property name=\"name\">power_menu</property><"
++  "property name=\"visible\">True</property><property name=\"can_focus\">F"
++  "alse</property><child><object class=\"GtkMenuItem\" id=\"suspend_menuit"
++  "em\"><property name=\"name\">suspend_menuitem</property><property name="
++  "\"visible\">True</property><property name=\"can_focus\">False</property"
++  "><property name=\"use_action_appearance\">False</property><property nam"
++  "e=\"label\" translatable=\"yes\">Suspend</property><signal name=\"activ"
++  "ate\" handler=\"suspend_cb\" swapped=\"no\"/></object></child><child><o"
++  "bject class=\"GtkMenuItem\" id=\"hibernate_menuitem\"><property name=\""
++  "name\">hibernate_menuitem</property><property name=\"visible\">True</pr"
++  "operty><property name=\"can_focus\">False</property><property name=\"us"
++  "e_action_appearance\">False</property><property name=\"label\" translat"
++  "able=\"yes\">Hibernate</property><signal name=\"activate\" handler=\"hi"
++  "bernate_cb\" swapped=\"no\"/></object></child><child><object class=\"Gt"
++  "kMenuItem\" id=\"restart_menuitem\"><property name=\"name\">restart_men"
++  "uitem</property><property name=\"visible\">True</property><property nam"
++  "e=\"can_focus\">False</property><property name=\"use_action_appearance\""
++  ">False</property><property name=\"label\" translatable=\"yes\">Restart."
++  "..</property><signal name=\"activate\" handler=\"restart_cb\" swapped=\""
++  "no\"/></object></child><child><object class=\"GtkMenuItem\" id=\"shutdo"
++  "wn_menuitem\"><property name=\"name\">shutdown_menuitem</property><prop"
+   "erty name=\"visible\">True</property><property name=\"can_focus\">False"
+   "</property><property name=\"use_action_appearance\">False</property><pr"
+-  "operty name=\"label\" translatable=\"yes\">Large Font</property><signal"
+-  " name=\"toggled\" handler=\"a11y_font_cb\" swapped=\"no\"/></object></c"
+-  "hild><child><object class=\"GtkCheckMenuItem\" id=\"high_contrast_menui"
+-  "tem\"><property name=\"name\">high_contrast_menuitem</property><propert"
+-  "y name=\"visible\">True</property><property name=\"can_focus\">False</p"
+-  "roperty><property name=\"use_action_appearance\">False</property><prope"
+-  "rty name=\"label\" translatable=\"yes\">High Contrast</property><signal"
+-  " name=\"toggled\" handler=\"a11y_contrast_cb\" swapped=\"no\"/></object"
+-  "></child></object></child></object></child></object></child></object><o"
+-  "bject class=\"GtkListStore\" id=\"session_liststore\"><columns><column "
+-  "type=\"gchararray\"/><column type=\"gchararray\"/></columns></object><o"
+-  "bject class=\"GtkListStore\" id=\"user_liststore\"><columns><column typ"
+-  "e=\"gchararray\"/><column type=\"gchararray\"/><column type=\"gint\"/><"
+-  "/columns></object></interface>"
++  "operty name=\"label\" translatable=\"yes\">Shutdown...</property><signa"
++  "l name=\"activate\" handler=\"shutdown_cb\" swapped=\"no\"/></object></"
++  "child></object></child></object></child><child><object class=\"GtkMenuI"
++  "tem\" id=\"a11y_menuitem\"><property name=\"name\">a11y_menuitem</prope"
++  "rty><property name=\"visible\">True</property><property name=\"can_focu"
++  "s\">False</property><property name=\"use_action_appearance\">False</pro"
++  "perty><child type=\"submenu\"><object class=\"GtkMenu\" id=\"a11y_menu\""
++  "><property name=\"name\">a11y_menu</property><property name=\"visible\""
++  ">True</property><property name=\"can_focus\">False</property><child><ob"
++  "ject class=\"GtkCheckMenuItem\" id=\"large_font_menuitem\"><property na"
++  "me=\"name\">large_font_menuitem</property><property name=\"visible\">Tr"
++  "ue</property><property name=\"can_focus\">False</property><property nam"
++  "e=\"use_action_appearance\">False</property><property name=\"label\" tr"
++  "anslatable=\"yes\">Large Font</property><signal name=\"toggled\" handle"
++  "r=\"a11y_font_cb\" swapped=\"no\"/></object></child><child><object clas"
++  "s=\"GtkCheckMenuItem\" id=\"high_contrast_menuitem\"><property name=\"n"
++  "ame\">high_contrast_menuitem</property><property name=\"visible\">True<"
++  "/property><property name=\"can_focus\">False</property><property name=\""
++  "use_action_appearance\">False</property><property name=\"label\" transl"
++  "atable=\"yes\">High Contrast</property><signal name=\"toggled\" handler"
++  "=\"a11y_contrast_cb\" swapped=\"no\"/></object></child><child><object c"
++  "lass=\"GtkCheckMenuItem\" id=\"keyboard_menuitem\"><property name=\"nam"
++  "e\">keyboard_menuitem</property><property name=\"visible\">True</proper"
++  "ty><property name=\"can_focus\">False</property><property name=\"use_ac"
++  "tion_appearance\">False</property><property name=\"label\" translatable"
++  "=\"yes\">On Screen Keyboard</property><signal name=\"toggled\" handler="
++  "\"a11y_keyboard_cb\" swapped=\"no\"/></object></child></object></child>"
++  "</object></child></object></child></object><object class=\"GtkListStore"
++  "\" id=\"session_liststore\"><columns><column type=\"gchararray\"/><colu"
++  "mn type=\"gchararray\"/></columns></object><object class=\"GtkListStore"
++  "\" id=\"user_liststore\"><columns><column type=\"gchararray\"/><column "
++  "type=\"gchararray\"/><column type=\"gint\"/></columns></object></interf"
++  "ace>"
+ };
+ 
+-static const unsigned lightdm_gtk_greeter_ui_length = 10699u;
++static const unsigned lightdm_gtk_greeter_ui_length = 11147u;
+ 




More information about the arch-commits mailing list