feat: render the workspace sidebar as a grid in Grid layout - #318
Open
AldenDana wants to merge 2 commits into
Open
feat: render the workspace sidebar as a grid in Grid layout#318AldenDana wants to merge 2 commits into
AldenDana wants to merge 2 commits into
Conversation
Author
|
AI disclosure This implementation was developed with assistance from Claude (Anthropic's AI coding assistant), directed and reviewed by me throughout — I specified the requirements, reviewed the generated diffs, and tested every feature live on my own machine. I'm continuing to work with Claude to address review feedback, so turnaround should be quick either way.
|
When the compositor's workspace_layout is Grid, arrange the workspace thumbnails in a columns x rows grid (chunked by workspace_grid_columns) instead of a single strip. The overview otherwise behaves like the Vertical layout (sidebar beside the toplevels). Requires the cosmic-comp Grid layout change (WorkspaceLayout::Grid in cosmic-comp-config). Implements the overview half of pop-os#51. AI-assisted commit: implemented with Claude (Anthropic's AI coding assistant); the author directed the requirements, reviewed the generated diff, and tested the resulting behavior.
Sort the overview in row-major reading order: coordinates are [x, y, ...] per protocol convention, and a plain lexicographic sort on the coordinate vector was sorting column-first instead of row-first, scrambling the Grid layout. Also adds a pencil button (shown on hover, next to the pin button) that turns a workspace's label into an inline text field. Enter submits a zcosmic_workspace_handle_v2 rename request; Escape or the X cancels. AI-assisted commit: implemented with Claude (Anthropic's AI coding assistant); the author directed the requirements, reviewed the generated diff, and tested the resulting behavior.
AldenDana
force-pushed
the
grid-workspaces
branch
from
July 13, 2026 21:22
ad998f0 to
0f00f60
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the overview half of #51, companion to pop-os/cosmic-comp#2555.
When
workspace_layoutisGrid, the workspace sidebar arranges thumbnails in acolumns x rowsgrid (cosmic::widget::grid, chunked byworkspace_grid_columnsfrom the already-subscribed comp config) instead of a single strip; otherwise behaves like Vertical.Sort order fix. Workspace coordinates are
[x, y, ...]per the protocol convention. The previous code sorted workspaces with a plain lexicographic comparison on that coordinate vector, which sorts column-first — a no-op for the single-column case Vertical layout always produced, but it scrambles the reading order once Grid coordinates are genuinely 2D. Now sorts row-first (y, thenx) so the grid reads left-to-right, top-to-bottom.Rename support. Adds a pencil button (shown on hover, next to the existing pin button) that turns a workspace's label into an inline text field; Enter submits a
zcosmic_workspace_handle_v2rename request, Escape or the X cancels. Depends on pop-os/cosmic-comp#2556 handling that request compositor-side (previously defined in the protocol but unhandled).Depends on the
cosmic-comp-configchanges from pop-os/cosmic-comp#2555 (same[patch]note as the settings PR).