summaryrefslogtreecommitdiff
path: root/src/core/window.c
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2024-04-05 14:04:58 -0400
committerlukefromdc <[email protected]>2024-06-18 17:04:23 -0400
commitb7bf18ee00c1eb780f2f9c3732bfe07eefb726a8 (patch)
tree53dcf7918f5d0fc154b30c61528087ec95bdc905 /src/core/window.c
parentfeec46837ff27dc3ec2e3b98c6b2a9537b631c54 (diff)
downloadmarco-b7bf18ee00c1eb780f2f9c3732bfe07eefb726a8.tar.bz2
marco-b7bf18ee00c1eb780f2f9c3732bfe07eefb726a8.tar.xz
window: Parse _GTK_APPLICATION_ID property
GTK+ has support for the application ID property. This will allow Marco to reconstruct the path to the desktop spec file and so have access to all internal attributes (e.g. name, icon, etc.)
Diffstat (limited to 'src/core/window.c')
-rw-r--r--src/core/window.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/window.c b/src/core/window.c
index c1702dd8..658ca957 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -263,7 +263,7 @@ meta_window_new_with_attrs (MetaDisplay *display,
gulong existing_wm_state;
gulong event_mask;
MetaMoveResizeFlags flags;
-#define N_INITIAL_PROPS 20
+#define N_INITIAL_PROPS 21
Atom initial_props[N_INITIAL_PROPS];
int i;
gboolean has_shape;
@@ -563,6 +563,7 @@ meta_window_new_with_attrs (MetaDisplay *display,
window->wm_client_machine = NULL;
window->startup_id = NULL;
window->gtk_theme_variant = NULL;
+ window->gtk_application_id = NULL;
window->net_wm_pid = -1;
@@ -621,6 +622,7 @@ meta_window_new_with_attrs (MetaDisplay *display,
initial_props[i++] = display->atom__NET_WM_USER_TIME_WINDOW;
initial_props[i++] = display->atom__NET_WM_FULLSCREEN_MONITORS;
initial_props[i++] = display->atom__GTK_THEME_VARIANT;
+ initial_props[i++] = display->atom__GTK_APPLICATION_ID;
g_assert (N_INITIAL_PROPS == i);
meta_window_reload_properties (window, initial_props, N_INITIAL_PROPS, TRUE);
@@ -9015,6 +9017,7 @@ meta_window_finalize (GObject *object)
g_clear_pointer (&window->icon_name, g_free);
g_clear_pointer (&window->desc, g_free);
g_clear_pointer (&window->gtk_theme_variant, g_free);
+ g_clear_pointer (&window->gtk_application_id, g_free);
G_OBJECT_CLASS (meta_window_parent_class)->finalize (object);
}