docs: update session config and changelog for issues #26-29
- commit
- c7808b498b0b93e9fb4100dc004188b104f7c771
- author
- bnema · · 2025-12-25 19:01 UTC
- parent
- e056b3c
- signature
- GPG Unverified
2B82207D370127A0The key is unknown
2 files · +10 -8
M CHANGELOG.md +4 -2
| @@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file. | |||
| 5 | 5 | ## [Unreleased] | |
| 6 | 6 | ||
| 7 | 7 | ### Added | |
| 8 | + | - **Dynamic window title**: Window title now displays the active pane's page title in format `<Page Title> - Dumber`. Updates when switching tabs/panes or navigating. Truncated at 255 characters. | |
| 8 | 9 | - **Auto-update system**: Automatic update checking and self-updating binary replacement following clean architecture. | |
| 9 | 10 | - **Update check on startup**: Async check against GitHub releases API (configurable via `update.enable_on_startup`, default: true). | |
| 10 | 11 | - **Toast notifications**: Non-intrusive auto-dismiss notifications for update availability. | |
| @@ -17,8 +18,9 @@ All notable changes to this project will be documented in this file. | |||
| 17 | 18 | - **Session Manager modal**: Access via `Ctrl+O → s/w` or `Ctrl+Shift+S` to browse and restore sessions with inline preview of tabs and panes. | |
| 18 | 19 | - **Session mode**: New modal mode (`Ctrl+O`) with purple border indicator, similar to pane/tab modes. | |
| 19 | 20 | - **CLI session commands**: `dumber sessions` opens interactive TUI browser; `dumber sessions list` shows saved sessions; `dumber sessions restore <id>` resurrects a session in a new window; `dumber sessions delete <id>` removes a session. | |
| 20 | - | - **Session purging**: Integrated into `dumber purge` command for cleaning up old session data. | |
| 21 | - | - **Configuration options**: `session.auto_restore`, `session.snapshot_interval_ms`, `session.max_exited_sessions`, `session.max_listed_sessions`, plus session mode shortcuts and styling. | |
| 21 | + | - **Session purging**: Integrated into `dumber purge` command for cleaning up old session data. Simplified UI with single "Sessions" toggle instead of individual selection. | |
| 22 | + | - **Automatic session cleanup**: Sessions are automatically cleaned up on startup based on `max_exited_sessions` (default: 50) and `max_exited_session_age_days` (default: 7 days). | |
| 23 | + | - **Configuration options**: `session.auto_restore`, `session.snapshot_interval_ms`, `session.max_exited_sessions`, `session.max_exited_session_age_days`, plus session mode shortcuts and styling. | |
| 22 | 24 | ||
| 23 | 25 | ### Fixed | |
| 24 | 26 | - **Alt/Ctrl+number shortcuts on non-QWERTY keyboards**: Fixed Alt+1-9/0 tab switching and Ctrl+1-9/0 omnibox shortcuts not working on AZERTY, QWERTZ, Dvorak, and other non-QWERTY keyboard layouts. Uses hardware keycodes as fallback when keyval lookup fails, enabling shortcuts to work based on physical key position regardless of layout. | |
| @@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file. | |||||
| 5 | ## [Unreleased] | 5 | ## [Unreleased] | ||
| 6 | 6 | ||||
| 7 | ### Added | 7 | ### Added | ||
| 8 | + | - **Dynamic window title**: Window title now displays the active pane's page title in format `<Page Title> - Dumber`. Updates when switching tabs/panes or navigating. Truncated at 255 characters. | |||
| 8 | - **Auto-update system**: Automatic update checking and self-updating binary replacement following clean architecture. | 9 | - **Auto-update system**: Automatic update checking and self-updating binary replacement following clean architecture. | ||
| 9 | - **Update check on startup**: Async check against GitHub releases API (configurable via `update.enable_on_startup`, default: true). | 10 | - **Update check on startup**: Async check against GitHub releases API (configurable via `update.enable_on_startup`, default: true). | ||
| 10 | - **Toast notifications**: Non-intrusive auto-dismiss notifications for update availability. | 11 | - **Toast notifications**: Non-intrusive auto-dismiss notifications for update availability. | ||
| @@ -17,8 +18,9 @@ All notable changes to this project will be documented in this file. | |||||
| 17 | - **Session Manager modal**: Access via `Ctrl+O → s/w` or `Ctrl+Shift+S` to browse and restore sessions with inline preview of tabs and panes. | 18 | - **Session Manager modal**: Access via `Ctrl+O → s/w` or `Ctrl+Shift+S` to browse and restore sessions with inline preview of tabs and panes. | ||
| 18 | - **Session mode**: New modal mode (`Ctrl+O`) with purple border indicator, similar to pane/tab modes. | 19 | - **Session mode**: New modal mode (`Ctrl+O`) with purple border indicator, similar to pane/tab modes. | ||
| 19 | - **CLI session commands**: `dumber sessions` opens interactive TUI browser; `dumber sessions list` shows saved sessions; `dumber sessions restore <id>` resurrects a session in a new window; `dumber sessions delete <id>` removes a session. | 20 | - **CLI session commands**: `dumber sessions` opens interactive TUI browser; `dumber sessions list` shows saved sessions; `dumber sessions restore <id>` resurrects a session in a new window; `dumber sessions delete <id>` removes a session. | ||
| 20 | - | - **Session purging**: Integrated into `dumber purge` command for cleaning up old session data. | 21 | + | - **Session purging**: Integrated into `dumber purge` command for cleaning up old session data. Simplified UI with single "Sessions" toggle instead of individual selection. |
| 21 | - | - **Configuration options**: `session.auto_restore`, `session.snapshot_interval_ms`, `session.max_exited_sessions`, `session.max_listed_sessions`, plus session mode shortcuts and styling. | 22 | + | - **Automatic session cleanup**: Sessions are automatically cleaned up on startup based on `max_exited_sessions` (default: 50) and `max_exited_session_age_days` (default: 7 days). |
| 23 | + | - **Configuration options**: `session.auto_restore`, `session.snapshot_interval_ms`, `session.max_exited_sessions`, `session.max_exited_session_age_days`, plus session mode shortcuts and styling. | |||
| 22 | 24 | ||||
| 23 | ### Fixed | 25 | ### Fixed | ||
| 24 | - **Alt/Ctrl+number shortcuts on non-QWERTY keyboards**: Fixed Alt+1-9/0 tab switching and Ctrl+1-9/0 omnibox shortcuts not working on AZERTY, QWERTZ, Dvorak, and other non-QWERTY keyboard layouts. Uses hardware keycodes as fallback when keyval lookup fails, enabling shortcuts to work based on physical key position regardless of layout. | 26 | - **Alt/Ctrl+number shortcuts on non-QWERTY keyboards**: Fixed Alt+1-9/0 tab switching and Ctrl+1-9/0 omnibox shortcuts not working on AZERTY, QWERTZ, Dvorak, and other non-QWERTY keyboard layouts. Uses hardware keycodes as fallback when keyval lookup fails, enabling shortcuts to work based on physical key position regardless of layout. | ||
M docs/CONFIG.md +6 -6
| @@ -285,8 +285,8 @@ cancel = ["escape"] | |||
| 285 | 285 | |-----|------|---------|-------------| | |
| 286 | 286 | | `session.auto_restore` | bool | `false` | Automatically restore the last session on startup | | |
| 287 | 287 | | `session.snapshot_interval_ms` | int | `5000` | Minimum interval between snapshots in milliseconds | | |
| 288 | - | | `session.max_exited_sessions` | int | `10` | Maximum number of exited sessions to keep | | |
| 289 | - | | `session.max_listed_sessions` | int | `50` | Maximum number of sessions to list in CLI/TUI | | |
| 288 | + | | `session.max_exited_sessions` | int | `50` | Maximum number of exited sessions to keep | | |
| 289 | + | | `session.max_exited_session_age_days` | int | `7` | Maximum age in days for exited sessions (auto-deleted on startup) | | |
| 290 | 290 | ||
| 291 | 291 | ### Session Mode | |
| 292 | 292 | ||
| @@ -307,10 +307,10 @@ cancel = ["escape"] | |||
| 307 | 307 | **Example:** | |
| 308 | 308 | ```toml | |
| 309 | 309 | [session] | |
| 310 | - | auto_restore = false # Don't auto-restore on startup | |
| 311 | - | snapshot_interval_ms = 5000 # Save state every 5 seconds (debounced) | |
| 312 | - | max_exited_sessions = 10 # Keep last 10 exited sessions | |
| 313 | - | max_listed_sessions = 50 # Show up to 50 sessions in CLI/TUI | |
| 310 | + | auto_restore = false # Don't auto-restore on startup | |
| 311 | + | snapshot_interval_ms = 5000 # Save state every 5 seconds (debounced) | |
| 312 | + | max_exited_sessions = 50 # Keep last 50 exited sessions | |
| 313 | + | max_exited_session_age_days = 7 # Delete sessions older than 7 days on startup | |
| 314 | 314 | ``` | |
| 315 | 315 | ||
| 316 | 316 | ## Media | |
| @@ -285,8 +285,8 @@ cancel = ["escape"] | |||||
| 285 | |-----|------|---------|-------------| | 285 | |-----|------|---------|-------------| | ||
| 286 | | `session.auto_restore` | bool | `false` | Automatically restore the last session on startup | | 286 | | `session.auto_restore` | bool | `false` | Automatically restore the last session on startup | | ||
| 287 | | `session.snapshot_interval_ms` | int | `5000` | Minimum interval between snapshots in milliseconds | | 287 | | `session.snapshot_interval_ms` | int | `5000` | Minimum interval between snapshots in milliseconds | | ||
| 288 | - | | `session.max_exited_sessions` | int | `10` | Maximum number of exited sessions to keep | | 288 | + | | `session.max_exited_sessions` | int | `50` | Maximum number of exited sessions to keep | |
| 289 | - | | `session.max_listed_sessions` | int | `50` | Maximum number of sessions to list in CLI/TUI | | 289 | + | | `session.max_exited_session_age_days` | int | `7` | Maximum age in days for exited sessions (auto-deleted on startup) | |
| 290 | 290 | ||||
| 291 | ### Session Mode | 291 | ### Session Mode | ||
| 292 | 292 | ||||
| @@ -307,10 +307,10 @@ cancel = ["escape"] | |||||
| 307 | **Example:** | 307 | **Example:** | ||
| 308 | ```toml | 308 | ```toml | ||
| 309 | [session] | 309 | [session] | ||
| 310 | - | auto_restore = false # Don't auto-restore on startup | 310 | + | auto_restore = false # Don't auto-restore on startup |
| 311 | - | snapshot_interval_ms = 5000 # Save state every 5 seconds (debounced) | 311 | + | snapshot_interval_ms = 5000 # Save state every 5 seconds (debounced) |
| 312 | - | max_exited_sessions = 10 # Keep last 10 exited sessions | 312 | + | max_exited_sessions = 50 # Keep last 50 exited sessions |
| 313 | - | max_listed_sessions = 50 # Show up to 50 sessions in CLI/TUI | 313 | + | max_exited_session_age_days = 7 # Delete sessions older than 7 days on startup |
| 314 | ``` | 314 | ``` | ||
| 315 | 315 | ||||
| 316 | ## Media | 316 | ## Media | ||