summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2026-02-09 22:24:52 -0500
committerVictor Kareh <[email protected]>2026-05-27 16:44:49 -0400
commita9c3deabfbd9a0e8001dda65e66e6b204ec6f47a (patch)
tree886be36891996c04785526b9b821b4676ca829d1 /src/include
parentc89fba64c65a281a2de4e90caea788ca5f29ce05 (diff)
downloadmarco-a9c3deabfbd9a0e8001dda65e66e6b204ec6f47a.tar.bz2
marco-a9c3deabfbd9a0e8001dda65e66e6b204ec6f47a.tar.xz
display: Add settings for Alt+Tab window placement
Add user settings to control how minimized and urgent windows are ordered during Alt+Tab. 1. alt-tab-minimized-placement: - 'mru': Mix minimized windows in MRU order - 'end': Show minimized windows last (current behavior, default) - 'hidden': Exclude minimized windows from Alt+Tab 2. alt-tab-urgent-placement: - 'start': Show all urgent windows first (current behavior, default) - 'mru': Mix urgent windows in MRU order Fixes #824 Closes #819
Diffstat (limited to 'src/include')
-rw-r--r--src/include/common.h15
-rw-r--r--src/include/prefs.h4
2 files changed, 19 insertions, 0 deletions
diff --git a/src/include/common.h b/src/include/common.h
index a0dfb69c..1f5e7cc9 100644
--- a/src/include/common.h
+++ b/src/include/common.h
@@ -211,6 +211,19 @@ typedef enum
typedef enum
{
+ META_MINIMIZED_WINDOW_PLACEMENT_MRU,
+ META_MINIMIZED_WINDOW_PLACEMENT_END,
+ META_MINIMIZED_WINDOW_PLACEMENT_HIDDEN
+} MetaMinimizedWindowPlacement;
+
+typedef enum
+{
+ META_URGENT_WINDOW_PLACEMENT_START,
+ META_URGENT_WINDOW_PLACEMENT_MRU
+} MetaUrgentWindowPlacement;
+
+typedef enum
+{
META_FRAME_TYPE_NORMAL,
META_FRAME_TYPE_DIALOG,
META_FRAME_TYPE_MODAL_DIALOG,
@@ -355,5 +368,7 @@ typedef enum
#define META_DEFAULT_ALT_TAB_RAISE_WINDOWS FALSE
#define META_DEFAULT_ALT_TAB_EXPAND_TO_FIT_TITLE FALSE
+#define META_DEFAULT_ALT_TAB_MINIMIZED_PLACEMENT META_MINIMIZED_WINDOW_PLACEMENT_END
+#define META_DEFAULT_ALT_TAB_URGENT_PLACEMENT META_URGENT_WINDOW_PLACEMENT_START
#endif
diff --git a/src/include/prefs.h b/src/include/prefs.h
index 1170e8e8..bf748e28 100644
--- a/src/include/prefs.h
+++ b/src/include/prefs.h
@@ -73,6 +73,8 @@ typedef enum
META_PREF_ALT_TAB_MAX_COLUMNS,
META_PREF_ALT_TAB_RAISE_WINDOWS,
META_PREF_ALT_TAB_EXPAND_TO_FIT_TITLE,
+ META_PREF_ALT_TAB_MINIMIZED_PLACEMENT,
+ META_PREF_ALT_TAB_URGENT_PLACEMENT,
META_PREF_COMPOSITING_MANAGER,
META_PREF_COMPOSITING_FAST_ALT_TAB,
META_PREF_RESIZE_WITH_RIGHT_BUTTON,
@@ -151,6 +153,8 @@ int meta_prefs_get_icon_size (void);
int meta_prefs_get_alt_tab_max_columns (void);
gboolean meta_prefs_get_alt_tab_expand_to_fit_title (void);
gboolean meta_prefs_get_alt_tab_raise_windows (void);
+MetaMinimizedWindowPlacement meta_prefs_get_alt_tab_minimized_placement (void);
+MetaUrgentWindowPlacement meta_prefs_get_alt_tab_urgent_placement (void);
gboolean meta_prefs_get_compositing_manager (void);
gboolean meta_prefs_get_compositing_fast_alt_tab (void);
gboolean meta_prefs_get_center_new_windows (void);