73 lines
2.9 KiB
Diff
73 lines
2.9 KiB
Diff
From 074af8f87ef89b13ff326fb5d04ee424bbfd4ced Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <alberts.muktupavels@gmail.com>
|
|
Date: Thu, 29 Nov 2018 15:17:58 +0200
|
|
Subject: [PATCH] revert "unminimize windows with initial IconicState if first
|
|
known on MapRequest"
|
|
|
|
According to ICCCM client is allowed to go from Withdrawn to Iconic
|
|
state. Also there are x11 apps that has -iconic command line option
|
|
that was broken.
|
|
|
|
Revert 6875256e63fbfd4500ddd27a7bf1aafc8d4c1ca3 commit to restore
|
|
previous behaviour.
|
|
|
|
https://gitlab.gnome.org/GNOME/metacity/issues/4
|
|
---
|
|
src/core/display.c | 38 +++++++++++++-------------------------
|
|
1 file changed, 13 insertions(+), 25 deletions(-)
|
|
|
|
diff --git a/src/core/display.c b/src/core/display.c
|
|
index ed0aaf7f..273c97c5 100644
|
|
--- a/src/core/display.c
|
|
+++ b/src/core/display.c
|
|
@@ -2297,34 +2297,22 @@ event_callback (XEvent *event,
|
|
{
|
|
window = meta_window_new (display, event->xmaprequest.window, FALSE,
|
|
META_EFFECT_TYPE_CREATE);
|
|
-
|
|
- /* The window might have initial iconic state, but this is a
|
|
- * MapRequest, fall through to ensure it is unminimized in
|
|
- * that case.
|
|
- */
|
|
}
|
|
- else if (frame_was_receiver)
|
|
+ /* if frame was receiver it's some malicious send event or something */
|
|
+ else if (!frame_was_receiver && window)
|
|
{
|
|
- g_warning ("Map requests on the frame window are unexpected");
|
|
- break;
|
|
- }
|
|
-
|
|
- /* Double check that creating the MetaWindow succeeded */
|
|
- if (window == NULL)
|
|
- break;
|
|
-
|
|
- meta_verbose ("MapRequest on %s mapped = %d minimized = %d\n",
|
|
- window->desc, window->mapped, window->minimized);
|
|
-
|
|
- if (window->minimized)
|
|
- {
|
|
- meta_window_unminimize (window);
|
|
- if (window->workspace != window->screen->active_workspace)
|
|
+ meta_verbose ("MapRequest on %s mapped = %d minimized = %d\n",
|
|
+ window->desc, window->mapped, window->minimized);
|
|
+ if (window->minimized)
|
|
{
|
|
- meta_verbose ("Changing workspace due to MapRequest mapped = %d minimized = %d\n",
|
|
- window->mapped, window->minimized);
|
|
- meta_window_change_workspace (window,
|
|
- window->screen->active_workspace);
|
|
+ meta_window_unminimize (window);
|
|
+ if (window->workspace != window->screen->active_workspace)
|
|
+ {
|
|
+ meta_verbose ("Changing workspace due to MapRequest mapped = %d minimized = %d\n",
|
|
+ window->mapped, window->minimized);
|
|
+ meta_window_change_workspace (window,
|
|
+ window->screen->active_workspace);
|
|
+ }
|
|
}
|
|
}
|
|
break;
|
|
--
|
|
2.18.1
|