[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 9c1d6b1d6a: Handle window state changes on PGTK
From: |
Po Lu |
Subject: |
master 9c1d6b1d6a: Handle window state changes on PGTK |
Date: |
Sat, 5 Feb 2022 19:59:54 -0500 (EST) |
branch: master
commit 9c1d6b1d6a24338517756437757cc4aaaa4da4e5
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Handle window state changes on PGTK
* src/pgtkterm.c (window_state_event): Set fullscreen, sticky,
and iconification status according to the new window state.
(bug#53793)
---
src/pgtkterm.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index d0a2980bc1..23ad3c318c 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -5694,6 +5694,32 @@ window_state_event (GtkWidget *widget,
}
}
+ if (event->window_state.new_window_state
+ & GDK_WINDOW_STATE_FULLSCREEN)
+ store_frame_param (f, Qfullscreen, Qfullboth);
+ else if (event->window_state.new_window_state
+ & GDK_WINDOW_STATE_MAXIMIZED)
+ store_frame_param (f, Qfullscreen, Qmaximized);
+ else
+ store_frame_param (f, Qfullscreen, Qnil);
+
+ if (event->window_state.new_window_state
+ & GDK_WINDOW_STATE_ICONIFIED)
+ SET_FRAME_ICONIFIED (f, true);
+ else
+ {
+ FRAME_X_OUTPUT (f)->has_been_visible = true;
+ inev.ie.kind = DEICONIFY_EVENT;
+ XSETFRAME (inev.ie.frame_or_window, f);
+ SET_FRAME_ICONIFIED (f, false);
+ }
+
+ if (event->window_state.new_window_state
+ & GDK_WINDOW_STATE_STICKY)
+ store_frame_param (f, Qsticky, Qt);
+ else
+ store_frame_param (f, Qsticky, Qnil);
+
if (inev.ie.kind != NO_EVENT)
evq_enqueue (&inev);
return FALSE;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 9c1d6b1d6a: Handle window state changes on PGTK,
Po Lu <=