diff --git a/src/core/window.c b/src/core/window.c index 2e4c109bc..35730eab4 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -8860,6 +8860,25 @@ meta_window_get_transient_for (MetaWindow *window) return NULL; } +/** + * meta_window_get_transient_for_as_xid: + * @window: a #MetaWindow + * + * Returns the XID of the window that is pointed to by the + * WM_TRANSIENT_FOR hint on this window (see XGetTransientForHint() + * or XSetTransientForHint()). Metacity keeps transient windows above their + * parents. A typical usage of this hint is for a dialog that wants to stay + * above its associated window. + * + * Return value: (transfer none): the window this window is transient for, or + * None if the WM_TRANSIENT_FOR hint is unset. + */ +Window +meta_window_get_transient_for_as_xid (MetaWindow *window) +{ + return window->xtransient_for; +} + /** * meta_window_get_pid: * @window: a #MetaWindow diff --git a/src/include/window.h b/src/include/window.h index 15f4f25ab..c2c21f64e 100644 --- a/src/include/window.h +++ b/src/include/window.h @@ -116,6 +116,7 @@ void meta_window_minimize (MetaWindow *window); void meta_window_unminimize (MetaWindow *window); const char *meta_window_get_title (MetaWindow *window); MetaWindow *meta_window_get_transient_for (MetaWindow *window); +Window meta_window_get_transient_for_as_xid (MetaWindow *window); void meta_window_delete (MetaWindow *window, guint32 timestamp); guint meta_window_get_stable_sequence (MetaWindow *window);