automaximize: Make it optional
Make automaximize optional by adding a gsetting "auto-maximize" (defaults to true). https://bugzilla.gnome.org/show_bug.cgi?id=680990
This commit is contained in:
parent
a91eeb24d4
commit
2a2ac52726
4 changed files with 30 additions and 2 deletions
|
@ -99,6 +99,7 @@ static gboolean resize_with_right_button = FALSE;
|
|||
static gboolean edge_tiling = FALSE;
|
||||
static gboolean force_fullscreen = TRUE;
|
||||
static gboolean ignore_request_hide_titlebar = FALSE;
|
||||
static gboolean auto_maximize = TRUE;
|
||||
|
||||
static GDesktopVisualBellType visual_bell_type = G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH;
|
||||
static MetaButtonLayout button_layout;
|
||||
|
@ -368,6 +369,13 @@ static MetaBoolPreference preferences_bool[] =
|
|||
},
|
||||
&no_tab_popup,
|
||||
},
|
||||
{
|
||||
{ "auto-maximize",
|
||||
SCHEMA_MUTTER,
|
||||
META_PREF_AUTO_MAXIMIZE,
|
||||
},
|
||||
&auto_maximize,
|
||||
},
|
||||
{ { NULL, 0, 0 }, NULL },
|
||||
};
|
||||
|
||||
|
@ -1666,6 +1674,9 @@ meta_preference_to_string (MetaPreference pref)
|
|||
|
||||
case META_PREF_DYNAMIC_WORKSPACES:
|
||||
return "DYNAMIC_WORKSPACES";
|
||||
|
||||
case META_PREF_AUTO_MAXIMIZE:
|
||||
return "AUTO_MAXIMIZE";
|
||||
}
|
||||
|
||||
return "(unknown)";
|
||||
|
@ -2091,6 +2102,12 @@ meta_prefs_get_edge_tiling ()
|
|||
return edge_tiling;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_prefs_get_auto_maximize (void)
|
||||
{
|
||||
return auto_maximize;
|
||||
}
|
||||
|
||||
MetaKeyBindingAction
|
||||
meta_prefs_get_keybinding_action (const char *name)
|
||||
{
|
||||
|
|
|
@ -3020,7 +3020,7 @@ meta_window_show (MetaWindow *window)
|
|||
|
||||
if (!window->placed)
|
||||
{
|
||||
if (window->showing_for_first_time && window->has_maximize_func)
|
||||
if (meta_prefs_get_auto_maximize() && window->showing_for_first_time && window->has_maximize_func)
|
||||
{
|
||||
MetaRectangle work_area;
|
||||
meta_window_get_work_area_for_monitor (window, window->monitor->number, &work_area);
|
||||
|
|
|
@ -67,7 +67,8 @@ typedef enum
|
|||
META_PREF_FORCE_FULLSCREEN,
|
||||
META_PREF_WORKSPACES_ONLY_ON_PRIMARY,
|
||||
META_PREF_NO_TAB_POPUP,
|
||||
META_PREF_DRAGGABLE_BORDER_WIDTH
|
||||
META_PREF_DRAGGABLE_BORDER_WIDTH,
|
||||
META_PREF_AUTO_MAXIMIZE
|
||||
} MetaPreference;
|
||||
|
||||
typedef void (* MetaPrefsChangedFunc) (MetaPreference pref,
|
||||
|
@ -105,6 +106,7 @@ gboolean meta_prefs_get_focus_change_on_pointer_rest (void);
|
|||
gboolean meta_prefs_get_gnome_accessibility (void);
|
||||
gboolean meta_prefs_get_gnome_animations (void);
|
||||
gboolean meta_prefs_get_edge_tiling (void);
|
||||
gboolean meta_prefs_get_auto_maximize (void);
|
||||
|
||||
void meta_prefs_get_button_layout (MetaButtonLayout *button_layout);
|
||||
|
||||
|
|
|
@ -84,6 +84,15 @@
|
|||
</_description>
|
||||
</key>
|
||||
|
||||
<key name="auto-maximize" type="b">
|
||||
<default>true</default>
|
||||
<_summary>Auto maximize nearly monitor sized windows</_summary>
|
||||
<_description>
|
||||
If enabled, monitor nearly monitor sized windows automatically get
|
||||
maximized when mapped.
|
||||
</_description>
|
||||
</key>
|
||||
|
||||
<child name="keybindings" schema="org.gnome.mutter.keybindings"/>
|
||||
|
||||
</schema>
|
||||
|
|
Loading…
Reference in a new issue