Compare commits
No commits in common. "c8" and "c8s" have entirely different histories.
23
.gitignore
vendored
23
.gitignore
vendored
@ -1 +1,22 @@
|
||||
SOURCES/libgnomekbd-3.26.0.tar.xz
|
||||
libgnomekbd-2.31.5.tar.bz2
|
||||
/libgnomekbd-2.32.0.tar.bz2
|
||||
/libgnomekbd-2.91.1.tar.bz2
|
||||
/libgnomekbd-2.91.2.tar.bz2
|
||||
/libgnomekbd-2.91.3.1.tar.bz2
|
||||
/libgnomekbd-2.91.4.tar.bz2
|
||||
/libgnomekbd-2.91.5.tar.bz2
|
||||
/libgnomekbd-2.91.90.tar.bz2
|
||||
/libgnomekbd-2.91.91.tar.bz2
|
||||
/libgnomekbd-2.91.92.tar.bz2
|
||||
/libgnomekbd-3.0.0.tar.bz2
|
||||
/libgnomekbd-3.1.92.tar.xz
|
||||
/libgnomekbd-3.2.0.tar.xz
|
||||
/libgnomekbd-3.3.90.tar.xz
|
||||
/libgnomekbd-3.4.0.1.tar.xz
|
||||
/libgnomekbd-3.4.0.2.tar.xz
|
||||
/libgnomekbd-3.5.2.tar.xz
|
||||
/libgnomekbd-3.5.90.tar.xz
|
||||
/libgnomekbd-3.6.0.tar.xz
|
||||
/libgnomekbd-3.21.92.tar.xz
|
||||
/libgnomekbd-3.22.0.1.tar.xz
|
||||
/libgnomekbd-3.26.0.tar.xz
|
||||
|
@ -1 +0,0 @@
|
||||
920a8d41dc932d67836f464bcf4cfa49d292f06f SOURCES/libgnomekbd-3.26.0.tar.xz
|
34
0001-Don-t-use-different-layouts-per-window.patch
Normal file
34
0001-Don-t-use-different-layouts-per-window.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From 31c922e6eea3047b784a1f95132d044f3dab58c9 Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Thu, 3 Feb 2011 14:54:07 +0000
|
||||
Subject: [PATCH] Don't use different layouts per window
|
||||
|
||||
Using different layouts per-window is confusing for new users. Both
|
||||
Windows and MacOS X default to using the same layout globally, and
|
||||
just like them, we offer a graphical way to change the layout (through
|
||||
a system icon).
|
||||
|
||||
Once the user gains profiency in switching layouts, we can offer them
|
||||
a more complicated way, using separate layouts for each window.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=641351
|
||||
---
|
||||
...org.gnome.libgnomekbd.desktop.gschema.xml.in.in | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/libgnomekbd/org.gnome.libgnomekbd.desktop.gschema.xml.in.in b/libgnomekbd/org.gnome.libgnomekbd.desktop.gschema.xml.in.in
|
||||
index 7be778d..6f42fd7 100644
|
||||
--- a/libgnomekbd/org.gnome.libgnomekbd.desktop.gschema.xml.in.in
|
||||
+++ b/libgnomekbd/org.gnome.libgnomekbd.desktop.gschema.xml.in.in
|
||||
@@ -7,7 +7,7 @@
|
||||
<_description>Default group, assigned on window creation</_description>
|
||||
</key>
|
||||
<key name="group-per-window" type="b">
|
||||
- <default>true</default>
|
||||
+ <default>false</default>
|
||||
<_summary>Keep and manage separate group per window</_summary>
|
||||
<_description>Keep and manage separate group per window</_description>
|
||||
</key>
|
||||
--
|
||||
1.7.4
|
||||
|
46
0001-Status-icon-fix-size-problems.patch
Normal file
46
0001-Status-icon-fix-size-problems.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From b922ecd4777d80524e91644c98c46f6ed3577f1f Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Clasen <mclasen@redhat.com>
|
||||
Date: Tue, 5 Apr 2011 11:06:13 -0400
|
||||
Subject: [PATCH] Status icon: fix size problems
|
||||
|
||||
There are bugs in both the notification area and in GtkStatusIcon
|
||||
when it comes to size allocation. This patch tries to work around
|
||||
them in a way that makes the keyboard indicator come up with a
|
||||
reasonable size initially, and not resize when clicked.
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=642703
|
||||
---
|
||||
libgnomekbd/gkbd-status.c | 11 +++++++++++
|
||||
1 files changed, 11 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/libgnomekbd/gkbd-status.c b/libgnomekbd/gkbd-status.c
|
||||
index 276fe54..2f5b41f 100644
|
||||
--- a/libgnomekbd/gkbd-status.c
|
||||
+++ b/libgnomekbd/gkbd-status.c
|
||||
@@ -393,6 +393,12 @@ void
|
||||
gkbd_status_reinit_ui (GkbdStatus * gki)
|
||||
{
|
||||
gkbd_status_set_current_page (gki);
|
||||
+ /* To work around combined bugs in notification-area
|
||||
+ * and GtkStatusIcon, reshow the icon here, to ensure
|
||||
+ * size changes are picked up.
|
||||
+ */
|
||||
+ gtk_status_icon_set_visible (GTK_STATUS_ICON (gki), FALSE);
|
||||
+ gtk_status_icon_set_visible (GTK_STATUS_ICON (gki), TRUE);
|
||||
}
|
||||
|
||||
/* Should be called once for all widgets */
|
||||
@@ -509,6 +515,11 @@ static void
|
||||
gkbd_status_size_changed (GkbdStatus * gki, gint size)
|
||||
{
|
||||
xkl_debug (150, "Size changed to %d\n", size);
|
||||
+ /* Ignore the initial size 200 that we get before
|
||||
+ * we are embedded
|
||||
+ */
|
||||
+ if (!gtk_status_icon_is_embedded (GTK_STATUS_ICON (gki)))
|
||||
+ return;
|
||||
if (globals.current_height != size) {
|
||||
globals.current_height = size;
|
||||
globals.current_width = size * 3 / 2;
|
||||
--
|
||||
1.7.4.2
|
||||
|
44
fix-error-at-login-screen.patch
Normal file
44
fix-error-at-login-screen.patch
Normal file
@ -0,0 +1,44 @@
|
||||
diff --git a/libgnomekbd/gkbd-keyboard-config.c b/libgnomekbd/gkbd-keyboard-config.c
|
||||
index bbbc840..fa562f9 100644
|
||||
--- a/libgnomekbd/gkbd-keyboard-config.c
|
||||
+++ b/libgnomekbd/gkbd-keyboard-config.c
|
||||
@@ -328,12 +328,13 @@ gkbd_keyboard_config_load_params (GkbdKeyboardConfig * kbd_config,
|
||||
gchar *pc;
|
||||
|
||||
pc = g_settings_get_string (kbd_config->settings, param_names[0]);
|
||||
- if (pc == NULL) {
|
||||
+
|
||||
+ if (pc == NULL || pc[0] == '\0') {
|
||||
gkbd_keyboard_config_model_set (kbd_config, NULL);
|
||||
} else {
|
||||
gkbd_keyboard_config_model_set (kbd_config, pc);
|
||||
- g_free (pc);
|
||||
}
|
||||
+ g_free (pc);
|
||||
xkl_debug (150, "Loaded Kbd model: [%s]\n",
|
||||
kbd_config->model ? kbd_config->model : "(null)");
|
||||
|
||||
@@ -342,10 +343,20 @@ gkbd_keyboard_config_load_params (GkbdKeyboardConfig * kbd_config,
|
||||
kbd_config->layouts_variants =
|
||||
g_settings_get_strv (kbd_config->settings, param_names[1]);
|
||||
|
||||
+ if (kbd_config->layouts_variants != NULL && kbd_config->layouts_variants[0] == NULL) {
|
||||
+ g_strfreev (kbd_config->layouts_variants);
|
||||
+ kbd_config->layouts_variants = NULL;
|
||||
+ }
|
||||
+
|
||||
g_strfreev (kbd_config->options);
|
||||
|
||||
kbd_config->options =
|
||||
g_settings_get_strv (kbd_config->settings, param_names[2]);
|
||||
+
|
||||
+ if (kbd_config->options != NULL && kbd_config->options[0] == NULL) {
|
||||
+ g_strfreev (kbd_config->options);
|
||||
+ kbd_config->options = NULL;
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
1.7.3.5
|
||||
|
7
gating.yaml
Normal file
7
gating.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-8
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
# - !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}
|
||||
- !PassingTestCaseRule {test_case_name: manual.sst_desktop.libgnomekbd.sanity}
|
347
libgnomekbd-colors.patch
Normal file
347
libgnomekbd-colors.patch
Normal file
@ -0,0 +1,347 @@
|
||||
From 0b452d4735c6ef35299e24ffb3faa0cabc5559c3 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Untz <vuntz@gnome.org>
|
||||
Date: Mon, 4 Apr 2011 19:32:56 +0200
|
||||
Subject: [PATCH] Use the right color for text in GkbdStatus
|
||||
|
||||
This is really a big hack: instead of getting the information about how
|
||||
to draw the font from a GTK+ style, we get it from the GtkStyleContext
|
||||
from the tray icon widget embedded in the GtkStatusIcon.
|
||||
|
||||
To make this happen, we have to fake the GtkStatusIconPrivate structure,
|
||||
and we rely on the fact that the tray icon widget is the first element
|
||||
in this structure.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=642703
|
||||
---
|
||||
libgnomekbd/gkbd-indicator-config.c | 98 ++++++++++++++++++-----------------
|
||||
libgnomekbd/gkbd-indicator-config.h | 10 ++++
|
||||
libgnomekbd/gkbd-status.c | 65 ++++++++++++++---------
|
||||
3 files changed, 100 insertions(+), 73 deletions(-)
|
||||
|
||||
diff --git a/libgnomekbd/gkbd-indicator-config.c b/libgnomekbd/gkbd-indicator-config.c
|
||||
index fdf008b..c678643 100644
|
||||
--- a/libgnomekbd/gkbd-indicator-config.c
|
||||
+++ b/libgnomekbd/gkbd-indicator-config.c
|
||||
@@ -37,7 +37,6 @@
|
||||
/**
|
||||
* GkbdIndicatorConfig
|
||||
*/
|
||||
-#define GTK_STYLE_PATH "*PanelWidget*"
|
||||
|
||||
const gchar GKBD_INDICATOR_CONFIG_KEY_SHOW_FLAGS[] = "show-flags";
|
||||
const gchar GKBD_INDICATOR_CONFIG_KEY_ENABLED_PLUGINS[] =
|
||||
@@ -65,26 +64,8 @@ gkbd_indicator_config_load_font (GkbdIndicatorConfig * ind_config)
|
||||
g_settings_get_int (ind_config->settings,
|
||||
GKBD_INDICATOR_CONFIG_KEY_FONT_SIZE);
|
||||
|
||||
- if (ind_config->font_family == NULL ||
|
||||
- ind_config->font_family[0] == '\0') {
|
||||
- PangoFontDescription *fd = NULL;
|
||||
- GtkStyle *style =
|
||||
- gtk_rc_get_style_by_paths (gtk_settings_get_default (),
|
||||
- GTK_STYLE_PATH,
|
||||
- GTK_STYLE_PATH,
|
||||
- GTK_TYPE_LABEL);
|
||||
- if (style != NULL)
|
||||
- fd = style->font_desc;
|
||||
- if (fd != NULL) {
|
||||
- ind_config->font_family =
|
||||
- g_strdup (pango_font_description_get_family
|
||||
- (fd));
|
||||
- ind_config->font_size =
|
||||
- pango_font_description_get_size (fd) /
|
||||
- PANGO_SCALE;
|
||||
- }
|
||||
- }
|
||||
- xkl_debug (150, "font: [%s], size %d\n", ind_config->font_family,
|
||||
+ xkl_debug (150, "font: [%s], size %d\n",
|
||||
+ ind_config->font_family ? ind_config->font_family : "(null)",
|
||||
ind_config->font_size);
|
||||
|
||||
}
|
||||
@@ -96,38 +77,61 @@ gkbd_indicator_config_load_colors (GkbdIndicatorConfig * ind_config)
|
||||
g_settings_get_string (ind_config->settings,
|
||||
GKBD_INDICATOR_CONFIG_KEY_FOREGROUND_COLOR);
|
||||
|
||||
- if (ind_config->foreground_color == NULL ||
|
||||
- ind_config->foreground_color[0] == '\0') {
|
||||
- GtkStyle *style =
|
||||
- gtk_rc_get_style_by_paths (gtk_settings_get_default (),
|
||||
- GTK_STYLE_PATH,
|
||||
- GTK_STYLE_PATH,
|
||||
- GTK_TYPE_LABEL);
|
||||
- if (style != NULL) {
|
||||
- ind_config->foreground_color =
|
||||
- g_strdup_printf ("%g %g %g", ((double)
|
||||
- style->fg
|
||||
- [GTK_STATE_NORMAL].
|
||||
- red)
|
||||
- / 0x10000, ((double)
|
||||
- style->fg
|
||||
- [GTK_STATE_NORMAL].
|
||||
- green)
|
||||
- / 0x10000, ((double)
|
||||
- style->fg
|
||||
- [GTK_STATE_NORMAL].
|
||||
- blue)
|
||||
- / 0x10000);
|
||||
- }
|
||||
-
|
||||
- }
|
||||
-
|
||||
ind_config->background_color =
|
||||
g_settings_get_string (ind_config->settings,
|
||||
GKBD_INDICATOR_CONFIG_KEY_BACKGROUND_COLOR);
|
||||
}
|
||||
|
||||
void
|
||||
+gkbd_indicator_config_get_font_for_widget (GkbdIndicatorConfig * ind_config,
|
||||
+ GtkWidget * widget,
|
||||
+ gchar ** font_family,
|
||||
+ int * font_size)
|
||||
+{
|
||||
+ GtkStyleContext *context;
|
||||
+ const PangoFontDescription *fd = NULL;
|
||||
+
|
||||
+ g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
+
|
||||
+ if (ind_config->font_family != NULL &&
|
||||
+ ind_config->font_family[0] != '\0') {
|
||||
+ if (font_family)
|
||||
+ *font_family = g_strdup (ind_config->font_family);
|
||||
+ if (font_size)
|
||||
+ *font_size = ind_config->font_size;
|
||||
+
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ context = gtk_widget_get_style_context (widget);
|
||||
+ fd = gtk_style_context_get_font (context, GTK_STATE_FLAG_NORMAL);
|
||||
+
|
||||
+ if (font_family)
|
||||
+ *font_family = g_strdup (pango_font_description_get_family (fd));
|
||||
+ if (font_size)
|
||||
+ *font_size = pango_font_description_get_size (fd) / PANGO_SCALE;
|
||||
+}
|
||||
+
|
||||
+gchar *
|
||||
+gkbd_indicator_config_get_fg_color_for_widget (GkbdIndicatorConfig * ind_config,
|
||||
+ GtkWidget * widget)
|
||||
+{
|
||||
+ GtkStyleContext *context;
|
||||
+ GdkRGBA rgba;
|
||||
+
|
||||
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
|
||||
+
|
||||
+ if (ind_config->foreground_color != NULL &&
|
||||
+ ind_config->foreground_color[0] != '\0')
|
||||
+ return g_strdup (ind_config->foreground_color);
|
||||
+
|
||||
+ context = gtk_widget_get_style_context (widget);
|
||||
+ gtk_style_context_get_color (context, GTK_STATE_FLAG_NORMAL, &rgba);
|
||||
+
|
||||
+ return g_strdup_printf ("%g %g %g", rgba.red, rgba.green, rgba.blue);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
gkbd_indicator_config_refresh_style (GkbdIndicatorConfig * ind_config)
|
||||
{
|
||||
g_free (ind_config->font_family);
|
||||
diff --git a/libgnomekbd/gkbd-indicator-config.h b/libgnomekbd/gkbd-indicator-config.h
|
||||
index 2638895..9b9d935 100644
|
||||
--- a/libgnomekbd/gkbd-indicator-config.h
|
||||
+++ b/libgnomekbd/gkbd-indicator-config.h
|
||||
@@ -62,6 +62,16 @@ extern void gkbd_indicator_config_load (GkbdIndicatorConfig
|
||||
extern void gkbd_indicator_config_save (GkbdIndicatorConfig *
|
||||
applet_config);
|
||||
|
||||
+extern void
|
||||
+gkbd_indicator_config_get_font_for_widget (GkbdIndicatorConfig * ind_config,
|
||||
+ GtkWidget * widget,
|
||||
+ gchar ** font_family,
|
||||
+ int * font_size);
|
||||
+
|
||||
+extern gchar *
|
||||
+gkbd_indicator_config_get_fg_color_for_widget (GkbdIndicatorConfig * ind_config,
|
||||
+ GtkWidget * widget);
|
||||
+
|
||||
extern void gkbd_indicator_config_refresh_style (GkbdIndicatorConfig *
|
||||
applet_config);
|
||||
|
||||
diff --git a/libgnomekbd/gkbd-status.c b/libgnomekbd/gkbd-status.c
|
||||
index 5785e4c..276fe54 100644
|
||||
--- a/libgnomekbd/gkbd-status.c
|
||||
+++ b/libgnomekbd/gkbd-status.c
|
||||
@@ -59,22 +59,26 @@ static gki_globals globals;
|
||||
|
||||
G_DEFINE_TYPE (GkbdStatus, gkbd_status, GTK_TYPE_STATUS_ICON)
|
||||
|
||||
+typedef struct {
|
||||
+ GtkWidget *tray_icon;
|
||||
+} GkbdStatusPrivHack;
|
||||
+
|
||||
static void
|
||||
gkbd_status_global_init (void);
|
||||
static void
|
||||
gkbd_status_global_term (void);
|
||||
static GdkPixbuf *
|
||||
-gkbd_status_prepare_drawing (int group);
|
||||
+gkbd_status_prepare_drawing (GkbdStatus * gki, int group);
|
||||
static void
|
||||
gkbd_status_set_current_page_for_group (GkbdStatus * gki, int group);
|
||||
static void
|
||||
gkbd_status_set_current_page (GkbdStatus * gki);
|
||||
static void
|
||||
-gkbd_status_reinit_globals (void);
|
||||
+gkbd_status_reinit_globals (GkbdStatus * gki);
|
||||
static void
|
||||
gkbd_status_cleanup_icons (void);
|
||||
static void
|
||||
-gkbd_status_fill_icons (void);
|
||||
+gkbd_status_fill_icons (GkbdStatus * gki);
|
||||
static void
|
||||
gkbd_status_set_tooltips (GkbdStatus * gki, const char *str);
|
||||
|
||||
@@ -97,8 +101,8 @@ gkbd_status_cleanup_icons ()
|
||||
}
|
||||
}
|
||||
|
||||
-void
|
||||
-gkbd_status_fill_icons ()
|
||||
+static void
|
||||
+gkbd_status_fill_icons (GkbdStatus * gki)
|
||||
{
|
||||
int grp;
|
||||
int total_groups =
|
||||
@@ -106,7 +110,7 @@ gkbd_status_fill_icons ()
|
||||
(globals.config));
|
||||
|
||||
for (grp = 0; grp < total_groups; grp++) {
|
||||
- GdkPixbuf *page = gkbd_status_prepare_drawing (grp);
|
||||
+ GdkPixbuf *page = gkbd_status_prepare_drawing (gki, grp);
|
||||
globals.icons = g_slist_append (globals.icons, page);
|
||||
}
|
||||
}
|
||||
@@ -119,9 +123,12 @@ gkbd_status_activate (GkbdStatus * gki)
|
||||
}
|
||||
|
||||
static void
|
||||
-gkbd_status_render_cairo (cairo_t * cr, int group)
|
||||
+gkbd_status_render_cairo (GkbdStatusPrivHack * gkh, cairo_t * cr, int group)
|
||||
{
|
||||
double r, g, b;
|
||||
+ GdkColor *fg_color;
|
||||
+ gchar *font_family;
|
||||
+ int font_size;
|
||||
PangoFontDescription *pfd;
|
||||
PangoContext *pcc;
|
||||
PangoLayout *pl;
|
||||
@@ -146,28 +153,30 @@ gkbd_status_render_cairo (cairo_t * cr, int group)
|
||||
}
|
||||
}
|
||||
|
||||
- if (ind_cfg->foreground_color != NULL &&
|
||||
- ind_cfg->foreground_color[0] != 0) {
|
||||
- if (sscanf
|
||||
- (ind_cfg->foreground_color, "%lg %lg %lg", &r,
|
||||
- &g, &b) == 3) {
|
||||
- cairo_set_source_rgb (cr, r, g, b);
|
||||
- }
|
||||
- }
|
||||
+ g_object_get (gkh->tray_icon, "fg-color", &fg_color, NULL);
|
||||
+ cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
|
||||
+ gdk_color_free (fg_color);
|
||||
+
|
||||
+ gkbd_indicator_config_get_font_for_widget (ind_cfg,
|
||||
+ gkh->tray_icon,
|
||||
+ &font_family,
|
||||
+ &font_size);
|
||||
|
||||
- if (ind_cfg->font_family != NULL && ind_cfg->font_family[0] != 0) {
|
||||
- cairo_select_font_face (cr, ind_cfg->font_family,
|
||||
+ if (font_family != NULL && font_family[0] != 0) {
|
||||
+ cairo_select_font_face (cr, font_family,
|
||||
CAIRO_FONT_SLANT_NORMAL,
|
||||
CAIRO_FONT_WEIGHT_NORMAL);
|
||||
}
|
||||
|
||||
pfd = pango_font_description_new ();
|
||||
- pango_font_description_set_family (pfd, ind_cfg->font_family);
|
||||
+ pango_font_description_set_family (pfd, font_family);
|
||||
pango_font_description_set_style (pfd, PANGO_STYLE_NORMAL);
|
||||
pango_font_description_set_weight (pfd, PANGO_WEIGHT_NORMAL);
|
||||
pango_font_description_set_size (pfd,
|
||||
ind_cfg->font_size * PANGO_SCALE);
|
||||
|
||||
+ g_free (font_family);
|
||||
+
|
||||
pcc = pango_cairo_create_context (cr);
|
||||
|
||||
fo = cairo_font_options_copy (gdk_screen_get_font_options
|
||||
@@ -261,7 +270,7 @@ convert_bgra_to_rgba (guint8 const *src, guint8 * dst, int width,
|
||||
}
|
||||
|
||||
static GdkPixbuf *
|
||||
-gkbd_status_prepare_drawing (int group)
|
||||
+gkbd_status_prepare_drawing (GkbdStatus * gki, int group)
|
||||
{
|
||||
GError *gerror = NULL;
|
||||
char *image_filename;
|
||||
@@ -321,7 +330,8 @@ gkbd_status_prepare_drawing (int group)
|
||||
globals.current_height);
|
||||
unsigned char *cairo_data;
|
||||
guchar *pixbuf_data;
|
||||
- gkbd_status_render_cairo (cairo_create (cs), group);
|
||||
+ gkbd_status_render_cairo ((GkbdStatusPrivHack *) GTK_STATUS_ICON (gki)->priv,
|
||||
+ cairo_create (cs), group);
|
||||
cairo_data = cairo_image_surface_get_data (cs);
|
||||
#if 0
|
||||
char pngfilename[20];
|
||||
@@ -372,11 +382,11 @@ gkbd_status_update_tooltips (GkbdStatus * gki)
|
||||
}
|
||||
}
|
||||
|
||||
-void
|
||||
-gkbd_status_reinit_globals ()
|
||||
+static void
|
||||
+gkbd_status_reinit_globals (GkbdStatus * gki)
|
||||
{
|
||||
gkbd_status_cleanup_icons ();
|
||||
- gkbd_status_fill_icons ();
|
||||
+ gkbd_status_fill_icons (gki);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -389,8 +399,11 @@ gkbd_status_reinit_ui (GkbdStatus * gki)
|
||||
static void
|
||||
gkbd_status_cfg_callback (GkbdConfiguration * configuration)
|
||||
{
|
||||
+ GSList *objects;
|
||||
xkl_debug (150, "Config changed: reinit ui\n");
|
||||
- gkbd_status_reinit_globals ();
|
||||
+ objects = gkbd_configuration_get_all_objects (configuration);
|
||||
+ if (objects)
|
||||
+ gkbd_status_reinit_globals (objects->data);
|
||||
ForAllObjects (configuration) {
|
||||
gkbd_status_reinit_ui (GKBD_STATUS (gki));
|
||||
} NextObject ()
|
||||
@@ -499,7 +512,7 @@ gkbd_status_size_changed (GkbdStatus * gki, gint size)
|
||||
if (globals.current_height != size) {
|
||||
globals.current_height = size;
|
||||
globals.current_width = size * 3 / 2;
|
||||
- gkbd_status_reinit_globals ();
|
||||
+ gkbd_status_reinit_globals (gki);
|
||||
gkbd_status_reinit_ui (gki);
|
||||
}
|
||||
}
|
||||
@@ -511,7 +524,7 @@ gkbd_status_theme_changed (GtkSettings * settings, GParamSpec * pspec,
|
||||
xkl_debug (150, "Theme changed\n");
|
||||
gkbd_indicator_config_refresh_style
|
||||
(gkbd_configuration_get_indicator_config (globals.config));
|
||||
- gkbd_status_reinit_globals ();
|
||||
+ gkbd_status_reinit_globals (gki);
|
||||
gkbd_status_reinit_ui (gki);
|
||||
}
|
||||
|
||||
--
|
||||
1.7.4.1
|
Loading…
Reference in New Issue
Block a user