mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-10 01:09:43 +02:00
feat(tiles): zoom a tile (button, Alt+Shift+Enter), and auto-zoom when the window is too small
⤢ in a tile's header, or Alt+Shift+Enter (registry entry zoom-tile, applies only while the grid is open and is swallowed before the Shift+Enter newline gate), makes that tile fill the grid like tmux zoom. The other tiles stay connected but hidden, so they measure nothing and send no resize; pressing it again restores the grid and refits every tile, since the hidden ones have a stale size. Zooming a tile that is not focused focuses it first (a human selection). As in tmux, moving focus to another tile restores the grid, and so does removing the zoomed tile or adding one while a tile is zoomed by hand. When the grid area cannot fit the tiles' minimum size, the grid zooms the focused tile itself with a hint; that zoom follows focus and lifts once the window fits again. A zoom the user chose is left alone. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19486,6 +19486,17 @@ html[data-session-list="sidebar"][data-sidebar="collapsed"] .btn-sidebar-toggle
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Zoom (tmux-style): one tile fills the grid; the others stay connected but
|
||||
hidden, so they measure nothing and send no resize. */
|
||||
.tile-grid.tile-grid--zoomed .tile:not(.tile--zoomed) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tile-btn.tile-zoom[aria-pressed='true'] {
|
||||
opacity: 1;
|
||||
color: var(--accent, #4a9eff);
|
||||
}
|
||||
|
||||
/* A permission prompt or question, visible across the room. Only the border
|
||||
colour and a box-shadow animate: anything that moves layout would resize
|
||||
the tile's PTY every frame. */
|
||||
|
||||
Reference in New Issue
Block a user