[gtk/window-api-cleanup: 2/4] Remove GtkWindow::role
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/window-api-cleanup: 2/4] Remove GtkWindow::role
- Date: Wed, 27 Mar 2019 21:29:54 +0000 (UTC)
commit 2f358469af23ce331ceb9db307351a7e1aaa313b
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Mar 27 17:03:45 2019 -0400
Remove GtkWindow::role
...and the setter/getter for it.
This is a very old X session management thing, and you
will be hard-pressed to find a session manager that can
make use of it, and even harder-pressed to find apps
using it to their advantage.
docs/reference/gtk/gtk4-sections.txt | 2 -
gtk/gtkwindow.c | 81 ------------------------------------
gtk/gtkwindow.h | 5 ---
3 files changed, 88 deletions(-)
---
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index e2820d1291..4504d86353 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -4735,7 +4735,6 @@ gtk_window_set_urgency_hint
gtk_window_set_accept_focus
gtk_window_set_focus_on_map
gtk_window_set_startup_id
-gtk_window_set_role
gtk_window_get_decorated
gtk_window_get_deletable
gtk_window_get_default_icon_name
@@ -4744,7 +4743,6 @@ gtk_window_get_destroy_with_parent
gtk_window_get_icon_name
gtk_window_get_mnemonic_modifier
gtk_window_get_modal
-gtk_window_get_role
gtk_window_get_size
gtk_window_get_title
gtk_window_get_transient_for
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 8e3024e095..fdead34439 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -204,7 +204,6 @@ typedef struct
gchar *startup_id;
gchar *title;
- gchar *wm_role;
guint keys_changed_handler;
@@ -312,7 +311,6 @@ enum {
/* Normal Props */
PROP_TITLE,
- PROP_ROLE,
PROP_RESIZABLE,
PROP_MODAL,
PROP_WIN_POS,
@@ -830,13 +828,6 @@ gtk_window_class_init (GtkWindowClass *klass)
NULL,
GTK_PARAM_READWRITE);
- window_props[PROP_ROLE] =
- g_param_spec_string ("role",
- P_("Window Role"),
- P_("Unique identifier for the window to be used when restoring a session"),
- NULL,
- GTK_PARAM_READWRITE);
-
/**
* GtkWindow:startup-id:
*
@@ -1824,7 +1815,6 @@ gtk_window_init (GtkWindow *window)
gtk_widget_set_has_surface (widget, TRUE);
priv->title = NULL;
- priv->wm_role = NULL;
priv->geometry_info = NULL;
priv->type = GTK_WINDOW_TOPLEVEL;
priv->focus_widget = NULL;
@@ -1966,9 +1956,6 @@ gtk_window_set_property (GObject *object,
case PROP_TITLE:
gtk_window_set_title (window, g_value_get_string (value));
break;
- case PROP_ROLE:
- gtk_window_set_role (window, g_value_get_string (value));
- break;
case PROP_STARTUP_ID:
gtk_window_set_startup_id (window, g_value_get_string (value));
break;
@@ -2072,9 +2059,6 @@ gtk_window_get_property (GObject *object,
case PROP_TYPE:
g_value_set_enum (value, priv->type);
break;
- case PROP_ROLE:
- g_value_set_string (value, priv->wm_role);
- break;
case PROP_TITLE:
g_value_set_string (value, priv->title);
break;
@@ -2525,47 +2509,6 @@ gtk_window_get_title (GtkWindow *window)
return priv->title;
}
-/**
- * gtk_window_set_role:
- * @window: a #GtkWindow
- * @role: unique identifier for the window to be used when restoring a session
- *
- * This function is only useful on X11, not with other GTK+ targets.
- *
- * In combination with the window title, the window role allows a
- * [window manager][gtk-X11-arch] to identify "the
- * same" window when an application is restarted. So for example you
- * might set the “toolbox” role on your app’s toolbox window, so that
- * when the user restarts their session, the window manager can put
- * the toolbox back in the same place.
- *
- * If a window already has a unique title, you don’t need to set the
- * role, since the WM can use the title to identify the window when
- * restoring the session.
- *
- **/
-void
-gtk_window_set_role (GtkWindow *window,
- const gchar *role)
-{
- GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
- GtkWidget *widget;
- char *new_role;
-
- g_return_if_fail (GTK_IS_WINDOW (window));
-
- widget = GTK_WIDGET (window);
-
- new_role = g_strdup (role);
- g_free (priv->wm_role);
- priv->wm_role = new_role;
-
- if (_gtk_widget_get_realized (widget))
- gdk_surface_set_role (_gtk_widget_get_surface (widget), priv->wm_role);
-
- g_object_notify_by_pspec (G_OBJECT (window), window_props[PROP_ROLE]);
-}
-
/**
* gtk_window_set_startup_id:
* @window: a #GtkWindow
@@ -2626,26 +2569,6 @@ gtk_window_set_startup_id (GtkWindow *window,
g_object_notify_by_pspec (G_OBJECT (window), window_props[PROP_STARTUP_ID]);
}
-/**
- * gtk_window_get_role:
- * @window: a #GtkWindow
- *
- * Returns the role of the window. See gtk_window_set_role() for
- * further explanation.
- *
- * Returns: (nullable): the role of the window if set, or %NULL. The
- * returned is owned by the widget and must not be modified or freed.
- **/
-const gchar *
-gtk_window_get_role (GtkWindow *window)
-{
- GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
-
- g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
-
- return priv->wm_role;
-}
-
/**
* gtk_window_set_default:
* @window: a #GtkWindow
@@ -5020,7 +4943,6 @@ gtk_window_finalize (GObject *object)
GtkMnemonicHash *mnemonic_hash;
g_free (priv->title);
- g_free (priv->wm_role);
gtk_window_release_application (window);
mnemonic_hash = gtk_window_get_mnemonic_hash (window, FALSE);
@@ -5950,9 +5872,6 @@ gtk_window_realize (GtkWidget *widget)
if (priv->title)
gdk_surface_set_title (surface, priv->title);
- if (priv->wm_role)
- gdk_surface_set_role (surface, priv->wm_role);
-
if (!priv->decorated || priv->client_decorated)
gdk_surface_set_decorations (surface, 0);
diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h
index 0ec0c3eb02..ffd337f40e 100644
--- a/gtk/gtkwindow.h
+++ b/gtk/gtkwindow.h
@@ -146,14 +146,9 @@ void gtk_window_set_title (GtkWindow *window,
GDK_AVAILABLE_IN_ALL
const gchar * gtk_window_get_title (GtkWindow *window);
GDK_AVAILABLE_IN_ALL
-void gtk_window_set_role (GtkWindow *window,
- const gchar *role);
-GDK_AVAILABLE_IN_ALL
void gtk_window_set_startup_id (GtkWindow *window,
const gchar *startup_id);
GDK_AVAILABLE_IN_ALL
-const gchar * gtk_window_get_role (GtkWindow *window);
-GDK_AVAILABLE_IN_ALL
void gtk_window_add_accel_group (GtkWindow *window,
GtkAccelGroup *accel_group);
GDK_AVAILABLE_IN_ALL
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]