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:
parent
96b5042dda
commit
8cc345fcf5
@ -5302,6 +5302,11 @@ meta_window_recalc_features (MetaWindow *window)
|
|||||||
|
|
||||||
meta_window_recalc_skip_features (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,
|
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 %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,
|
window->desc,
|
||||||
|
@ -389,7 +389,7 @@ meta_window_apply_session_info (MetaWindow *window,
|
|||||||
"Restoring minimized state %d for window %s\n",
|
"Restoring minimized state %d for window %s\n",
|
||||||
info->minimized, window->desc);
|
info->minimized, window->desc);
|
||||||
|
|
||||||
if (window->has_minimize_func && info->minimized)
|
if (info->minimized)
|
||||||
meta_window_minimize (window);
|
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",
|
meta_verbose ("WM_CHANGE_STATE client message, state: %ld\n",
|
||||||
event->xclient.data.l[0]);
|
event->xclient.data.l[0]);
|
||||||
if (event->xclient.data.l[0] == IconicState &&
|
if (event->xclient.data.l[0] == IconicState)
|
||||||
window->has_minimize_func)
|
|
||||||
meta_window_minimize (window);
|
meta_window_minimize (window);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
Loading…
Reference in New Issue
Block a user