detached bd90d73

docs(changelog): document zellij workspace management feature

commit
bd90d73a23d63fab90067d6a2f67680a8982a679
author
bamen · · 2025-09-19 03:42 UTC
parent
a886655
signature
unsigned
2 files · +8 -1
M CHANGELOG.md +8 -0
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44
55 ## [Unreleased]
66
7+### Added
8+- **Zellij-style workspace management**: Complete pane splitting system with binary tree layout, focus tracking, and Zellij-inspired keybindings (Ctrl+P for pane mode, arrow keys for splits, 'x' to close)
9+- **Multi-pane WebView architecture**: Container-based widget management with proper reparenting, lifecycle handling, and per-pane controllers
10+- **Window-level global shortcuts**: Centralized shortcut handling to prevent conflicts between multiple WebView instances
11+- **Workspace configuration**: New config section with Zellij controls toggle, pane mode bindings, tab shortcuts, and popup behavior settings
12+
713 ### Improved
814 - WebKit integration now forces GPU compositing by default while still honoring explicit config overrides.
915 - Smooth scrolling is enabled (when supported) so wheel and gesture animations feel closer to Chromium/Firefox.
@@ -15,6 +21,8 @@ All notable changes to this project will be documented in this file.
1521 - Configuration loading writes the missing `use_dom_zoom` flag into existing config files so DOM zoom defaults persist without manual edits.
1622 - Omnibox UI now relies on shared Tailwind theme tokens and the injected color-scheme service for light/dark parity.
1723 - Omnibox overlay now self-heals if hostile pages remove the injected shadow host, ensuring Ctrl/Cmd+L works everywhere.
24+- Navigation shortcuts changed from Alt+Arrow to Ctrl/Cmd+Arrow for better workspace compatibility.
25+- GUI components now support workspace-aware focus management with pane-specific event handling.
1826
1927 ## [0.8.0] - 2025-09-17
2028
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
4 4
5 ## [Unreleased]5 ## [Unreleased]
6 6
7+### Added
8+- **Zellij-style workspace management**: Complete pane splitting system with binary tree layout, focus tracking, and Zellij-inspired keybindings (Ctrl+P for pane mode, arrow keys for splits, 'x' to close)
9+- **Multi-pane WebView architecture**: Container-based widget management with proper reparenting, lifecycle handling, and per-pane controllers
10+- **Window-level global shortcuts**: Centralized shortcut handling to prevent conflicts between multiple WebView instances
11+- **Workspace configuration**: New config section with Zellij controls toggle, pane mode bindings, tab shortcuts, and popup behavior settings
12+
7 ### Improved13 ### Improved
8 - WebKit integration now forces GPU compositing by default while still honoring explicit config overrides.14 - WebKit integration now forces GPU compositing by default while still honoring explicit config overrides.
9 - Smooth scrolling is enabled (when supported) so wheel and gesture animations feel closer to Chromium/Firefox.15 - Smooth scrolling is enabled (when supported) so wheel and gesture animations feel closer to Chromium/Firefox.
@@ -15,6 +21,8 @@ All notable changes to this project will be documented in this file.
15 - Configuration loading writes the missing `use_dom_zoom` flag into existing config files so DOM zoom defaults persist without manual edits.21 - Configuration loading writes the missing `use_dom_zoom` flag into existing config files so DOM zoom defaults persist without manual edits.
16 - Omnibox UI now relies on shared Tailwind theme tokens and the injected color-scheme service for light/dark parity.22 - Omnibox UI now relies on shared Tailwind theme tokens and the injected color-scheme service for light/dark parity.
17 - Omnibox overlay now self-heals if hostile pages remove the injected shadow host, ensuring Ctrl/Cmd+L works everywhere.23 - Omnibox overlay now self-heals if hostile pages remove the injected shadow host, ensuring Ctrl/Cmd+L works everywhere.
24+- Navigation shortcuts changed from Alt+Arrow to Ctrl/Cmd+Arrow for better workspace compatibility.
25+- GUI components now support workspace-aware focus management with pane-specific event handling.
18 26
19 ## [0.8.0] - 2025-09-1727 ## [0.8.0] - 2025-09-17
20 28
M internal/app/api/scheme.go +0 -1
@@ -74,7 +74,6 @@ func (s *SchemeHandler) handleAsset(u *neturl.URL) (string, []byte, bool) {
7474 }
7575 }
7676
77-
7877 // Special-case homepage favicon: map .ico request to embedded SVG file
7978 if (u.Host == constants.HomepagePath || u.Opaque == constants.HomepagePath) && strings.EqualFold(rel, "favicon.ico") {
8079 log.Printf("[scheme] asset: rel=%s (host=%s path=%s) → mapping to favicon.svg", rel, u.Host, u.Path)
@@ -74,7 +74,6 @@ func (s *SchemeHandler) handleAsset(u *neturl.URL) (string, []byte, bool) {
74 }74 }
75 }75 }
76 76
77-
78 // Special-case homepage favicon: map .ico request to embedded SVG file77 // Special-case homepage favicon: map .ico request to embedded SVG file
79 if (u.Host == constants.HomepagePath || u.Opaque == constants.HomepagePath) && strings.EqualFold(rel, "favicon.ico") {78 if (u.Host == constants.HomepagePath || u.Opaque == constants.HomepagePath) && strings.EqualFold(rel, "favicon.ico") {
80 log.Printf("[scheme] asset: rel=%s (host=%s path=%s) → mapping to favicon.svg", rel, u.Host, u.Path)79 log.Printf("[scheme] asset: rel=%s (host=%s path=%s) → mapping to favicon.svg", rel, u.Host, u.Path)

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close