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
@ -99,6 +99,7 @@ static gboolean resize_with_right_button = FALSE;
|
|||||||
static gboolean edge_tiling = FALSE;
|
static gboolean edge_tiling = FALSE;
|
||||||
static gboolean force_fullscreen = TRUE;
|
static gboolean force_fullscreen = TRUE;
|
||||||
static gboolean ignore_request_hide_titlebar = FALSE;
|
static gboolean ignore_request_hide_titlebar = FALSE;
|
||||||
|
static gboolean auto_maximize = TRUE;
|
||||||
|
|
||||||
static GDesktopVisualBellType visual_bell_type = G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH;
|
static GDesktopVisualBellType visual_bell_type = G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH;
|
||||||
static MetaButtonLayout button_layout;
|
static MetaButtonLayout button_layout;
|
||||||
@ -368,6 +369,13 @@ static MetaBoolPreference preferences_bool[] =
|
|||||||
},
|
},
|
||||||
&no_tab_popup,
|
&no_tab_popup,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
{ "auto-maximize",
|
||||||
|
SCHEMA_MUTTER,
|
||||||
|
META_PREF_AUTO_MAXIMIZE,
|
||||||
|
},
|
||||||
|
&auto_maximize,
|
||||||
|
},
|
||||||
{ { NULL, 0, 0 }, NULL },
|
{ { NULL, 0, 0 }, NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1666,6 +1674,9 @@ meta_preference_to_string (MetaPreference pref)
|
|||||||
|
|
||||||
case META_PREF_DYNAMIC_WORKSPACES:
|
case META_PREF_DYNAMIC_WORKSPACES:
|
||||||
return "DYNAMIC_WORKSPACES";
|
return "DYNAMIC_WORKSPACES";
|
||||||
|
|
||||||
|
case META_PREF_AUTO_MAXIMIZE:
|
||||||
|
return "AUTO_MAXIMIZE";
|
||||||
}
|
}
|
||||||
|
|
||||||
return "(unknown)";
|
return "(unknown)";
|
||||||
@ -2091,6 +2102,12 @@ meta_prefs_get_edge_tiling ()
|
|||||||
return edge_tiling;
|
return edge_tiling;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
meta_prefs_get_auto_maximize (void)
|
||||||
|
{
|
||||||
|
return auto_maximize;
|
||||||
|
}
|
||||||
|
|
||||||
MetaKeyBindingAction
|
MetaKeyBindingAction
|
||||||
meta_prefs_get_keybinding_action (const char *name)
|
meta_prefs_get_keybinding_action (const char *name)
|
||||||
{
|
{
|
||||||
|
@ -3020,7 +3020,7 @@ meta_window_show (MetaWindow *window)
|
|||||||
|
|
||||||
if (!window->placed)
|
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;
|
MetaRectangle work_area;
|
||||||
meta_window_get_work_area_for_monitor (window, window->monitor->number, &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_FORCE_FULLSCREEN,
|
||||||
META_PREF_WORKSPACES_ONLY_ON_PRIMARY,
|
META_PREF_WORKSPACES_ONLY_ON_PRIMARY,
|
||||||
META_PREF_NO_TAB_POPUP,
|
META_PREF_NO_TAB_POPUP,
|
||||||
META_PREF_DRAGGABLE_BORDER_WIDTH
|
META_PREF_DRAGGABLE_BORDER_WIDTH,
|
||||||
|
META_PREF_AUTO_MAXIMIZE
|
||||||
} MetaPreference;
|
} MetaPreference;
|
||||||
|
|
||||||
typedef void (* MetaPrefsChangedFunc) (MetaPreference pref,
|
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_accessibility (void);
|
||||||
gboolean meta_prefs_get_gnome_animations (void);
|
gboolean meta_prefs_get_gnome_animations (void);
|
||||||
gboolean meta_prefs_get_edge_tiling (void);
|
gboolean meta_prefs_get_edge_tiling (void);
|
||||||
|
gboolean meta_prefs_get_auto_maximize (void);
|
||||||
|
|
||||||
void meta_prefs_get_button_layout (MetaButtonLayout *button_layout);
|
void meta_prefs_get_button_layout (MetaButtonLayout *button_layout);
|
||||||
|
|
||||||
|
@ -84,6 +84,15 @@
|
|||||||
</_description>
|
</_description>
|
||||||
</key>
|
</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"/>
|
<child name="keybindings" schema="org.gnome.mutter.keybindings"/>
|
||||||
|
|
||||||
</schema>
|
</schema>
|
||||||
|
Loading…
Reference in New Issue
Block a user