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
This commit is contained in:
Jasper St. Pierre 2015-11-16 15:31:55 -08:00
parent 96b5042dda
commit 8cc345fcf5
2 changed files with 7 additions and 3 deletions

View File

@ -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,

View File

@ -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;