detached 885eb5e

chore: update documentation for mode indicator toaster feature

commit
885eb5ef9f53f92adce02dc362e45611a343656e
author
brice · · 2025-12-28 06:47 UTC
committer
brice · · 2025-12-28 06:49 UTC
parent
fe2336c
signature
unsigned
3 files · +24 -10
M CHANGELOG.md +2 -0
@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
55 ## [Unreleased]
66
77 ### Added
8+- **Mode indicator toaster**: Visual notification showing current modal mode (PANE MODE, TAB MODE, SESSION MODE, RESIZE MODE) at bottom-left corner with mode-specific colors. Configurable via `workspace.styling.mode_indicator_toaster_enabled` (default: true).
89 - **Config migration system**: Detects missing config keys when new settings are added in updates and provides tools to add them.
910 - `dumber config status`: Shows config file path and number of new settings available.
1011 - `dumber config migrate`: Lists missing keys with types/defaults and adds them to config file.
@@ -35,6 +36,7 @@ All notable changes to this project will be documented in this file.
3536 - **Console logging**: Standardized console timestamps to `HH:MM:SS` across bootstrap and session logging.
3637
3738 ### Fixed
39+- **Config migration type matching**: Fixed migration incorrectly matching keys of different types (e.g., `_width` int keys with `_color` string keys) during rename detection, preventing value swapping.
3840 - **Fullscreen video tab bar**: Fixed tab bar remaining visible during fullscreen video playback. Now hides automatically when entering fullscreen and restores based on normal visibility logic when exiting.
3941 - **Progress bar stuck state**: Added 30-second timeout to progress bar to auto-hide if page load stalls and never completes.
4042 - **OAuth popup login**: Fixed parent page going blank after OAuth popup closes (e.g., Google login on claude.ai, notion.com). Related WebViews share a web process with their parent; destroying the popup was terminating the shared process, killing the parent. Now skips `TerminateWebProcess()` for popup WebViews.
@@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
5 ## [Unreleased]5 ## [Unreleased]
6 6
7 ### Added7 ### Added
8+- **Mode indicator toaster**: Visual notification showing current modal mode (PANE MODE, TAB MODE, SESSION MODE, RESIZE MODE) at bottom-left corner with mode-specific colors. Configurable via `workspace.styling.mode_indicator_toaster_enabled` (default: true).
8 - **Config migration system**: Detects missing config keys when new settings are added in updates and provides tools to add them.9 - **Config migration system**: Detects missing config keys when new settings are added in updates and provides tools to add them.
9 - `dumber config status`: Shows config file path and number of new settings available.10 - `dumber config status`: Shows config file path and number of new settings available.
10 - `dumber config migrate`: Lists missing keys with types/defaults and adds them to config file.11 - `dumber config migrate`: Lists missing keys with types/defaults and adds them to config file.
@@ -35,6 +36,7 @@ All notable changes to this project will be documented in this file.
35 - **Console logging**: Standardized console timestamps to `HH:MM:SS` across bootstrap and session logging.36 - **Console logging**: Standardized console timestamps to `HH:MM:SS` across bootstrap and session logging.
36 37
37 ### Fixed38 ### Fixed
39+- **Config migration type matching**: Fixed migration incorrectly matching keys of different types (e.g., `_width` int keys with `_color` string keys) during rename detection, preventing value swapping.
38 - **Fullscreen video tab bar**: Fixed tab bar remaining visible during fullscreen video playback. Now hides automatically when entering fullscreen and restores based on normal visibility logic when exiting.40 - **Fullscreen video tab bar**: Fixed tab bar remaining visible during fullscreen video playback. Now hides automatically when entering fullscreen and restores based on normal visibility logic when exiting.
39 - **Progress bar stuck state**: Added 30-second timeout to progress bar to auto-hide if page load stalls and never completes.41 - **Progress bar stuck state**: Added 30-second timeout to progress bar to auto-hide if page load stalls and never completes.
40 - **OAuth popup login**: Fixed parent page going blank after OAuth popup closes (e.g., Google login on claude.ai, notion.com). Related WebViews share a web process with their parent; destroying the popup was terminating the shared process, killing the parent. Now skips `TerminateWebProcess()` for popup WebViews.42 - **OAuth popup login**: Fixed parent page going blank after OAuth popup closes (e.g., Google login on claude.ai, notion.com). Related WebViews share a web process with their parent; destroying the popup was terminating the shared process, killing the parent. Now skips `TerminateWebProcess()` for popup WebViews.
M README.md +2 -2
@@ -307,7 +307,7 @@ Each tab holds its own workspace. Each workspace can contain multiple panes (spl
307307 3. **Navigate**: Use `Ctrl+Tab` / `Ctrl+Shift+Tab` for quick tab switching, or `L`/`H` in tab mode
308308 4. **Exit**: Press `Escape` to exit tab mode or wait for timeout
309309
310-Tab mode provides visual feedback with an orange border indicator.
310+
311311
312312 ## Pane Management
313313
@@ -335,7 +335,7 @@ Dumber automatically saves your browser session (tabs, panes, split ratios, URLs
335335 4. **Restore**: Select an exited session to restore it in a new browser window
336336 5. **CLI Access**: Use `dumber sessions` for an interactive TUI, or `dumber sessions list/restore/delete` for scripting
337337
338-Session mode provides visual feedback with a purple border indicator.
338+
339339
340340 ## Configuration
341341
@@ -307,7 +307,7 @@ Each tab holds its own workspace. Each workspace can contain multiple panes (spl
307 3. **Navigate**: Use `Ctrl+Tab` / `Ctrl+Shift+Tab` for quick tab switching, or `L`/`H` in tab mode307 3. **Navigate**: Use `Ctrl+Tab` / `Ctrl+Shift+Tab` for quick tab switching, or `L`/`H` in tab mode
308 4. **Exit**: Press `Escape` to exit tab mode or wait for timeout308 4. **Exit**: Press `Escape` to exit tab mode or wait for timeout
309 309
310-Tab mode provides visual feedback with an orange border indicator.310+
311 311
312 ## Pane Management312 ## Pane Management
313 313
@@ -335,7 +335,7 @@ Dumber automatically saves your browser session (tabs, panes, split ratios, URLs
335 4. **Restore**: Select an exited session to restore it in a new browser window335 4. **Restore**: Select an exited session to restore it in a new browser window
336 5. **CLI Access**: Use `dumber sessions` for an interactive TUI, or `dumber sessions list/restore/delete` for scripting336 5. **CLI Access**: Use `dumber sessions` for an interactive TUI, or `dumber sessions list/restore/delete` for scripting
337 337
338-Session mode provides visual feedback with a purple border indicator.338+
339 339
340 ## Configuration340 ## Configuration
341 341
M docs/CONFIG.md +20 -8
@@ -333,16 +333,28 @@ Notes:
333333 |-----|------|---------|-------------|
334334 | `workspace.styling.border_width` | int | `1` | Active pane border width (px) - overlay |
335335 | `workspace.styling.border_color` | string | `"@theme_selected_bg_color"` | Active pane border color |
336-| `workspace.styling.pane_mode_border_width` | int | `4` | Pane mode border width (px) - Ctrl+P N overlay |
337-| `workspace.styling.pane_mode_border_color` | string | `"#4A90E2"` | Pane mode border color (blue) |
338-| `workspace.styling.tab_mode_border_width` | int | `4` | Tab mode border width (px) - Ctrl+P T overlay |
339-| `workspace.styling.tab_mode_border_color` | string | `"#FFA500"` | Tab mode border color (orange) |
340-| `workspace.styling.session_mode_border_width` | int | `4` | Session mode border width (px) - Ctrl+O overlay |
341-| `workspace.styling.session_mode_border_color` | string | `"#9B59B6"` | Session mode border color (purple) |
342-| `workspace.styling.resize_mode_border_width` | int | `4` | Resize mode border width (px) |
343-| `workspace.styling.resize_mode_border_color` | string | `"#00D4AA"` | Resize mode border color (teal) |
336+| `workspace.styling.mode_border_width` | int | `4` | Modal mode border width (px) - applies to all modes |
337+| `workspace.styling.pane_mode_color` | string | `"#4A90E2"` | Pane mode color (blue) - used for border and toaster |
338+| `workspace.styling.tab_mode_color` | string | `"#FFA500"` | Tab mode color (orange) - used for border and toaster |
339+| `workspace.styling.session_mode_color` | string | `"#9B59B6"` | Session mode color (purple) - used for border and toaster |
340+| `workspace.styling.resize_mode_color` | string | `"#00D4AA"` | Resize mode color (teal) - used for border and toaster |
341+| `workspace.styling.mode_indicator_toaster_enabled` | bool | `true` | Show toaster notification when modal modes are active |
344342 | `workspace.styling.transition_duration` | int | `120` | Border transition duration (ms) |
345343
344+**Example:**
345+```toml
346+[workspace.styling]
347+border_width = 1
348+border_color = "@theme_selected_bg_color"
349+mode_border_width = 4
350+pane_mode_color = "#4A90E2" # Blue for pane mode
351+tab_mode_color = "#FFA500" # Orange for tab mode
352+session_mode_color = "#9B59B6" # Purple for session mode
353+resize_mode_color = "#00D4AA" # Teal for resize mode
354+mode_indicator_toaster_enabled = true
355+transition_duration = 120
356+```
357+
346358 ## Session
347359
348360 | Key | Type | Default | Description |
@@ -333,16 +333,28 @@ Notes:
333 |-----|------|---------|-------------|333 |-----|------|---------|-------------|
334 | `workspace.styling.border_width` | int | `1` | Active pane border width (px) - overlay |334 | `workspace.styling.border_width` | int | `1` | Active pane border width (px) - overlay |
335 | `workspace.styling.border_color` | string | `"@theme_selected_bg_color"` | Active pane border color |335 | `workspace.styling.border_color` | string | `"@theme_selected_bg_color"` | Active pane border color |
336-| `workspace.styling.pane_mode_border_width` | int | `4` | Pane mode border width (px) - Ctrl+P N overlay |336+| `workspace.styling.mode_border_width` | int | `4` | Modal mode border width (px) - applies to all modes |
337-| `workspace.styling.pane_mode_border_color` | string | `"#4A90E2"` | Pane mode border color (blue) |337+| `workspace.styling.pane_mode_color` | string | `"#4A90E2"` | Pane mode color (blue) - used for border and toaster |
338-| `workspace.styling.tab_mode_border_width` | int | `4` | Tab mode border width (px) - Ctrl+P T overlay |338+| `workspace.styling.tab_mode_color` | string | `"#FFA500"` | Tab mode color (orange) - used for border and toaster |
339-| `workspace.styling.tab_mode_border_color` | string | `"#FFA500"` | Tab mode border color (orange) |339+| `workspace.styling.session_mode_color` | string | `"#9B59B6"` | Session mode color (purple) - used for border and toaster |
340-| `workspace.styling.session_mode_border_width` | int | `4` | Session mode border width (px) - Ctrl+O overlay |340+| `workspace.styling.resize_mode_color` | string | `"#00D4AA"` | Resize mode color (teal) - used for border and toaster |
341-| `workspace.styling.session_mode_border_color` | string | `"#9B59B6"` | Session mode border color (purple) |341+| `workspace.styling.mode_indicator_toaster_enabled` | bool | `true` | Show toaster notification when modal modes are active |
342-| `workspace.styling.resize_mode_border_width` | int | `4` | Resize mode border width (px) |
343-| `workspace.styling.resize_mode_border_color` | string | `"#00D4AA"` | Resize mode border color (teal) |
344 | `workspace.styling.transition_duration` | int | `120` | Border transition duration (ms) |342 | `workspace.styling.transition_duration` | int | `120` | Border transition duration (ms) |
345 343
344+**Example:**
345+```toml
346+[workspace.styling]
347+border_width = 1
348+border_color = "@theme_selected_bg_color"
349+mode_border_width = 4
350+pane_mode_color = "#4A90E2" # Blue for pane mode
351+tab_mode_color = "#FFA500" # Orange for tab mode
352+session_mode_color = "#9B59B6" # Purple for session mode
353+resize_mode_color = "#00D4AA" # Teal for resize mode
354+mode_indicator_toaster_enabled = true
355+transition_duration = 120
356+```
357+
346 ## Session358 ## Session
347 359
348 | Key | Type | Default | Description |360 | Key | Type | Default | Description |

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