[gtk+/gtk-3-16] Allow overriding WM_CLASS from the command line
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-3-16] Allow overriding WM_CLASS from the command line
- Date: Mon, 11 May 2015 18:26:13 +0000 (UTC)
commit b737bfec24f1858620a9c28ed95bad46282fdd6e
Author: Lars Uebernickel <lars uebernickel canonical com>
Date: Fri Apr 10 17:18:50 2015 +0200
Allow overriding WM_CLASS from the command line
Even when the program itself calls gdk_set_program_class(). There's
currently no way for this function to be called without breaking gdk's
--class command line option, because you cannot call it before
gtk_init().
https://bugzilla.gnome.org/show_bug.cgi?id=747634
gdk/gdk.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/gdk/gdk.c b/gdk/gdk.c
index 068ecc4..d86ea85 100644
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -130,6 +130,7 @@ static int gdk_initialized = 0; /* 1 if the library is initi
*/
static gchar *gdk_progclass = NULL;
+static gboolean gdk_progclass_overridden;
static GMutex gdk_threads_mutex;
@@ -208,6 +209,7 @@ static gboolean
gdk_arg_class_cb (const char *key, const char *value, gpointer user_data, GError **error)
{
gdk_set_program_class (value);
+ gdk_progclass_overridden = TRUE;
return TRUE;
}
@@ -1025,10 +1027,16 @@ gdk_get_program_class (void)
* Sets the program class. The X11 backend uses the program class to set
* the class name part of the `WM_CLASS` property on
* toplevel windows; see the ICCCM.
+ *
+ * The program class can still be overridden with the --class command
+ * line option.
*/
void
gdk_set_program_class (const char *program_class)
{
+ if (gdk_progclass_overridden)
+ return;
+
g_free (gdk_progclass);
gdk_progclass = g_strdup (program_class);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]