summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac6
-rw-r--r--libmatekbd/Makefile.am41
-rw-r--r--libmatekbd/matekbd-desktop-config.c21
-rw-r--r--libmatekbd/matekbd-desktop-config.h5
-rw-r--r--libmatekbd/matekbd-indicator-config.c6
-rw-r--r--libmatekbd/matekbd-indicator-config.h5
-rw-r--r--libmatekbd/matekbd-indicator.c9
-rw-r--r--libmatekbd/matekbd-indicator.h2
-rw-r--r--libmatekbd/matekbd-keyboard-config.c4
-rw-r--r--libmatekbd/matekbd-keyboard-config.h5
-rw-r--r--libmatekbd/matekbd-keyboard-drawing.c249
-rw-r--r--libmatekbd/matekbd-keyboard-drawing.h4
-rw-r--r--libmatekbd/matekbd-status.c7
-rw-r--r--libmatekbd/matekbd-status.h2
-rw-r--r--libmatekbd/matekbd-util.c6
-rw-r--r--libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in124
-rw-r--r--libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in.in124
-rw-r--r--po/POTFILES.in2
19 files changed, 332 insertions, 292 deletions
diff --git a/Makefile.am b/Makefile.am
index ae15bac..545a3d9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,6 +6,8 @@ SUBDIRS = libmatekbd $(TEST) po
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
+
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
diff --git a/configure.ac b/configure.ac
index f9426c4..0ff33f4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,6 +40,7 @@ case "$with_gtk" in
GDK_REQUIRED=3.0
;;
esac
+AC_SUBST([GTK_API_VERSION])
dnl ***************************************************************************
dnl *** Minimum library versions for libmatekbd ***
@@ -74,7 +75,7 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package])
AM_GLIB_GNU_GETTEXT
-IT_PROG_INTLTOOL([0.35.0])
+IT_PROG_INTLTOOL([0.50.1])
# *****************************************************************************
@@ -123,11 +124,14 @@ AM_CONDITIONAL(BUILD_TESTS, test "$enable_tests" = "yes")
AC_SEARCH_LIBS([sqrt], [m])
+GOBJECT_INTROSPECTION_CHECK([0.6.7])
+
AC_OUTPUT([
Makefile
libmatekbd.pc
libmatekbdui.pc
po/Makefile.in
libmatekbd/Makefile
+libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml
test/Makefile
])
diff --git a/libmatekbd/Makefile.am b/libmatekbd/Makefile.am
index f94ae7c..b071c16 100644
--- a/libmatekbd/Makefile.am
+++ b/libmatekbd/Makefile.am
@@ -4,7 +4,7 @@ uidir = $(pkgdatadir)/ui
ui_DATA = show-layout.ui
common_CFLAGS = \
- -I$(top_srcdir) -Wall \
+ -I$(top_srcdir) \
$(GDK_CFLAGS) \
$(GIO_CFLAGS) \
$(LIBXKLAVIER_CFLAGS) \
@@ -75,20 +75,20 @@ noinst_HEADERS = $(extra_nih) \
matekbd-config-private.h
@INTLTOOL_XML_NOMERGE_RULE@
-gsettings_SCHEMAS = org.mate.peripherals-keyboard-xkb.gschema.xml
+gsettingsschema_in_files = org.mate.peripherals-keyboard-xkb.gschema.xml.in
+gsettings_SCHEMAS = $(gsettingsschema_in_files:.xml.in=.xml)
@GSETTINGS_RULES@
-%.gschema.xml.in: %.gschema.xml.in.in Makefile
- $(AM_V_GEN) $(SED) -e 's^\@datadir\@^$(datadir)^g' -e 's^\@GETTEXT_PACKAGE\@^$(GETTEXT_PACKAGE)^g' < $< > $@
-
convertdir = $(datadir)/MateConf/gsettings
convert_DATA = matekbd.convert
EXTRA_DIST = matekbd-indicator-marshal.list \
matekbd-keyboard-drawing-marshal.list \
- $(gsettings_SCHEMAS).in.in $(convert_DATA) $(ui_DATA)
+ $(gsettingsschema_in_files) \
+ $(convert_DATA) \
+ $(ui_DATA)
-DISTCLEANFILES = $(gsettings_SCHEMAS).in $(gsettings_SCHEMAS)
+DISTCLEANFILES = $(gsettings_SCHEMAS)
GLIB_GENMARSHAL = $(shell pkg-config --variable=glib_genmarshal glib-2.0)
@@ -109,3 +109,30 @@ matekbd-keyboard-drawing-marshal.c: matekbd-keyboard-drawing-marshal.h
--body > matekbd-keyboard-drawing-marshal.tmp \
&& mv matekbd-keyboard-drawing-marshal.tmp matekbd-keyboard-drawing-marshal.c ) \
|| ( rm -f matekbd-keyboard-drawing-marshal.tmp && exit 1 )
+
+
+-include $(INTROSPECTION_MAKEFILE)
+INTROSPECTION_GIRS =
+INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
+
+if HAVE_INTROSPECTION
+introspection_sources = $(matekbdinc_HEADERS) \
+ $(libmatekbd_la_SOURCES) \
+ $(libmatekbdui_la_SOURCES)
+
+Matekbd-1.0.gir: libmatekbd.la libmatekbdui.la
+Matekbd_1_0_gir_INCLUDES = GObject-2.0 Gtk-$(GTK_API_VERSION) xlib-2.0
+Matekbd_1_0_gir_CFLAGS = $(libmatekbdui_la_CFLAGS)
+Matekbd_1_0_gir_LIBS = libmatekbd.la libmatekbdui.la
+Matekbd_1_0_gir_FILES = $(introspection_sources)
+INTROSPECTION_GIRS += Matekbd-1.0.gir
+
+girdir = $(datadir)/gir-1.0
+gir_DATA = $(INTROSPECTION_GIRS)
+
+typelibdir = $(libdir)/girepository-1.0
+typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+
+CLEANFILES = $(gir_DATA) $(typelib_DATA)
+endif
diff --git a/libmatekbd/matekbd-desktop-config.c b/libmatekbd/matekbd-desktop-config.c
index 03a98de..0038a9b 100644
--- a/libmatekbd/matekbd-desktop-config.c
+++ b/libmatekbd/matekbd-desktop-config.c
@@ -24,7 +24,7 @@
#include <stdlib.h>
#include <X11/keysym.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
#include <gio/gio.h>
#include <matekbd-desktop-config.h>
#include <matekbd-config-private.h>
@@ -68,13 +68,13 @@ static gboolean
pv = variant_ids;
total_layouts = g_strv_length ((char **) layout_ids);
sld = *short_layout_descriptions =
- g_new0 (char *, total_layouts + 1);
+ g_new0 (gchar *, total_layouts + 1);
lld = *long_layout_descriptions =
- g_new0 (char *, total_layouts + 1);
+ g_new0 (gchar *, total_layouts + 1);
svd = *short_variant_descriptions =
- g_new0 (char *, total_layouts + 1);
+ g_new0 (gchar *, total_layouts + 1);
lvd = *long_variant_descriptions =
- g_new0 (char *, total_layouts + 1);
+ g_new0 (gchar *, total_layouts + 1);
while (pl != NULL && *pl != NULL) {
@@ -239,6 +239,10 @@ matekbd_desktop_config_restore_group (MatekbdDesktopConfig * config)
xkl_engine_lock_group (config->engine, group);
}
+/**
+ * matekbd_desktop_config_start_listen:
+ * @func: (scope notified): a function to call when settings are changed
+ */
void
matekbd_desktop_config_start_listen (MatekbdDesktopConfig * config,
GCallback func,
@@ -272,7 +276,7 @@ matekbd_desktop_config_load_group_descriptions (MatekbdDesktopConfig
{
gchar **sld, **lld, **svd, **lvd;
gchar **psld, **plld, **plvd;
- gchar **psgn, **pfgn;
+ gchar **psgn, **pfgn, **psvd;
gint total_descriptions;
if (!matekbd_desktop_config_get_lv_descriptions
@@ -291,8 +295,11 @@ matekbd_desktop_config_load_group_descriptions (MatekbdDesktopConfig
plld = lld;
psld = sld;
plvd = lvd;
+ psvd = svd;
while (plld != NULL && *plld != NULL) {
- *psgn++ = g_strdup (*psld++);
+ gchar *sd = (*psvd[0] == '\0') ? *psld : *psvd;
+ psld++, psvd++;
+ *psgn++ = g_strdup (sd);
*pfgn++ = g_strdup (matekbd_keyboard_config_format_full_layout
(*plld++, *plvd++));
}
diff --git a/libmatekbd/matekbd-desktop-config.h b/libmatekbd/matekbd-desktop-config.h
index b2ced48..ce890ae 100644
--- a/libmatekbd/matekbd-desktop-config.h
+++ b/libmatekbd/matekbd-desktop-config.h
@@ -33,7 +33,8 @@ extern const gchar MATEKBD_DESKTOP_CONFIG_KEY_LAYOUT_NAMES_AS_GROUP_NAMES[];
/*
* General configuration
*/
-typedef struct _MatekbdDesktopConfig {
+typedef struct _MatekbdDesktopConfig MatekbdDesktopConfig;
+struct _MatekbdDesktopConfig {
gint default_group;
gboolean group_per_app;
gboolean handle_indicators;
@@ -44,7 +45,7 @@ typedef struct _MatekbdDesktopConfig {
GSettings *settings;
int config_listener_id;
XklEngine *engine;
-} MatekbdDesktopConfig;
+};
/**
* MatekbdDesktopConfig functions
diff --git a/libmatekbd/matekbd-indicator-config.c b/libmatekbd/matekbd-indicator-config.c
index 18bb994..cf35223 100644
--- a/libmatekbd/matekbd-indicator-config.c
+++ b/libmatekbd/matekbd-indicator-config.c
@@ -26,7 +26,7 @@
#include <pango/pango.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
#include <gdk/gdkx.h>
#include <matekbd-keyboard-config.h>
@@ -301,6 +301,10 @@ matekbd_indicator_config_activate (MatekbdIndicatorConfig * ind_config)
ind_config->secondary_groups_mask);
}
+/**
+ * matekbd_indicator_config_start_listen:
+ * @func: (scope notified): a function to call when settings are changed
+ */
void
matekbd_indicator_config_start_listen (MatekbdIndicatorConfig *
ind_config,
diff --git a/libmatekbd/matekbd-indicator-config.h b/libmatekbd/matekbd-indicator-config.h
index d7545ff..c989f2a 100644
--- a/libmatekbd/matekbd-indicator-config.h
+++ b/libmatekbd/matekbd-indicator-config.h
@@ -27,7 +27,8 @@
/*
* Indicator configuration
*/
-typedef struct _MatekbdIndicatorConfig {
+typedef struct _MatekbdIndicatorConfig MatekbdIndicatorConfig;
+struct _MatekbdIndicatorConfig {
int secondary_groups_mask;
gboolean show_flags;
@@ -41,7 +42,7 @@ typedef struct _MatekbdIndicatorConfig {
GtkIconTheme *icon_theme;
int config_listener_id;
XklEngine *engine;
-} MatekbdIndicatorConfig;
+};
/**
* MatekbdIndicatorConfig functions -
diff --git a/libmatekbd/matekbd-indicator.c b/libmatekbd/matekbd-indicator.c
index aef88d2..bd7bf31 100644
--- a/libmatekbd/matekbd-indicator.c
+++ b/libmatekbd/matekbd-indicator.c
@@ -16,13 +16,14 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#include <config.h>
#include <memory.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include <gdk/gdkx.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
#include <matekbd-indicator.h>
#include <matekbd-indicator-marshal.h>
@@ -510,7 +511,7 @@ matekbd_indicator_load_group_names (const gchar ** layout_ids,
gint i, total_groups =
xkl_engine_get_num_groups (globals.engine);
globals.full_group_names =
- g_new0 (char *, total_groups + 1);
+ g_new0 (gchar *, total_groups + 1);
if (xkl_engine_get_features (globals.engine) &
XKLF_MULTIPLE_LAYOUTS_SUPPORTED) {
@@ -870,6 +871,10 @@ matekbd_indicator_get_xkl_engine ()
return globals.engine;
}
+/**
+ * matekbd_indicator_get_group_names:
+ * Returns: (transfer none) (array zero-terminated=1): List of group names
+ */
gchar **
matekbd_indicator_get_group_names ()
{
diff --git a/libmatekbd/matekbd-indicator.h b/libmatekbd/matekbd-indicator.h
index ac1418b..0332e1a 100644
--- a/libmatekbd/matekbd-indicator.h
+++ b/libmatekbd/matekbd-indicator.h
@@ -34,7 +34,7 @@ extern "C" {
#define MATEKBD_TYPE_INDICATOR (matekbd_indicator_get_type ())
#define MATEKBD_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MATEKBD_TYPE_INDICATOR, MatekbdIndicator))
-#define MATEKBD_INDCATOR_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), MATEKBD_TYPE_INDICATOR, MatekbdIndicatorClass))
+#define MATEKBD_INDICATOR_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), MATEKBD_TYPE_INDICATOR, MatekbdIndicatorClass))
#define MATEKBD_IS_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MATEKBD_TYPE_INDICATOR))
#define MATEKBD_IS_INDICATOR_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), MATEKBD_TYPE_INDICATOR))
#define MATEKBD_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MATEKBD_TYPE_INDICATOR, MatekbdIndicatorClass))
diff --git a/libmatekbd/matekbd-keyboard-config.c b/libmatekbd/matekbd-keyboard-config.c
index 019e1d6..9a7abc2 100644
--- a/libmatekbd/matekbd-keyboard-config.c
+++ b/libmatekbd/matekbd-keyboard-config.c
@@ -635,6 +635,10 @@ matekbd_keyboard_config_activate (MatekbdKeyboardConfig * kbd_config)
return rv;
}
+/**
+ * matekbd_keyboard_config_start_listen:
+ * @func: (scope notified): a function to call when settings are changed
+ */
void
matekbd_keyboard_config_start_listen (MatekbdKeyboardConfig * kbd_config,
GCallback func,
diff --git a/libmatekbd/matekbd-keyboard-config.h b/libmatekbd/matekbd-keyboard-config.h
index bd6bbdc..5864f3d 100644
--- a/libmatekbd/matekbd-keyboard-config.h
+++ b/libmatekbd/matekbd-keyboard-config.h
@@ -32,7 +32,8 @@ extern const gchar MATEKBD_KEYBOARD_CONFIG_KEY_OPTIONS[];
/*
* Keyboard Configuration
*/
-typedef struct _MatekbdKeyboardConfig {
+typedef struct _MatekbdKeyboardConfig MatekbdKeyboardConfig;
+struct _MatekbdKeyboardConfig {
gchar *model;
gchar **layouts_variants;
gchar **options;
@@ -41,7 +42,7 @@ typedef struct _MatekbdKeyboardConfig {
GSettings *settings;
int config_listener_id;
XklEngine *engine;
-} MatekbdKeyboardConfig;
+};
/**
* MatekbdKeyboardConfig functions
diff --git a/libmatekbd/matekbd-keyboard-drawing.c b/libmatekbd/matekbd-keyboard-drawing.c
index 7e9f8d7..bd1a35e 100644
--- a/libmatekbd/matekbd-keyboard-drawing.c
+++ b/libmatekbd/matekbd-keyboard-drawing.c
@@ -26,7 +26,7 @@
#include <stdlib.h>
#include <memory.h>
#include <math.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
#include <libxklavier/xklavier.h>
#include <matekbd-keyboard-drawing.h>
@@ -618,6 +618,21 @@ find_keycode (MatekbdKeyboardDrawing * drawing, gchar * key_name)
return INVALID_KEYCODE;
}
+static void
+set_markup (MatekbdKeyboardDrawingRenderContext * context, gchar *txt)
+{
+ PangoLayout *layout = context->layout;
+ txt = strcmp ("<", txt) ? txt : "&lt;";
+ txt = strcmp ("&", txt) ? txt : "&amp;";
+ if (g_utf8_strlen (txt, -1) > 1) {
+ gchar* buf =
+ g_strdup_printf ("<span size=\"x-small\">%s</span>", txt);
+ pango_layout_set_markup (layout, buf, -1);
+ g_free (buf);
+ } else {
+ pango_layout_set_markup (layout, txt, -1);
+ }
+}
static void
set_key_label_in_layout (MatekbdKeyboardDrawingRenderContext * context,
@@ -625,131 +640,130 @@ set_key_label_in_layout (MatekbdKeyboardDrawingRenderContext * context,
{
gchar buf[5];
gunichar uc;
- PangoLayout *layout = context->layout;
switch (keyval) {
case GDK_KEY_Scroll_Lock:
- pango_layout_set_text (layout, "Scroll\nLock", -1);
+ set_markup (context, "Scroll\nLock");
break;
case GDK_KEY_space:
- pango_layout_set_text (layout, "", -1);
+ set_markup (context, "");
break;
case GDK_KEY_Sys_Req:
- pango_layout_set_text (layout, "Sys Rq", -1);
+ set_markup (context, "Sys Rq");
break;
case GDK_KEY_Page_Up:
- pango_layout_set_text (layout, "Page\nUp", -1);
+ set_markup (context, "Page\nUp");
break;
case GDK_KEY_Page_Down:
- pango_layout_set_text (layout, "Page\nDown", -1);
+ set_markup (context, "Page\nDown");
break;
case GDK_KEY_Num_Lock:
- pango_layout_set_text (layout, "Num\nLock", -1);
+ set_markup (context, "Num\nLock");
break;
case GDK_KEY_KP_Page_Up:
- pango_layout_set_text (layout, "Pg Up", -1);
+ set_markup (context, "Pg Up");
break;
case GDK_KEY_KP_Page_Down:
- pango_layout_set_text (layout, "Pg Dn", -1);
+ set_markup (context, "Pg Dn");
break;
case GDK_KEY_KP_Home:
- pango_layout_set_text (layout, "Home", -1);
+ set_markup (context, "Home");
break;
case GDK_KEY_KP_Left:
- pango_layout_set_text (layout, "Left", -1);
+ set_markup (context, "Left");
break;
case GDK_KEY_KP_End:
- pango_layout_set_text (layout, "End", -1);
+ set_markup (context, "End");
break;
case GDK_KEY_KP_Up:
- pango_layout_set_text (layout, "Up", -1);
+ set_markup (context, "Up");
break;
case GDK_KEY_KP_Begin:
- pango_layout_set_text (layout, "Begin", -1);
+ set_markup (context, "Begin");
break;
case GDK_KEY_KP_Right:
- pango_layout_set_text (layout, "Right", -1);
+ set_markup (context, "Right");
break;
case GDK_KEY_KP_Enter:
- pango_layout_set_text (layout, "Enter", -1);
+ set_markup (context, "Enter");
break;
case GDK_KEY_KP_Down:
- pango_layout_set_text (layout, "Down", -1);
+ set_markup (context, "Down");
break;
case GDK_KEY_KP_Insert:
- pango_layout_set_text (layout, "Ins", -1);
+ set_markup (context, "Ins");
break;
case GDK_KEY_KP_Delete:
- pango_layout_set_text (layout, "Del", -1);
+ set_markup (context, "Del");
break;
case GDK_KEY_dead_grave:
- pango_layout_set_text (layout, "ˋ", -1);
+ set_markup (context, "ˋ");
break;
case GDK_KEY_dead_acute:
- pango_layout_set_text (layout, "ˊ", -1);
+ set_markup (context, "ˊ");
break;
case GDK_KEY_dead_circumflex:
- pango_layout_set_text (layout, "ˆ", -1);
+ set_markup (context, "ˆ");
break;
case GDK_KEY_dead_tilde:
- pango_layout_set_text (layout, "~", -1);
+ set_markup (context, "~");
break;
case GDK_KEY_dead_macron:
- pango_layout_set_text (layout, "ˉ", -1);
+ set_markup (context, "ˉ");
break;
case GDK_KEY_dead_breve:
- pango_layout_set_text (layout, "˘", -1);
+ set_markup (context, "˘");
break;
case GDK_KEY_dead_abovedot:
- pango_layout_set_text (layout, "˙", -1);
+ set_markup (context, "˙");
break;
case GDK_KEY_dead_diaeresis:
- pango_layout_set_text (layout, "¨", -1);
+ set_markup (context, "¨");
break;
case GDK_KEY_dead_abovering:
- pango_layout_set_text (layout, "˚", -1);
+ set_markup (context, "˚");
break;
case GDK_KEY_dead_doubleacute:
- pango_layout_set_text (layout, "˝", -1);
+ set_markup (context, "˝");
break;
case GDK_KEY_dead_caron:
- pango_layout_set_text (layout, "ˇ", -1);
+ set_markup (context, "ˇ");
break;
case GDK_KEY_dead_cedilla:
- pango_layout_set_text (layout, "¸", -1);
+ set_markup (context, "¸");
break;
case GDK_KEY_dead_ogonek:
- pango_layout_set_text (layout, "˛", -1);
+ set_markup (context, "˛");
break;
/* case GDK_KEY_dead_iota:
@@ -757,32 +771,32 @@ set_key_label_in_layout (MatekbdKeyboardDrawingRenderContext * context,
* case GDK_KEY_dead_semivoiced_sound: */
case GDK_KEY_dead_belowdot:
- pango_layout_set_text (layout, " ̣", -1);
+ set_markup (context, " ̣");
break;
case GDK_KEY_horizconnector:
- pango_layout_set_text (layout, "horiz\nconn", -1);
+ set_markup (context, "horiz\nconn");
break;
case GDK_KEY_Mode_switch:
- pango_layout_set_text (layout, "AltGr", -1);
+ set_markup (context, "AltGr");
break;
case GDK_KEY_Multi_key:
- pango_layout_set_text (layout, "Compose", -1);
+ set_markup (context, "Compose");
break;
default:
uc = gdk_keyval_to_unicode (keyval);
if (uc != 0 && g_unichar_isgraph (uc)) {
buf[g_unichar_to_utf8 (uc, buf)] = '\0';
- pango_layout_set_text (layout, buf, -1);
+ set_markup (context, buf);
} else {
gchar *name = gdk_keyval_name (keyval);
- if (name)
- pango_layout_set_text (layout, name, -1);
- else
- pango_layout_set_text (layout, "", -1);
+ if (name) {
+ set_markup (context, name);
+ } else
+ set_markup (context, "");
}
}
}
@@ -988,6 +1002,31 @@ draw_key_label (MatekbdKeyboardDrawingRenderContext * context,
}
}
+/**
+ The x offset is calculated for complex shapes. It is the rightmost of the vertical lines in the outline
+ */
+static gint
+calc_origin_offset_x (XkbOutlineRec * outline)
+{
+ gint rv = 0;
+ gint i;
+ XkbPointPtr point = outline->points;
+ if (outline->num_points < 3)
+ return 0;
+ for (i = outline->num_points; --i > 0;) {
+ gint x1 = point->x;
+ gint y1 = point++->y;
+ gint x2 = point->x;
+ gint y2 = point->y;
+
+ /*vertical, bottom to top (clock-wise), on the left */
+ if ((x1 == x2) && (y1 > y2) && (x1 > rv)) {
+ rv = x1;
+ }
+ }
+ return rv;
+}
+
/* groups are from 0-3 */
static void
draw_key (MatekbdKeyboardDrawingRenderContext * context,
@@ -995,6 +1034,8 @@ draw_key (MatekbdKeyboardDrawingRenderContext * context,
{
XkbShapeRec *shape;
GdkColor *color;
+ XkbOutlineRec *outline;
+ int origin_offset_x;
/* gint i; */
if (!drawing->xkb)
@@ -1023,9 +1064,9 @@ draw_key (MatekbdKeyboardDrawingRenderContext * context,
#endif
/* draw the primary outline */
- draw_outline (context,
- shape->primary ? shape->primary : shape->outlines,
- color, key->angle, key->origin_x, key->origin_y);
+ outline = shape->primary ? shape->primary : shape->outlines;
+ draw_outline (context, outline, color, key->angle, key->origin_x,
+ key->origin_y);
#if 0
/* don't draw other outlines for now, since
* the text placement does not take them into account
@@ -1039,8 +1080,9 @@ draw_key (MatekbdKeyboardDrawingRenderContext * context,
}
#endif
+ origin_offset_x = calc_origin_offset_x (outline);
draw_key_label (context, drawing, key->keycode, key->angle,
- key->origin_x, key->origin_y,
+ key->origin_x + origin_offset_x, key->origin_y,
shape->bounds.x2, shape->bounds.y2);
}
@@ -1143,7 +1185,7 @@ draw_text_doodad (MatekbdKeyboardDrawingRenderContext * context,
y = xkb_to_pixmap_coord (context,
doodad->origin_y + text_doodad->top);
- pango_layout_set_text (context->layout, text_doodad->text, -1);
+ set_markup (context, text_doodad->text);
draw_pango_layout (context, drawing, doodad->angle, x, y);
}
@@ -1311,20 +1353,11 @@ create_cairo (MatekbdKeyboardDrawing * drawing)
GtkStateType state;
if (drawing == NULL)
return FALSE;
-#if GTK_CHECK_VERSION (3, 0, 0)
if (drawing->surface == NULL)
return FALSE;
-#else
- if (drawing->pixmap == NULL)
- return FALSE;
-#endif
drawing->renderContext->cr =
-#if GTK_CHECK_VERSION (3, 0, 0)
cairo_create (drawing->surface);
-#else
- gdk_cairo_create (GDK_DRAWABLE (drawing->pixmap));
-#endif
state = gtk_widget_get_state (GTK_WIDGET (drawing));
drawing->renderContext->dark_color =
@@ -1352,15 +1385,12 @@ draw_keyboard (MatekbdKeyboardDrawing * drawing)
gtk_widget_get_allocation (GTK_WIDGET (drawing), &allocation);
-#if GTK_CHECK_VERSION (3, 0, 0)
drawing->surface =
- gdk_window_create_similar_surface (gtk_widget_get_window (GTK_WIDGET (drawing)),
- CAIRO_CONTENT_COLOR, allocation.width, allocation.height);
-#else
- drawing->pixmap =
- gdk_pixmap_new (gtk_widget_get_window (GTK_WIDGET (drawing)),
- allocation.width, allocation.height, -1);
-#endif
+ gdk_window_create_similar_surface (gtk_widget_get_window
+ (GTK_WIDGET (drawing)),
+ CAIRO_CONTENT_COLOR,
+ allocation.width,
+ allocation.height);
if (create_cairo (drawing)) {
/* blank background */
@@ -1406,61 +1436,28 @@ free_render_context (MatekbdKeyboardDrawing * drawing)
}
static gboolean
-expose_event (GtkWidget * widget,
#if GTK_CHECK_VERSION (3, 0, 0)
- cairo_t *cr,
+draw (GtkWidget *widget,
+ cairo_t *cr,
+ MatekbdKeyboardDrawing *drawing)
#else
- GdkEventExpose * event,
+expose_event (GtkWidget *widget,
+ GdkEventExpose *event,
+ MatekbdKeyboardDrawing *drawing)
#endif
- MatekbdKeyboardDrawing * drawing)
{
- GtkAllocation allocation;
-
#if !GTK_CHECK_VERSION (3, 0, 0)
- cairo_t *cr;
+ cairo_t *cr = gdk_cairo_create (event->window);
#endif
if (!drawing->xkb)
return FALSE;
-#if GTK_CHECK_VERSION (3, 0, 0)
if (drawing->surface == NULL)
-#else
- if (drawing->pixmap == NULL)
-#endif
return FALSE;
-#if GTK_CHECK_VERSION (3, 0, 0)
- cairo_set_source_surface (cr, drawing->surface, 0, 0);
- cairo_paint (cr);
-#else
- cr = gdk_cairo_create (event->window);
- gdk_cairo_region (cr, event->region);
- cairo_clip (cr);
-
- gdk_cairo_set_source_pixmap (cr, drawing->pixmap, 0, 0);
- cairo_paint (cr);
-
- cairo_destroy (cr);
-#endif
-
- if (gtk_widget_has_focus (widget)) {
- gtk_widget_get_allocation (widget, &allocation);
- gtk_paint_focus (gtk_widget_get_style (widget),
-#if GTK_CHECK_VERSION (3, 0, 0)
- cr,
-#else
- gtk_widget_get_window (widget),
-#endif
- gtk_widget_get_state (widget),
-#if GTK_CHECK_VERSION (3, 0, 0)
- widget, "keyboard-drawing",
-#else
- &event->area, widget, "keyboard-drawing",
-#endif
- 0, 0, allocation.width,
- allocation.height);
- }
+ cairo_set_source_surface (cr, drawing->surface, 0, 0);
+ cairo_paint (cr);
return FALSE;
}
@@ -1520,17 +1517,10 @@ size_allocate (GtkWidget * widget,
{
MatekbdKeyboardDrawingRenderContext *context = drawing->renderContext;
-#if GTK_CHECK_VERSION (3, 0, 0)
if (drawing->surface) {
cairo_surface_destroy (drawing->surface);
drawing->surface = NULL;
}
-#else
- if (drawing->pixmap) {
- g_object_unref (drawing->pixmap);
- drawing->pixmap = NULL;
- }
-#endif
if (!context_setup_scaling (context, drawing,
allocation->width, allocation->height,
@@ -2031,13 +2021,9 @@ destroy (MatekbdKeyboardDrawing * drawing)
drawing->idle_redraw = 0;
}
-#if GTK_CHECK_VERSION (3, 0, 0)
if (drawing->surface != NULL) {
cairo_surface_destroy (drawing->surface);
}
-#else
- g_object_unref (drawing->pixmap);
-#endif
}
static void
@@ -2074,11 +2060,7 @@ matekbd_keyboard_drawing_init (MatekbdKeyboardDrawing * drawing)
drawing->screen_num =
gdk_screen_get_number (gdk_screen_get_default ());
-#if GTK_CHECK_VERSION (3, 0, 0)
drawing->surface = NULL;
-#else
- drawing->pixmap = NULL;
-#endif
alloc_render_context (drawing);
drawing->keyboard_items = NULL;
@@ -2141,10 +2123,11 @@ matekbd_keyboard_drawing_init (MatekbdKeyboardDrawing * drawing)
| GDK_FOCUS_CHANGE_MASK);
#if GTK_CHECK_VERSION (3, 0, 0)
g_signal_connect (G_OBJECT (drawing), "draw",
+ G_CALLBACK (draw), drawing);
#else
g_signal_connect (G_OBJECT (drawing), "expose-event",
-#endif
G_CALLBACK (expose_event), drawing);
+#endif
g_signal_connect_after (G_OBJECT (drawing), "key-press-event",
G_CALLBACK (key_event), drawing);
g_signal_connect_after (G_OBJECT (drawing), "key-release-event",
@@ -2230,7 +2213,7 @@ matekbd_keyboard_drawing_set_mods (MatekbdKeyboardDrawing * drawing, guint mods)
/**
* matekbd_keyboard_drawing_render:
- * @drawing: keyboard layout to render
+ * @kbdrawing: keyboard layout to render
* @cr: Cairo context to render to
* @layout: Pango layout to use to render text
* @x: left coordinate (pixels) of region to render in
@@ -2245,7 +2228,7 @@ matekbd_keyboard_drawing_set_mods (MatekbdKeyboardDrawing * drawing, guint mods)
* @returns: %TRUE on success, %FALSE on failure
*/
gboolean
-matekbd_keyboard_drawing_render (MatekbdKeyboardDrawing * drawing,
+matekbd_keyboard_drawing_render (MatekbdKeyboardDrawing * kbdrawing,
cairo_t * cr,
PangoLayout * layout,
double x, double y,
@@ -2254,22 +2237,22 @@ matekbd_keyboard_drawing_render (MatekbdKeyboardDrawing * drawing,
{
MatekbdKeyboardDrawingRenderContext context = {
cr,
- drawing->renderContext->angle,
+ kbdrawing->renderContext->angle,
layout,
pango_font_description_copy (gtk_widget_get_style
(GTK_WIDGET
- (drawing))->font_desc),
+ (kbdrawing))->font_desc),
1, 1,
- &gtk_widget_get_style (GTK_WIDGET (drawing))->dark
- [gtk_widget_get_state (GTK_WIDGET (drawing))]
+ &gtk_widget_get_style (GTK_WIDGET (kbdrawing))->dark
+ [gtk_widget_get_state (GTK_WIDGET (kbdrawing))]
};
- if (!context_setup_scaling (&context, drawing, width, height,
+ if (!context_setup_scaling (&context, kbdrawing, width, height,
dpi_x, dpi_y))
return FALSE;
cairo_translate (cr, x, y);
- draw_keyboard_to_context (&context, drawing);
+ draw_keyboard_to_context (&context, kbdrawing);
pango_font_description_free (context.font_desc);
@@ -2677,11 +2660,7 @@ matekbd_keyboard_drawing_new_dialog (gint group, gchar * group_name)
g_object_set_data (G_OBJECT (dialog), "kbdraw", kbdraw);
- #if GTK_CHECK_VERSION(3, 0, 0)
- g_signal_connect_swapped(G_OBJECT(dialog), "destroy", G_CALLBACK(g_object_unref), g_object_get_data(G_OBJECT(dialog), "builderData"));
- #else
- g_signal_connect_swapped(GTK_OBJECT(dialog), "destroy", G_CALLBACK(g_object_unref), g_object_get_data(G_OBJECT(dialog), "builderData"));
- #endif
+ g_signal_connect_swapped(dialog, "destroy", G_CALLBACK(g_object_unref), g_object_get_data(G_OBJECT(dialog), "builderData"));
gtk_widget_show_all(dialog);
diff --git a/libmatekbd/matekbd-keyboard-drawing.h b/libmatekbd/matekbd-keyboard-drawing.h
index ba74324..e481947 100644
--- a/libmatekbd/matekbd-keyboard-drawing.h
+++ b/libmatekbd/matekbd-keyboard-drawing.h
@@ -125,11 +125,7 @@ struct _MatekbdKeyboardDrawing {
GtkDrawingArea parent;
-#if GTK_CHECK_VERSION (3, 0, 0)
cairo_surface_t *surface;
-#else
- GdkPixmap *pixmap;
-#endif
XkbDescRec *xkb;
gboolean xkbOnDisplay;
guint l3mod;
diff --git a/libmatekbd/matekbd-status.c b/libmatekbd/matekbd-status.c
index 3f6c613..4beaecb 100644
--- a/libmatekbd/matekbd-status.c
+++ b/libmatekbd/matekbd-status.c
@@ -16,6 +16,7 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#include <config.h>
#include <memory.h>
@@ -23,7 +24,7 @@
#include <gdk/gdkkeysyms.h>
#include <gdk/gdkx.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
#include <glib/gprintf.h>
#include <matekbd-status.h>
@@ -826,6 +827,10 @@ matekbd_status_get_xkl_engine ()
return globals.engine;
}
+/**
+ * matekbd_status_get_group_names:
+ * Returns: (transfer none) (array zero-terminated=1): List of group names
+ */
gchar **
matekbd_status_get_group_names ()
{
diff --git a/libmatekbd/matekbd-status.h b/libmatekbd/matekbd-status.h
index e1a6100..624398b 100644
--- a/libmatekbd/matekbd-status.h
+++ b/libmatekbd/matekbd-status.h
@@ -34,7 +34,7 @@ extern "C" {
#define MATEKBD_TYPE_STATUS (matekbd_status_get_type ())
#define MATEKBD_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MATEKBD_TYPE_STATUS, MatekbdStatus))
- #define MATEKBD_INDCATOR_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), MATEKBD_TYPE_STATUS, MatekbdStatusClass))
+ #define MATEKBD_STATUS_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), MATEKBD_TYPE_STATUS, MatekbdStatusClass))
#define MATEKBD_IS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MATEKBD_TYPE_STATUS))
#define MATEKBD_IS_STATUS_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), MATEKBD_TYPE_STATUS))
#define MATEKBD_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MATEKBD_TYPE_STATUS, MatekbdStatusClass))
diff --git a/libmatekbd/matekbd-util.c b/libmatekbd/matekbd-util.c
index 26f9967..f311bd4 100644
--- a/libmatekbd/matekbd-util.c
+++ b/libmatekbd/matekbd-util.c
@@ -23,7 +23,7 @@
#include <time.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
#include <libxklavier/xklavier.h>
@@ -54,6 +54,10 @@ const gchar MATEKBD_PREVIEW_CONFIG_KEY_Y[] = "y";
const gchar MATEKBD_PREVIEW_CONFIG_KEY_WIDTH[] = "width";
const gchar MATEKBD_PREVIEW_CONFIG_KEY_HEIGHT[] = "height";
+/**
+ * matekbd_preview_load_position:
+ * Returns: (transfer full): A rectangle to use
+ */
GdkRectangle *
matekbd_preview_load_position (void)
{
diff --git a/libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in b/libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in
new file mode 100644
index 0000000..abbe803
--- /dev/null
+++ b/libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in
@@ -0,0 +1,124 @@
+<schemalist gettext-domain="@GETTEXT_PACKAGE@">
+ <schema id="org.mate.peripherals-keyboard-xkb" path="/org/mate/desktop/peripherals/keyboard/">
+ <child name="kbd" schema="org.mate.peripherals-keyboard-xkb.kbd"/>
+ <child name="general" schema="org.mate.peripherals-keyboard-xkb.general"/>
+ <child name="preview" schema="org.mate.peripherals-keyboard-xkb.preview"/>
+ <child name="indicator" schema="org.mate.peripherals-keyboard-xkb.indicator"/>
+ </schema>
+ <schema id="org.mate.peripherals-keyboard-xkb.kbd" path="/org/mate/desktop/peripherals/keyboard/kbd/">
+ <key name="model" type="s">
+ <default>''</default>
+ <summary>Keyboard model</summary>
+ <description>keyboard model</description>
+ </key>
+ <key name="layouts" type="as">
+ <default>[]</default>
+ <summary>Keyboard layout</summary>
+ <description>keyboard layout</description>
+ </key>
+ <key name="options" type="as">
+ <default>[]</default>
+ <summary>Keyboard options</summary>
+ <description>Keyboard options</description>
+ </key>
+ </schema>
+ <schema id="org.mate.peripherals-keyboard-xkb.general" path="/org/mate/desktop/peripherals/keyboard/general/">
+ <key name="update-handlers" type="as">
+ <default>[]</default>
+ <summary>Keyboard Update Handlers</summary>
+ <description>A collection of scripts to run whenever the keyboard state is reloaded. Useful for re-applying xmodmap based adjustments</description>
+ </key>
+ <key name="known-file-list" type="as">
+ <default>[]</default>
+ <summary>modmap file list</summary>
+ <description>A list of modmap files available in the $HOME directory.</description>
+ </key>
+ <key name="default-group" type="i">
+ <default>-1</default>
+ <summary>Default group, assigned on window creation</summary>
+ <description>Default group, assigned on window creation</description>
+ </key>
+ <key name="group-per-window" type="b">
+ <default>true</default>
+ <summary>Keep and manage separate group per window</summary>
+ <description>Keep and manage separate group per window</description>
+ </key>
+ <key name="handle-indicators" type="b">
+ <default>false</default>
+ <summary>Save/restore indicators together with layout groups</summary>
+ <description>Save/restore indicators together with layout groups</description>
+ </key>
+ <key name="layout-names-as-group-names" type="b">
+ <default>true</default>
+ <summary>Show layout names instead of group names</summary>
+ <description>Show layout names instead of group names (only for versions of XFree supporting multiple layouts)</description>
+ </key>
+ <key name="load-extra-items" type="b">
+ <default>false</default>
+ <summary>Load extra configuration items</summary>
+ <description>Load exotic, rarely used layouts and options</description>
+ </key>
+ <key name="disable-sysconfig-changed-warning" type="b">
+ <default>false</default>
+ <summary>Suppress the "X sysconfig changed" warning message</summary>
+ <description>Suppress the "X sysconfig changed" warning message</description>
+ </key>
+ <key name="disable-indicator" type="b">
+ <default>false</default>
+ <summary>Allow to disable the keyboard indicator tray icon</summary>
+ <description>Allow to disable the keyboard indicator tray icon</description>
+ </key>
+ <key name="duplicate-leds" type="b">
+ <default>false</default>
+ <summary>Show keyboard leds indicator</summary>
+ <description>Show keyboard leds indicator</description>
+ </key>
+ </schema>
+ <schema id="org.mate.peripherals-keyboard-xkb.preview" path="/org/mate/desktop/peripherals/keyboard/preview/">
+ <key name="x" type="i">
+ <default>-1</default>
+ <summary>The Keyboard Preview, X offset</summary>
+ <description>The Keyboard Preview, X offset</description>
+ </key>
+ <key name="y" type="i">
+ <default>-1</default>
+ <summary>The Keyboard Preview, Y offset</summary>
+ <description>The Keyboard Preview, Y offset</description>
+ </key>
+ <key name="width" type="i">
+ <default>-1</default>
+ <summary>The Keyboard Preview, width</summary>
+ <description>The Keyboard Preview, width</description>
+ </key>
+ <key name="height" type="i">
+ <default>-1</default>
+ <summary>The Keyboard Preview, height</summary>
+ <description>The Keyboard Preview, height</description>
+ </key>
+ </schema>
+ <schema id="org.mate.peripherals-keyboard-xkb.indicator" path="/org/mate/desktop/peripherals/keyboard/indicator/">
+ <key name="secondary" type="i">
+ <default>0</default>
+ <summary>Secondary groups</summary>
+ <description>Secondary groups</description>
+ </key>
+ <key name="show-flags" type="b">
+ <default>false</default>
+ </key>
+ <key name="font-family" type="s">
+ <default>''</default>
+ <summary>The font</summary>
+ <description>The font for the layout indicator. This should be in "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]" format.</description>
+ </key>
+ <key name="foreground-color" type="s">
+ <default>''</default>
+ <summary>The foreground color</summary>
+ <description>The foreground color for the layout indicator. This should be in "R G B" format, for example "255 0 0".</description>
+ </key>
+ <key name="background-color" type="s">
+ <default>''</default>
+ <summary>The background color</summary>
+ <description>The background color for the layout indicator. This should be in "R G B" format, for example "255 0 0".</description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in.in b/libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in.in
deleted file mode 100644
index 9224053..0000000
--- a/libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in.in
+++ /dev/null
@@ -1,124 +0,0 @@
-<schemalist gettext-domain="@GETTEXT_PACKAGE@">
- <schema id="org.mate.peripherals-keyboard-xkb" path="/org/mate/desktop/peripherals/keyboard/">
- <child name="kbd" schema="org.mate.peripherals-keyboard-xkb.kbd"/>
- <child name="general" schema="org.mate.peripherals-keyboard-xkb.general"/>
- <child name="preview" schema="org.mate.peripherals-keyboard-xkb.preview"/>
- <child name="indicator" schema="org.mate.peripherals-keyboard-xkb.indicator"/>
- </schema>
- <schema id="org.mate.peripherals-keyboard-xkb.kbd" path="/org/mate/desktop/peripherals/keyboard/kbd/">
- <key name="model" type="s">
- <default>''</default>
- <_summary>Keyboard model</_summary>
- <_description>keyboard model</_description>
- </key>
- <key name="layouts" type="as">
- <default>[]</default>
- <_summary>Keyboard layout</_summary>
- <_description>keyboard layout</_description>
- </key>
- <key name="options" type="as">
- <default>[]</default>
- <_summary>Keyboard options</_summary>
- <_description>Keyboard options</_description>
- </key>
- </schema>
- <schema id="org.mate.peripherals-keyboard-xkb.general" path="/org/mate/desktop/peripherals/keyboard/general/">
- <key name="update-handlers" type="as">
- <default>[]</default>
- <_summary>Keyboard Update Handlers</_summary>
- <_description>A collection of scripts to run whenever the keyboard state is reloaded. Useful for re-applying xmodmap based adjustments</_description>
- </key>
- <key name="known-file-list" type="as">
- <default>[]</default>
- <_summary>modmap file list</_summary>
- <_description>A list of modmap files available in the $HOME directory.</_description>
- </key>
- <key name="default-group" type="i">
- <default>-1</default>
- <_summary>Default group, assigned on window creation</_summary>
- <_description>Default group, assigned on window creation</_description>
- </key>
- <key name="group-per-window" type="b">
- <default>true</default>
- <_summary>Keep and manage separate group per window</_summary>
- <_description>Keep and manage separate group per window</_description>
- </key>
- <key name="handle-indicators" type="b">
- <default>false</default>
- <_summary>Save/restore indicators together with layout groups</_summary>
- <_description>Save/restore indicators together with layout groups</_description>
- </key>
- <key name="layout-names-as-group-names" type="b">
- <default>true</default>
- <_summary>Show layout names instead of group names</_summary>
- <_description>Show layout names instead of group names (only for versions of XFree supporting multiple layouts)</_description>
- </key>
- <key name="load-extra-items" type="b">
- <default>false</default>
- <_summary>Load extra configuration items</_summary>
- <_description>Load exotic, rarely used layouts and options</_description>
- </key>
- <key name="disable-sysconfig-changed-warning" type="b">
- <default>false</default>
- <_summary>Suppress the "X sysconfig changed" warning message</_summary>
- <_description>Suppress the "X sysconfig changed" warning message</_description>
- </key>
- <key name="disable-indicator" type="b">
- <default>false</default>
- <_summary>Allow to disable the keyboard indicator tray icon</_summary>
- <_description>Allow to disable the keyboard indicator tray icon</_description>
- </key>
- <key name="duplicate-leds" type="b">
- <default>false</default>
- <_summary>Show keyboard leds indicator</_summary>
- <_description>Show keyboard leds indicator</_description>
- </key>
- </schema>
- <schema id="org.mate.peripherals-keyboard-xkb.preview" path="/org/mate/desktop/peripherals/keyboard/preview/">
- <key name="x" type="i">
- <default>-1</default>
- <_summary>The Keyboard Preview, X offset</_summary>
- <_description>The Keyboard Preview, X offset</_description>
- </key>
- <key name="y" type="i">
- <default>-1</default>
- <_summary>The Keyboard Preview, Y offset</_summary>
- <_description>The Keyboard Preview, Y offset</_description>
- </key>
- <key name="width" type="i">
- <default>-1</default>
- <_summary>The Keyboard Preview, width</_summary>
- <_description>The Keyboard Preview, width</_description>
- </key>
- <key name="height" type="i">
- <default>-1</default>
- <_summary>The Keyboard Preview, height</_summary>
- <_description>The Keyboard Preview, height</_description>
- </key>
- </schema>
- <schema id="org.mate.peripherals-keyboard-xkb.indicator" path="/org/mate/desktop/peripherals/keyboard/indicator/">
- <key name="secondary" type="i">
- <default>0</default>
- <_summary>Secondary groups</_summary>
- <_description>Secondary groups</_description>
- </key>
- <key name="show-flags" type="b">
- <default>false</default>
- </key>
- <key name="font-family" type="s">
- <default>''</default>
- <_summary>The font</_summary>
- <_description>The font for the layout indicator. This should be in "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]" format.</_description>
- </key>
- <key name="foreground-color" type="s">
- <default>''</default>
- <_summary>The foreground color</_summary>
- <_description>The foreground color for the layout indicator. This should be in "R G B" format, for example "255 0 0".</_description>
- </key>
- <key name="background-color" type="s">
- <default>''</default>
- <_summary>The background color</_summary>
- <_description>The background color for the layout indicator. This should be in "R G B" format, for example "255 0 0".</_description>
- </key>
- </schema>
-</schemalist>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 5bcf3ca..a5e7fff 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -5,6 +5,6 @@ libmatekbd/matekbd-keyboard-drawing.c
libmatekbd/matekbd-keyboard-config.c
libmatekbd/matekbd-status.c
libmatekbd/matekbd-util.c
-libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in.in
+[type: gettext/gsettings]libmatekbd/org.mate.peripherals-keyboard-xkb.gschema.xml.in
[type: gettext/glade]libmatekbd/show-layout.ui
test/matekbd-indicator-test.c