summaryrefslogtreecommitdiff
path: root/src/core/screen-private.h
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2025-07-30 06:45:30 -0400
committerVictor Kareh <[email protected]>2025-10-06 12:04:32 +0000
commit158e2e64b7fe584ea8fe782e4608df25d6103fc3 (patch)
tree6a0d865c9c36d9acc80d401fcaf9fb141f0b9a53 /src/core/screen-private.h
parentee2adf9fcbe03f2b7d0afd62cefe0b77784f618a (diff)
downloadmarco-158e2e64b7fe584ea8fe782e4608df25d6103fc3.tar.bz2
marco-158e2e64b7fe584ea8fe782e4608df25d6103fc3.tar.xz
Add dynamic workspaces supportHEADmaster
Adds GNOME3-style dynamic workspace management. Workspaces are created when no empty ones exist and removed when multiple empty workspaces are present, maintaining exactly one empty workspace at the end. Fixes #406
Diffstat (limited to 'src/core/screen-private.h')
-rw-r--r--src/core/screen-private.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/screen-private.h b/src/core/screen-private.h
index 56755f9a..fb9f68f4 100644
--- a/src/core/screen-private.h
+++ b/src/core/screen-private.h
@@ -140,6 +140,8 @@ struct _MetaScreen
/* Managed by compositor.c */
gpointer compositor_data;
+
+ guint dynamic_workspace_idle_id;
};
MetaScreen* meta_screen_new (MetaDisplay *display,
@@ -191,6 +193,7 @@ void meta_screen_get_natural_xinerama_list (MetaScreen *screen,
void meta_screen_update_workspace_layout (MetaScreen *screen);
void meta_screen_update_workspace_names (MetaScreen *screen);
void meta_screen_queue_workarea_recalc (MetaScreen *screen);
+void meta_screen_update_dynamic_workspaces (MetaScreen *screen);
Window meta_create_offscreen_window (Display *xdisplay,
Window parent,