From 10ca6eb57024a7042cc6201c6287e1a3d01c7e23 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 8 Dec 2023 18:31:01 +0100 Subject: Transient for window option --- include/mgl/window/window.h | 17 +++++++++-------- src/window/window.c | 4 ++++ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/include/mgl/window/window.h b/include/mgl/window/window.h index 12a7aef..4adf531 100644 --- a/include/mgl/window/window.h +++ b/include/mgl/window/window.h @@ -69,15 +69,16 @@ typedef enum { typedef struct { mgl_vec2i position; mgl_vec2i size; - mgl_vec2i min_size; /* (0, 0) = no limit */ - mgl_vec2i max_size; /* (0, 0) = no limit */ - mgl_window_handle parent_window; /* 0 = root window */ - bool hidden; /* false by default */ - bool override_redirect; /* false by default */ - bool support_alpha; /* support alpha for the window, false by default */ - mgl_color background_color; /* default: black */ + mgl_vec2i min_size; /* (0, 0) = no limit */ + mgl_vec2i max_size; /* (0, 0) = no limit */ + mgl_window_handle parent_window; /* 0 = root window */ + bool hidden; /* false by default */ + bool override_redirect; /* false by default */ + bool support_alpha; /* support alpha for the window, false by default */ + mgl_color background_color; /* default: black */ const char *class_name; - mgl_window_type window_type; /* default: normal */ + mgl_window_type window_type; /* default: normal */ + mgl_window_handle transient_for_window; } mgl_window_create_params; typedef enum { diff --git a/src/window/window.c b/src/window/window.c index 6882bcd..b0d1235 100644 --- a/src/window/window.c +++ b/src/window/window.c @@ -636,6 +636,10 @@ static int mgl_window_init(mgl_window *self, const char *title, const mgl_window XSetClassHint(context->connection, self->window, &class_hint); } + if(params && params->transient_for_window) { + XSetTransientForHint(context->connection, self->window, params->transient_for_window); + } + mgl_window_type window_type = params ? params->window_type : MGL_WINDOW_TYPE_NORMAL; mgl_set_window_type(self, window_type); -- cgit v1.2.3