0 | 0 |
Index: gnome-settings-daemon-2.31.91/configure.ac
|
1 | 1 |
===================================================================
|
2 | |
--- gnome-settings-daemon-2.31.91.orig/configure.ac 2010-09-01 19:13:09.892617001 +1000
|
3 | |
+++ gnome-settings-daemon-2.31.91/configure.ac 2010-09-01 19:13:10.642617001 +1000
|
|
2 |
--- gnome-settings-daemon-2.31.91.orig/configure.ac 2010-09-06 19:48:29.000000000 +0200
|
|
3 |
+++ gnome-settings-daemon-2.31.91/configure.ac 2010-09-06 19:48:29.000000000 +0200
|
4 | 4 |
@@ -52,6 +52,7 @@
|
5 | 5 |
GIO_REQUIRED_VERSION=2.17.3
|
6 | 6 |
GNOME_DESKTOP_REQUIRED_VERSION=2.29.92
|
|
52 | 52 |
${NSS_DATABASE:+\
|
53 | 53 |
Index: gnome-settings-daemon-2.31.91/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
|
54 | 54 |
===================================================================
|
55 | |
--- gnome-settings-daemon-2.31.91.orig/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c 2010-09-01 19:12:04.992617000 +1000
|
56 | |
+++ gnome-settings-daemon-2.31.91/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c 2010-09-01 19:13:10.642617001 +1000
|
|
55 |
--- gnome-settings-daemon-2.31.91.orig/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c 2010-08-02 23:54:13.000000000 +0200
|
|
56 |
+++ gnome-settings-daemon-2.31.91/plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c 2010-09-06 19:48:29.000000000 +0200
|
57 | 57 |
@@ -50,6 +50,10 @@
|
58 | 58 |
#include <libnotify/notify.h>
|
59 | 59 |
#endif /* HAVE_LIBNOTIFY */
|
|
212 | 212 |
}
|
213 | 213 |
Index: gnome-settings-daemon-2.31.91/plugins/a11y-keyboard/Makefile.am
|
214 | 214 |
===================================================================
|
215 | |
--- gnome-settings-daemon-2.31.91.orig/plugins/a11y-keyboard/Makefile.am 2010-09-01 19:12:04.982617000 +1000
|
216 | |
+++ gnome-settings-daemon-2.31.91/plugins/a11y-keyboard/Makefile.am 2010-09-01 19:13:10.642617001 +1000
|
|
215 |
--- gnome-settings-daemon-2.31.91.orig/plugins/a11y-keyboard/Makefile.am 2009-07-27 23:37:28.000000000 +0200
|
|
216 |
+++ gnome-settings-daemon-2.31.91/plugins/a11y-keyboard/Makefile.am 2010-09-06 19:48:29.000000000 +0200
|
217 | 217 |
@@ -53,6 +53,7 @@
|
218 | 218 |
liba11y_keyboard_la_CFLAGS = \
|
219 | 219 |
$(SETTINGS_PLUGIN_CFLAGS) \
|
|
233 | 233 |
Index: gnome-settings-daemon-2.31.91/plugins/keyboard/gkbd-configuration.c
|
234 | 234 |
===================================================================
|
235 | 235 |
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
236 | |
+++ gnome-settings-daemon-2.31.91/plugins/keyboard/gkbd-configuration.c 2010-09-01 19:13:10.642617001 +1000
|
|
236 |
+++ gnome-settings-daemon-2.31.91/plugins/keyboard/gkbd-configuration.c 2010-09-06 19:48:29.000000000 +0200
|
237 | 237 |
@@ -0,0 +1,359 @@
|
238 | 238 |
+/*
|
239 | 239 |
+ * Copyright (C) 2010 Canonical Ltd.
|
|
597 | 597 |
Index: gnome-settings-daemon-2.31.91/plugins/keyboard/gkbd-configuration.h
|
598 | 598 |
===================================================================
|
599 | 599 |
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
600 | |
+++ gnome-settings-daemon-2.31.91/plugins/keyboard/gkbd-configuration.h 2010-09-01 19:13:10.642617001 +1000
|
|
600 |
+++ gnome-settings-daemon-2.31.91/plugins/keyboard/gkbd-configuration.h 2010-09-06 19:48:29.000000000 +0200
|
601 | 601 |
@@ -0,0 +1,65 @@
|
602 | 602 |
+/*
|
603 | 603 |
+ * Copyright (C) 2010 Canonical Ltd.
|
|
666 | 666 |
+#endif
|
667 | 667 |
Index: gnome-settings-daemon-2.31.91/plugins/keyboard/gsd-keyboard-xkb.c
|
668 | 668 |
===================================================================
|
669 | |
--- gnome-settings-daemon-2.31.91.orig/plugins/keyboard/gsd-keyboard-xkb.c 2010-09-01 19:12:05.012617000 +1000
|
670 | |
+++ gnome-settings-daemon-2.31.91/plugins/keyboard/gsd-keyboard-xkb.c 2010-09-01 19:18:57.402617001 +1000
|
|
669 |
--- gnome-settings-daemon-2.31.91.orig/plugins/keyboard/gsd-keyboard-xkb.c 2010-08-02 23:54:13.000000000 +0200
|
|
670 |
+++ gnome-settings-daemon-2.31.91/plugins/keyboard/gsd-keyboard-xkb.c 2010-09-06 19:48:29.000000000 +0200
|
671 | 671 |
@@ -31,12 +31,20 @@
|
672 | 672 |
#include <gtk/gtk.h>
|
673 | 673 |
#include <gconf/gconf-client.h>
|
|
689 | 689 |
#include "gsd-xmodmap.h"
|
690 | 690 |
#include "gsd-keyboard-xkb.h"
|
691 | 691 |
#include "delayed-dialog.h"
|
692 | |
@@ -74,7 +82,12 @@
|
|
692 |
@@ -74,7 +82,14 @@
|
693 | 693 |
|
694 | 694 |
static const char *gdm_keyboard_layout = NULL;
|
695 | 695 |
|
696 | 696 |
+#ifdef HAVE_APPINDICATOR
|
697 | 697 |
+static AppIndicator *app_indicator = NULL;
|
698 | 698 |
+static GkbdConfiguration *gkbd_configuration = NULL;
|
|
699 |
+static GkbdIndicatorConfig current_ind_config;
|
|
700 |
+GSList *groups_items_group = NULL;
|
699 | 701 |
+#else
|
700 | 702 |
static GtkStatusIcon *icon = NULL;
|
701 | 703 |
+#endif
|
702 | 704 |
|
703 | 705 |
static GHashTable *preview_dialogs = NULL;
|
704 | 706 |
|
705 | |
@@ -214,10 +227,14 @@
|
|
707 |
@@ -214,10 +229,14 @@
|
706 | 708 |
GtkWidget *dialog;
|
707 | 709 |
XklEngine *engine = xkl_engine_get_instance (GDK_DISPLAY ());
|
708 | 710 |
XklState *xkl_state = xkl_engine_get_current_state (engine);
|
|
718 | 720 |
|
719 | 721 |
if (xkl_state->group < 0
|
720 | 722 |
|| xkl_state->group >= g_strv_length (group_names)) {
|
721 | |
@@ -245,37 +262,156 @@
|
|
723 |
@@ -245,35 +264,171 @@
|
722 | 724 |
popup_menu_set_group (GtkMenuItem * item, gpointer param)
|
723 | 725 |
{
|
724 | 726 |
gint group_number = GPOINTER_TO_INT (param);
|
725 | 727 |
+#ifdef HAVE_APPINDICATOR
|
726 | 728 |
+ XklEngine *engine = gkbd_configuration_get_xkl_engine (gkbd_configuration);
|
|
729 |
+ if ((item) != NULL && (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (item))))
|
|
730 |
+ return;
|
727 | 731 |
+#else
|
728 | 732 |
XklEngine *engine = gkbd_status_get_xkl_engine ();
|
729 | 733 |
- XklState st;
|
730 | 734 |
+#endif
|
731 | 735 |
+ XklState *st = xkl_engine_get_current_state(engine);
|
732 | 736 |
Window cur;
|
733 | |
|
|
737 |
-
|
734 | 738 |
- st.group = group_number;
|
735 | |
+#ifdef HAVE_APPINDICATOR
|
736 | |
+ if ((item != NULL) && (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (item))))
|
737 | |
+ return;
|
738 | |
+#endif
|
739 | 739 |
+ st->group = group_number;
|
740 | 740 |
xkl_engine_allow_one_switch_to_secondary_group (engine);
|
741 | 741 |
cur = xkl_engine_get_current_window (engine);
|
|
743 | 743 |
xkl_debug (150, "Enforcing the state %d for window %lx\n",
|
744 | 744 |
- st.group, cur);
|
745 | 745 |
+ st->group, cur);
|
|
746 |
+#ifdef HAVE_APPINDICATOR
|
|
747 |
+ // Setting the state may trigger state_callback to be called, which will then
|
|
748 |
+ // cause popup_menu_set_group to be called again. As state_callback calls us
|
|
749 |
+ // without an item, we check that and only set the state if an item was sent
|
|
750 |
+ // in the callback, and therefore was a menu item click which did it.
|
|
751 |
+ if (item != NULL) {
|
|
752 |
+ xkl_engine_save_state (engine,
|
|
753 |
+ xkl_engine_get_current_window
|
|
754 |
+ (engine), st);
|
|
755 |
+ }
|
|
756 |
+#else
|
746 | 757 |
xkl_engine_save_state (engine,
|
747 | 758 |
xkl_engine_get_current_window
|
748 | 759 |
- (engine), &st);
|
749 | 760 |
+ (engine), st);
|
|
761 |
+#endif
|
750 | 762 |
/* XSetInputFocus( GDK_DISPLAY(), cur, RevertToNone, CurrentTime );*/
|
751 | 763 |
} else {
|
752 | 764 |
xkl_debug (150,
|
|
766 | 778 |
+ xkl_config_registry_load (registry, current_config.load_extra_items);
|
767 | 779 |
+
|
768 | 780 |
+ int g;
|
769 | |
+ gchar * guide = "XXX";
|
770 | |
+ gchar ** shortnames;
|
771 | |
+ gchar ** longnames;
|
772 | |
+ gchar * layout_name;
|
773 | |
+ gchar * lname = NULL;
|
774 | |
+ GHashTable *ln2cnt_map = g_hash_table_new (g_str_hash, g_str_equal);
|
775 | |
+
|
776 | |
+ gkbd_desktop_config_load_group_descriptions(¤t_config, registry,
|
777 | |
+ (const gchar **) xklrec->layouts,
|
778 | |
+ (const gchar **) xklrec->variants,
|
779 | |
+ &shortnames,
|
780 | |
+ &longnames);
|
781 | |
+
|
782 | |
+ for (g = 0; g < g_strv_length (shortnames);g++) {
|
783 | |
+ gpointer pcounter = NULL;
|
784 | |
+ gchar *prev_layout_name = NULL;
|
785 | |
+ int counter = 0;
|
786 | |
+
|
787 | |
+ if (g < g_strv_length (shortnames)) {
|
788 | |
+ if (xkl_engine_get_features (engine) &
|
789 | |
+ XKLF_MULTIPLE_LAYOUTS_SUPPORTED) {
|
790 | |
+ gchar *longname = (gchar *) g_slist_nth_data (current_kbd_config.layouts_variants, g);
|
791 | |
+ gchar *variant_name;
|
792 | |
+ if (!gkbd_keyboard_config_split_items (longname, &lname, &variant_name))
|
793 | |
+ /* just in case */
|
794 | |
+ lname = longname;
|
795 | |
+
|
796 | |
+ /* make it freeable */
|
797 | |
+ lname = g_strdup (lname);
|
798 | |
+
|
799 | |
+ if (shortnames != NULL) {
|
800 | |
+ gchar *shortname = shortnames[g];
|
801 | |
+ if (shortname != NULL && *shortname != '\0') {
|
802 | |
+ /* drop the long name */
|
803 | |
+ g_free (lname);
|
804 | |
+ lname = g_strdup (shortname);
|
805 | |
+ }
|
806 | |
+ }
|
807 | |
+ } else {
|
808 | |
+ lname = g_strdup (longnames[g]);
|
809 | |
+ }
|
810 | |
+ }
|
811 | |
+ if (lname == NULL)
|
812 | |
+ lname = g_strdup ("");
|
813 | |
+
|
814 | |
+ /* Process layouts with repeating description */
|
815 | |
+ if (g_hash_table_lookup_extended (ln2cnt_map, lname, (gpointer *) & prev_layout_name, &pcounter)) {
|
816 | |
+ /* "next" same description */
|
817 | |
+ counter = GPOINTER_TO_INT (pcounter);
|
818 | |
+ guide = "XXX1";
|
819 | |
+ }
|
820 | |
+ g_hash_table_insert (ln2cnt_map, lname, GINT_TO_POINTER (counter+1));
|
821 | |
+
|
822 | |
+ if (st->group == g) {
|
823 | |
+ if (counter > 0) {
|
824 | |
+ gchar appendix[10] = "";
|
825 | |
+ gint utf8length;
|
826 | |
+ gunichar cidx;
|
827 | |
+ /* Unicode subscript 2, 3, 4 */
|
828 | |
+ cidx = 0x2081 + counter;
|
829 | |
+ utf8length = g_unichar_to_utf8 (cidx, appendix);
|
830 | |
+ appendix[utf8length] = '\0';
|
831 | |
+ layout_name = g_strconcat (lname, appendix, NULL);
|
832 | |
+ } else {
|
833 | |
+ layout_name = g_strdup(lname);
|
834 | |
+ }
|
835 | |
+ }
|
836 | |
+ g_free(lname);
|
837 | |
+ }
|
838 | |
+
|
839 | |
+ // Guide of 3 wide-ish and one thin
|
840 | |
+ app_indicator_set_label(app_indicator, layout_name, guide);
|
841 | |
+ g_hash_table_destroy(ln2cnt_map);
|
842 | |
+
|
843 | |
+ // Deallocate memory so we don't leak wildly
|
844 | |
+ g_free(layout_name);
|
|
781 |
+
|
|
782 |
+ if (current_ind_config.show_flags) {
|
|
783 |
+ gchar *image_file = gkbd_indicator_config_get_images_file (¤t_ind_config,
|
|
784 |
+ ¤t_kbd_config,
|
|
785 |
+ st->group);
|
|
786 |
+
|
|
787 |
+
|
|
788 |
+ app_indicator_set_icon(app_indicator, image_file);
|
|
789 |
+ app_indicator_set_label(app_indicator, NULL, NULL);
|
|
790 |
+ g_free(image_file);
|
|
791 |
+ } else {
|
|
792 |
+ gchar * guide = "XXX";
|
|
793 |
+ gchar ** shortnames;
|
|
794 |
+ gchar ** longnames;
|
|
795 |
+ gchar * layout_name;
|
|
796 |
+ gchar * lname = NULL;
|
|
797 |
+ GHashTable *ln2cnt_map = g_hash_table_new (g_str_hash, g_str_equal);
|
|
798 |
+
|
|
799 |
+ gkbd_desktop_config_load_group_descriptions(¤t_config, registry,
|
|
800 |
+ (const gchar **) xklrec->layouts,
|
|
801 |
+ (const gchar **) xklrec->variants,
|
|
802 |
+ &shortnames,
|
|
803 |
+ &longnames);
|
|
804 |
+
|
|
805 |
+ for (g = 0; g < g_strv_length (shortnames);g++) {
|
|
806 |
+ gpointer pcounter = NULL;
|
|
807 |
+ gchar *prev_layout_name = NULL;
|
|
808 |
+ int counter = 0;
|
|
809 |
+
|
|
810 |
+ if (g < g_strv_length (shortnames)) {
|
|
811 |
+ if (xkl_engine_get_features (engine) &
|
|
812 |
+ XKLF_MULTIPLE_LAYOUTS_SUPPORTED) {
|
|
813 |
+ gchar *longname = (gchar *) g_slist_nth_data (current_kbd_config.layouts_variants, g);
|
|
814 |
+ gchar *variant_name;
|
|
815 |
+ if (!gkbd_keyboard_config_split_items (longname, &lname, &variant_name))
|
|
816 |
+ /* just in case */
|
|
817 |
+ lname = longname;
|
|
818 |
+
|
|
819 |
+ /* make it freeable */
|
|
820 |
+ lname = g_strdup (lname);
|
|
821 |
+
|
|
822 |
+ if (shortnames != NULL) {
|
|
823 |
+ gchar *shortname = shortnames[g];
|
|
824 |
+ if (shortname != NULL && *shortname != '\0') {
|
|
825 |
+ /* drop the long name */
|
|
826 |
+ g_free (lname);
|
|
827 |
+ lname = g_strdup (shortname);
|
|
828 |
+ }
|
|
829 |
+ }
|
|
830 |
+ } else {
|
|
831 |
+ lname = g_strdup (longnames[g]);
|
|
832 |
+ }
|
|
833 |
+ }
|
|
834 |
+ if (lname == NULL)
|
|
835 |
+ lname = g_strdup ("");
|
|
836 |
+
|
|
837 |
+ /* Process layouts with repeating description */
|
|
838 |
+ if (g_hash_table_lookup_extended (ln2cnt_map, lname, (gpointer *) & prev_layout_name, &pcounter)) {
|
|
839 |
+ /* "next" same description */
|
|
840 |
+ counter = GPOINTER_TO_INT (pcounter);
|
|
841 |
+ guide = "XXX1";
|
|
842 |
+ }
|
|
843 |
+ g_hash_table_insert (ln2cnt_map, lname, GINT_TO_POINTER (counter+1));
|
|
844 |
+
|
|
845 |
+ if (st->group == g) {
|
|
846 |
+ if (counter > 0) {
|
|
847 |
+ gchar appendix[10] = "";
|
|
848 |
+ gint utf8length;
|
|
849 |
+ gunichar cidx;
|
|
850 |
+ /* Unicode subscript 2, 3, 4 */
|
|
851 |
+ cidx = 0x2081 + counter;
|
|
852 |
+ utf8length = g_unichar_to_utf8 (cidx, appendix);
|
|
853 |
+ appendix[utf8length] = '\0';
|
|
854 |
+ layout_name = g_strconcat (lname, appendix, NULL);
|
|
855 |
+ } else {
|
|
856 |
+ layout_name = g_strdup(lname);
|
|
857 |
+ }
|
|
858 |
+ }
|
|
859 |
+ g_free(lname);
|
|
860 |
+ }
|
|
861 |
+
|
|
862 |
+ // Guide of 3 wide-ish and one thin
|
|
863 |
+ app_indicator_set_label(app_indicator, layout_name, guide);
|
|
864 |
+ g_hash_table_destroy(ln2cnt_map);
|
|
865 |
+ g_free(layout_name);
|
|
866 |
+ g_strfreev(longnames);
|
|
867 |
+ g_strfreev(shortnames);
|
|
868 |
+ }
|
|
869 |
+
|
845 | 870 |
+ g_object_unref (G_OBJECT (xklrec));
|
846 | 871 |
+ g_object_unref (G_OBJECT (registry));
|
847 | |
+ g_strfreev(longnames);
|
848 | |
+ g_strfreev(shortnames);
|
849 | 872 |
+#endif
|
850 | 873 |
}
|
851 | 874 |
|
|
865 | 888 |
+create_status_menu (void)
|
866 | 889 |
{
|
867 | 890 |
GtkMenu *popup_menu = GTK_MENU (gtk_menu_new ());
|
868 | |
+#ifndef HAVE_APPINDICATOR
|
869 | |
GtkMenu *groups_menu = GTK_MENU (gtk_menu_new ());
|
870 | |
+#endif
|
|
891 |
- GtkMenu *groups_menu = GTK_MENU (gtk_menu_new ());
|
871 | 892 |
int i = 0;
|
872 | 893 |
+#ifdef HAVE_APPINDICATOR
|
873 | 894 |
+ const char * const *current_name = gkbd_configuration_get_group_names (gkbd_configuration);
|
874 | |
+ GSList *groups_items_group = NULL;
|
|
895 |
+ groups_items_group = NULL;
|
|
896 |
+ GtkWidget *item;
|
875 | 897 |
+ XklEngine *engine = gkbd_configuration_get_xkl_engine (gkbd_configuration);
|
876 | 898 |
+ int group = xkl_engine_get_current_window_group (engine);
|
877 | 899 |
+#else
|
|
900 |
+ GtkMenu *groups_menu = GTK_MENU (gtk_menu_new ());
|
878 | 901 |
gchar **current_name = gkbd_status_get_group_names ();
|
879 | |
+#endif
|
880 | |
|
881 | |
+#ifndef HAVE_APPINDICATOR
|
|
902 |
|
882 | 903 |
GtkWidget *item = gtk_menu_item_new_with_mnemonic (_("_Layouts"));
|
883 | |
gtk_widget_show (item);
|
884 | |
gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);
|
885 | |
@@ -293,8 +429,23 @@
|
|
904 |
@@ -293,8 +448,22 @@
|
886 | 905 |
gtk_widget_show (item);
|
887 | 906 |
g_signal_connect (item, "activate", popup_menu_show_layout, NULL);
|
888 | 907 |
gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);
|
889 | |
+#else
|
890 | |
+ GtkWidget *item;
|
891 | 908 |
+#endif
|
892 | 909 |
+
|
893 | 910 |
+ for (i = 0; current_name && *current_name; i++, current_name++) {
|
|
898 | 915 |
- for (i = 0; *current_name; i++, current_name++) {
|
899 | 916 |
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item),
|
900 | 917 |
+ i == group);
|
|
918 |
+
|
901 | 919 |
+ gtk_widget_show (item);
|
902 | 920 |
+ gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item);
|
903 | 921 |
+ g_signal_connect (item, "activate",
|
|
907 | 925 |
gchar *image_file = gkbd_status_get_image_filename (i);
|
908 | 926 |
|
909 | 927 |
if (image_file == NULL) {
|
910 | |
@@ -322,17 +473,62 @@
|
|
928 |
@@ -322,17 +491,66 @@
|
911 | 929 |
g_signal_connect (item, "activate",
|
912 | 930 |
G_CALLBACK (popup_menu_set_group),
|
913 | 931 |
GINT_TO_POINTER (i));
|
|
959 | 977 |
+ "keyboard",
|
960 | 978 |
+ APP_INDICATOR_CATEGORY_HARDWARE);
|
961 | 979 |
+ XklEngine *engine = gkbd_configuration_get_xkl_engine (gkbd_configuration);
|
962 | |
+ XklState *st = xkl_engine_get_current_state(engine);
|
963 | |
+ popup_menu_set_group(NULL, GINT_TO_POINTER(st->group));
|
|
980 |
+ int group = xkl_engine_get_current_window_group (engine);
|
|
981 |
+ popup_menu_set_group(NULL, GINT_TO_POINTER(group));
|
964 | 982 |
+ app_indicator_set_status (app_indicator,
|
965 | 983 |
+ APP_INDICATOR_STATUS_ACTIVE);
|
966 | 984 |
+ app_indicator_set_menu (app_indicator,
|
967 | 985 |
+ popup_menu);
|
968 | |
+ }
|
|
986 |
+ } else {
|
|
987 |
+ XklEngine *engine = gkbd_configuration_get_xkl_engine (gkbd_configuration);
|
|
988 |
+ XklState *st = xkl_engine_get_current_state(engine);
|
|
989 |
+ popup_menu_set_group(NULL, GINT_TO_POINTER(st->group));
|
|
990 |
+ }
|
969 | 991 |
+#else
|
970 | 992 |
if (icon == NULL) {
|
971 | 993 |
GConfClient *conf_client =
|
972 | 994 |
gconf_client_get_default ();
|
973 | |
@@ -352,12 +548,20 @@
|
|
995 |
@@ -352,12 +570,20 @@
|
974 | 996 |
NULL);
|
975 | 997 |
|
976 | 998 |
}
|
|
991 | 1013 |
}
|
992 | 1014 |
}
|
993 | 1015 |
|
994 | |
@@ -698,6 +902,22 @@
|
|
1016 |
@@ -561,6 +787,14 @@
|
|
1017 |
gkbd_keyboard_config_load_from_x_current (¤t_sys_kbd_config,
|
|
1018 |
NULL);
|
|
1019 |
|
|
1020 |
+ gkbd_indicator_config_init (¤t_ind_config, conf_client,
|
|
1021 |
+ xkl_engine);
|
|
1022 |
+ gkbd_indicator_config_load_from_gconf (¤t_ind_config);
|
|
1023 |
+
|
|
1024 |
+ gkbd_indicator_config_load_image_filenames (¤t_ind_config,
|
|
1025 |
+ ¤t_kbd_config);
|
|
1026 |
+ gkbd_indicator_config_activate (¤t_ind_config);
|
|
1027 |
+
|
|
1028 |
if (!try_activating_xkb_config_if_new (¤t_sys_kbd_config)) {
|
|
1029 |
if (filter_xkb_config ()) {
|
|
1030 |
if (!try_activating_xkb_config_if_new
|
|
1031 |
@@ -698,6 +932,22 @@
|
995 | 1032 |
gsd_load_modmap_files ();
|
996 | 1033 |
}
|
997 | 1034 |
|
|
1014 | 1051 |
void
|
1015 | 1052 |
gsd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun,
|
1016 | 1053 |
void *user_data)
|
1017 | |
@@ -805,6 +1025,13 @@
|
|
1054 |
@@ -805,6 +1055,13 @@
|
1018 | 1055 |
logfile = fopen ("/tmp/gsdkx.log", "a");
|
1019 | 1056 |
xkl_set_log_appender (gsd_keyboard_log_appender);
|
1020 | 1057 |
#endif
|
|
1028 | 1065 |
manager = kbd_manager;
|
1029 | 1066 |
gnome_settings_profile_start ("xkl_engine_get_instance");
|
1030 | 1067 |
xkl_engine = xkl_engine_get_instance (display);
|
1031 | |
@@ -838,6 +1065,9 @@
|
|
1068 |
@@ -838,6 +1095,9 @@
|
1032 | 1069 |
(GConfClientNotifyFunc)
|
1033 | 1070 |
apply_xkb_settings);
|
1034 | 1071 |
|
|
1038 | 1075 |
gdk_window_add_filter (NULL, (GdkFilterFunc)
|
1039 | 1076 |
gsd_keyboard_xkb_evt_filter, NULL);
|
1040 | 1077 |
|
1041 | |
@@ -920,5 +1150,13 @@
|
|
1078 |
@@ -920,5 +1180,13 @@
|
1042 | 1079 |
g_object_unref (xkl_engine);
|
1043 | 1080 |
|
1044 | 1081 |
xkl_engine = NULL;
|
|
1054 | 1091 |
}
|
1055 | 1092 |
Index: gnome-settings-daemon-2.31.91/plugins/keyboard/Makefile.am
|
1056 | 1093 |
===================================================================
|
1057 | |
--- gnome-settings-daemon-2.31.91.orig/plugins/keyboard/Makefile.am 2010-09-01 19:12:05.002617000 +1000
|
1058 | |
+++ gnome-settings-daemon-2.31.91/plugins/keyboard/Makefile.am 2010-09-01 19:13:10.652617001 +1000
|
|
1094 |
--- gnome-settings-daemon-2.31.91.orig/plugins/keyboard/Makefile.am 2010-08-02 23:54:13.000000000 +0200
|
|
1095 |
+++ gnome-settings-daemon-2.31.91/plugins/keyboard/Makefile.am 2010-09-06 19:48:29.000000000 +0200
|
1059 | 1096 |
@@ -27,6 +27,8 @@
|
1060 | 1097 |
gsd-xmodmap.c \
|
1061 | 1098 |
delayed-dialog.h \
|
|
1083 | 1120 |
plugin_in_files = \
|
1084 | 1121 |
Index: gnome-settings-daemon-2.31.91/plugins/xrandr/gsd-xrandr-manager.c
|
1085 | 1122 |
===================================================================
|
1086 | |
--- gnome-settings-daemon-2.31.91.orig/plugins/xrandr/gsd-xrandr-manager.c 2010-09-01 19:13:09.292617001 +1000
|
1087 | |
+++ gnome-settings-daemon-2.31.91/plugins/xrandr/gsd-xrandr-manager.c 2010-09-01 19:13:10.652617001 +1000
|
|
1123 |
--- gnome-settings-daemon-2.31.91.orig/plugins/xrandr/gsd-xrandr-manager.c 2010-09-06 19:48:29.000000000 +0200
|
|
1124 |
+++ gnome-settings-daemon-2.31.91/plugins/xrandr/gsd-xrandr-manager.c 2010-09-06 19:48:29.000000000 +0200
|
1088 | 1125 |
@@ -49,6 +49,10 @@
|
1089 | 1126 |
#include <libnotify/notify.h>
|
1090 | 1127 |
#endif
|
|
1289 | 1326 |
static void
|
1290 | 1327 |
Index: gnome-settings-daemon-2.31.91/plugins/xrandr/Makefile.am
|
1291 | 1328 |
===================================================================
|
1292 | |
--- gnome-settings-daemon-2.31.91.orig/plugins/xrandr/Makefile.am 2010-09-01 19:12:04.962617000 +1000
|
1293 | |
+++ gnome-settings-daemon-2.31.91/plugins/xrandr/Makefile.am 2010-09-01 19:13:10.652617001 +1000
|
|
1329 |
--- gnome-settings-daemon-2.31.91.orig/plugins/xrandr/Makefile.am 2010-08-02 23:54:13.000000000 +0200
|
|
1330 |
+++ gnome-settings-daemon-2.31.91/plugins/xrandr/Makefile.am 2010-09-06 19:48:29.000000000 +0200
|
1294 | 1331 |
@@ -55,6 +55,7 @@
|
1295 | 1332 |
libxrandr_la_CFLAGS = \
|
1296 | 1333 |
$(SETTINGS_PLUGIN_CFLAGS) \
|