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-08-07 15:10:56 -0400
commitb7c75594dc6f44e08e1927ff5024c91a4564b784 (patch)
tree3ce585ed88525eb8afdfc6bf418e6c12d58ca5b7 /src/core/screen-private.h
parent87aa5feb8790168eb7b2bc890938353116d26594 (diff)
downloadmarco-dynamic-workspaces.tar.bz2
marco-dynamic-workspaces.tar.xz
Add dynamic workspaces supportdynamic-workspaces
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,