[mutter] window: Allow minimizing windows which don't advertise support for it
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window: Allow minimizing windows which don't advertise support for it
- Date: Mon, 14 Dec 2015 19:34:33 +0000 (UTC)
commit 8cc345fcf5346b676315dcd4b809d1b420bb4b27
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Mon Nov 16 15:31:55 2015 -0800
window: Allow minimizing windows which don't advertise support for it
Wine removes the minimize func from its Motif hints on full-screen
windows, because, as the Win32 API literally says, the minimize button
is indeed not visible on full-screen windows.
Given that this code was added to prevent minimizing a panel by
accident, I don't necessarily think that it's relevant anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=758186
src/core/window.c | 5 +++++
src/x11/window-x11.c | 5 ++---
2 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/src/core/window.c b/src/core/window.c
index 7ae0467..b21b6bb 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -5302,6 +5302,11 @@ meta_window_recalc_features (MetaWindow *window)
meta_window_recalc_skip_features (window);
+ /* To prevent users from losing windows, let's prevent users from
+ * minimizing skip-taskbar windows through the window decorations. */
+ if (window->skip_taskbar)
+ window->has_minimize_func = FALSE;
+
meta_topic (META_DEBUG_WINDOW_OPS,
"Window %s decorated = %d border_only = %d has_close = %d has_minimize = %d has_maximize = %d
has_move = %d has_shade = %d skip_taskbar = %d skip_pager = %d\n",
window->desc,
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 35d9c7a..c4de328 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -389,7 +389,7 @@ meta_window_apply_session_info (MetaWindow *window,
"Restoring minimized state %d for window %s\n",
info->minimized, window->desc);
- if (window->has_minimize_func && info->minimized)
+ if (info->minimized)
meta_window_minimize (window);
}
@@ -2441,8 +2441,7 @@ meta_window_x11_client_message (MetaWindow *window,
{
meta_verbose ("WM_CHANGE_STATE client message, state: %ld\n",
event->xclient.data.l[0]);
- if (event->xclient.data.l[0] == IconicState &&
- window->has_minimize_func)
+ if (event->xclient.data.l[0] == IconicState)
meta_window_minimize (window);
return TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]