v0.27.1 c78ce83

configuration.md RawHistoryFolder

Configuration Reference

Key Type Default Valid Values
database.path string ~/.local/share/dumber/dumber.db
history.max_entries int 10000 > 0
history.retention_period_days int 365 > 0
history.cleanup_interval_days int 1 > 0
default_search_engine string https://duckduckgo.com/?q=%s URL with %s
search_shortcuts.<name>.url string URL with %s
search_shortcuts.<name>.description string
dmenu.max_history_days int 30 >= 0
dmenu.show_visit_count bool true
dmenu.show_last_visited bool true
dmenu.history_prefix string 🕒
dmenu.shortcut_prefix string 🔍
dmenu.url_prefix string 🌐
dmenu.date_format string 2006-01-02 15:04 Go time format
dmenu.sort_by_visit_count bool true
omnibox.initial_behavior string recent recent, most_visited, none
omnibox.auto_open_on_new_pane bool false
logging.level string info debug, info, warn, error
logging.format string text text, json
logging.max_age int 7 >= 0
logging.log_dir string ~/.local/state/dumber/logs/
logging.enable_file_log bool true
logging.capture_console bool false
logging.capture_gtk_webkit_logs bool false
appearance.sans_font string Fira Sans
appearance.serif_font string Fira Sans
appearance.monospace_font string Fira Code
appearance.default_font_size int 16
appearance.color_scheme string default prefer-dark, prefer-light, default
appearance.light_palette.background string #f8f8f8
appearance.light_palette.surface string #f2f2f2
appearance.light_palette.surface_variant string #ececec
appearance.light_palette.text string #1a1a1a
appearance.light_palette.muted string #6e6e6e
appearance.light_palette.accent string #404040
appearance.light_palette.border string #d2d2d2
appearance.dark_palette.background string #0e0e0e
appearance.dark_palette.surface string #1a1a1a
appearance.dark_palette.surface_variant string #141414
appearance.dark_palette.text string #e4e4e4
appearance.dark_palette.muted string #848484
appearance.dark_palette.accent string #a8a8a8
appearance.dark_palette.border string #363636
debug.enable_devtools bool true
rendering.mode string gpu auto, gpu, cpu
rendering.disable_dmabuf_renderer bool false
rendering.force_compositing_mode bool false
rendering.disable_compositing_mode bool false
rendering.gsk_renderer string auto auto, opengl, vulkan, cairo
rendering.disable_mipmaps bool false
rendering.prefer_gl bool false
rendering.draw_compositing_indicators bool false
rendering.show_fps bool false
rendering.sample_memory bool false
rendering.debug_frames bool false
default_ui_scale float 1.0 > 0
default_webpage_zoom float 1.2 > 0
workspace.new_pane_url string about:blank
workspace.switch_to_tab_on_move bool true
workspace.pane_mode.activation_shortcut string ctrl+p
workspace.pane_mode.timeout_ms int 3000
workspace.tab_mode.activation_shortcut string ctrl+t
workspace.tab_mode.timeout_ms int 3000
workspace.resize_mode.activation_shortcut string ctrl+n
workspace.resize_mode.timeout_ms int 3000
workspace.resize_mode.step_percent float 5.0
workspace.resize_mode.min_pane_percent float 10.0
workspace.shortcuts.actions.toggle_floating_pane.keys []string alt+f key strings
workspace.shortcuts.actions.toggle_floating_pane.desc string Toggle floating pane
workspace.floating_pane.width_pct float 0.82 (0,1]
workspace.floating_pane.height_pct float 0.72 (0,1]
workspace.floating_pane.profiles.<name>.keys []string at least one key
workspace.floating_pane.profiles.<name>.url string required URL
workspace.floating_pane.profiles.<name>.desc string
workspace.popups.behavior string split split, stacked, tabbed, windowed
workspace.popups.placement string right right, left, top, bottom
workspace.popups.open_in_new_pane bool true
workspace.popups.follow_pane_context bool true
workspace.popups.blank_target_behavior string pane pane, tab
workspace.popups.enable_smart_detection bool true
workspace.popups.oauth_auto_close bool true
workspace.styling.border_width int 1
workspace.styling.border_color string @theme_selected_bg_color
workspace.styling.mode_border_width int 4
workspace.styling.pane_mode_color string #4A90E2
workspace.styling.tab_mode_color string #FFA500
workspace.styling.session_mode_color string #9B59B6
workspace.styling.resize_mode_color string #00D4AA
workspace.styling.mode_indicator_toaster_enabled bool true
workspace.styling.transition_duration int 120
session.auto_restore bool false
session.snapshot_interval_ms int 5000
session.max_exited_sessions int 50
session.max_exited_session_age_days int 7
session.session_mode.activation_shortcut string ctrl+o
session.session_mode.timeout_ms int 3000
media.hardware_decoding string auto auto, force, disable
media.prefer_av1 bool false
media.show_diagnostics bool false
media.force_vsync bool false
media.gl_rendering_mode string auto auto, gles2, gl3, none
media.gstreamer_debug_level int 0 0-5
runtime.prefix string ``
clipboard.auto_copy_on_selection bool true
content_filtering.enabled bool true
content_filtering.auto_update bool true
update.enable_on_startup bool true
update.auto_download bool false
update.notify_on_new_settings bool true
performance.profile string default default, lite, max, custom
performance.skia_cpu_painting_threads int 0
performance.skia_gpu_painting_threads int -1
performance.skia_enable_cpu_rendering bool false
performance.web_process_memory_limit_mb int 0
performance.web_process_memory_poll_interval_sec float 0
performance.web_process_memory_conservative_threshold float 0
performance.web_process_memory_strict_threshold float 0
performance.network_process_memory_limit_mb int 0
performance.network_process_memory_poll_interval_sec float 0
performance.network_process_memory_conservative_threshold float 0
performance.network_process_memory_strict_threshold float 0
performance.webview_pool_prewarm_count int 4
performance.zoom_cache_size int 256
downloads.path string ``
source
1# Configuration Reference
2
3| Key | Type | Default | Valid Values |
4|-----|------|---------|--------------|
5| `database.path` | string | `~/.local/share/dumber/dumber.db` | |
6| `history.max_entries` | int | `10000` | > 0 |
7| `history.retention_period_days` | int | `365` | > 0 |
8| `history.cleanup_interval_days` | int | `1` | > 0 |
9| `default_search_engine` | string | `https://duckduckgo.com/?q=%s` | URL with `%s` |
10| `search_shortcuts.<name>.url` | string | | URL with `%s` |
11| `search_shortcuts.<name>.description` | string | | |
12| `dmenu.max_history_days` | int | `30` | >= 0 |
13| `dmenu.show_visit_count` | bool | `true` | |
14| `dmenu.show_last_visited` | bool | `true` | |
15| `dmenu.history_prefix` | string | `🕒` | |
16| `dmenu.shortcut_prefix` | string | `🔍` | |
17| `dmenu.url_prefix` | string | `🌐` | |
18| `dmenu.date_format` | string | `2006-01-02 15:04` | Go time format |
19| `dmenu.sort_by_visit_count` | bool | `true` | |
20| `omnibox.initial_behavior` | string | `recent` | `recent`, `most_visited`, `none` |
21| `omnibox.auto_open_on_new_pane` | bool | `false` | |
22| `logging.level` | string | `info` | `debug`, `info`, `warn`, `error` |
23| `logging.format` | string | `text` | `text`, `json` |
24| `logging.max_age` | int | `7` | >= 0 |
25| `logging.log_dir` | string | `~/.local/state/dumber/logs/` | |
26| `logging.enable_file_log` | bool | `true` | |
27| `logging.capture_console` | bool | `false` | |
28| `logging.capture_gtk_webkit_logs` | bool | `false` | |
29| `appearance.sans_font` | string | `Fira Sans` | |
30| `appearance.serif_font` | string | `Fira Sans` | |
31| `appearance.monospace_font` | string | `Fira Code` | |
32| `appearance.default_font_size` | int | `16` | |
33| `appearance.color_scheme` | string | `default` | `prefer-dark`, `prefer-light`, `default` |
34| `appearance.light_palette.background` | string | `#f8f8f8` | |
35| `appearance.light_palette.surface` | string | `#f2f2f2` | |
36| `appearance.light_palette.surface_variant` | string | `#ececec` | |
37| `appearance.light_palette.text` | string | `#1a1a1a` | |
38| `appearance.light_palette.muted` | string | `#6e6e6e` | |
39| `appearance.light_palette.accent` | string | `#404040` | |
40| `appearance.light_palette.border` | string | `#d2d2d2` | |
41| `appearance.dark_palette.background` | string | `#0e0e0e` | |
42| `appearance.dark_palette.surface` | string | `#1a1a1a` | |
43| `appearance.dark_palette.surface_variant` | string | `#141414` | |
44| `appearance.dark_palette.text` | string | `#e4e4e4` | |
45| `appearance.dark_palette.muted` | string | `#848484` | |
46| `appearance.dark_palette.accent` | string | `#a8a8a8` | |
47| `appearance.dark_palette.border` | string | `#363636` | |
48| `debug.enable_devtools` | bool | `true` | |
49| `rendering.mode` | string | `gpu` | `auto`, `gpu`, `cpu` |
50| `rendering.disable_dmabuf_renderer` | bool | `false` | |
51| `rendering.force_compositing_mode` | bool | `false` | |
52| `rendering.disable_compositing_mode` | bool | `false` | |
53| `rendering.gsk_renderer` | string | `auto` | `auto`, `opengl`, `vulkan`, `cairo` |
54| `rendering.disable_mipmaps` | bool | `false` | |
55| `rendering.prefer_gl` | bool | `false` | |
56| `rendering.draw_compositing_indicators` | bool | `false` | |
57| `rendering.show_fps` | bool | `false` | |
58| `rendering.sample_memory` | bool | `false` | |
59| `rendering.debug_frames` | bool | `false` | |
60| `default_ui_scale` | float | `1.0` | > 0 |
61| `default_webpage_zoom` | float | `1.2` | > 0 |
62| `workspace.new_pane_url` | string | `about:blank` | |
63| `workspace.switch_to_tab_on_move` | bool | `true` | |
64| `workspace.pane_mode.activation_shortcut` | string | `ctrl+p` | |
65| `workspace.pane_mode.timeout_ms` | int | `3000` | |
66| `workspace.tab_mode.activation_shortcut` | string | `ctrl+t` | |
67| `workspace.tab_mode.timeout_ms` | int | `3000` | |
68| `workspace.resize_mode.activation_shortcut` | string | `ctrl+n` | |
69| `workspace.resize_mode.timeout_ms` | int | `3000` | |
70| `workspace.resize_mode.step_percent` | float | `5.0` | |
71| `workspace.resize_mode.min_pane_percent` | float | `10.0` | |
72| `workspace.shortcuts.actions.toggle_floating_pane.keys` | []string | `alt+f` | key strings |
73| `workspace.shortcuts.actions.toggle_floating_pane.desc` | string | `Toggle floating pane` | |
74| `workspace.floating_pane.width_pct` | float | `0.82` | `(0,1]` |
75| `workspace.floating_pane.height_pct` | float | `0.72` | `(0,1]` |
76| `workspace.floating_pane.profiles.<name>.keys` | []string | | at least one key |
77| `workspace.floating_pane.profiles.<name>.url` | string | | required URL |
78| `workspace.floating_pane.profiles.<name>.desc` | string | | |
79| `workspace.popups.behavior` | string | `split` | `split`, `stacked`, `tabbed`, `windowed` |
80| `workspace.popups.placement` | string | `right` | `right`, `left`, `top`, `bottom` |
81| `workspace.popups.open_in_new_pane` | bool | `true` | |
82| `workspace.popups.follow_pane_context` | bool | `true` | |
83| `workspace.popups.blank_target_behavior` | string | `pane` | `pane`, `tab` |
84| `workspace.popups.enable_smart_detection` | bool | `true` | |
85| `workspace.popups.oauth_auto_close` | bool | `true` | |
86| `workspace.styling.border_width` | int | `1` | |
87| `workspace.styling.border_color` | string | `@theme_selected_bg_color` | |
88| `workspace.styling.mode_border_width` | int | `4` | |
89| `workspace.styling.pane_mode_color` | string | `#4A90E2` | |
90| `workspace.styling.tab_mode_color` | string | `#FFA500` | |
91| `workspace.styling.session_mode_color` | string | `#9B59B6` | |
92| `workspace.styling.resize_mode_color` | string | `#00D4AA` | |
93| `workspace.styling.mode_indicator_toaster_enabled` | bool | `true` | |
94| `workspace.styling.transition_duration` | int | `120` | |
95| `session.auto_restore` | bool | `false` | |
96| `session.snapshot_interval_ms` | int | `5000` | |
97| `session.max_exited_sessions` | int | `50` | |
98| `session.max_exited_session_age_days` | int | `7` | |
99| `session.session_mode.activation_shortcut` | string | `ctrl+o` | |
100| `session.session_mode.timeout_ms` | int | `3000` | |
101| `media.hardware_decoding` | string | `auto` | `auto`, `force`, `disable` |
102| `media.prefer_av1` | bool | `false` | |
103| `media.show_diagnostics` | bool | `false` | |
104| `media.force_vsync` | bool | `false` | |
105| `media.gl_rendering_mode` | string | `auto` | `auto`, `gles2`, `gl3`, `none` |
106| `media.gstreamer_debug_level` | int | `0` | 0-5 |
107| `runtime.prefix` | string | `` | |
108| `clipboard.auto_copy_on_selection` | bool | `true` | |
109| `content_filtering.enabled` | bool | `true` | |
110| `content_filtering.auto_update` | bool | `true` | |
111| `update.enable_on_startup` | bool | `true` | |
112| `update.auto_download` | bool | `false` | |
113| `update.notify_on_new_settings` | bool | `true` | |
114| `performance.profile` | string | `default` | `default`, `lite`, `max`, `custom` |
115| `performance.skia_cpu_painting_threads` | int | `0` | |
116| `performance.skia_gpu_painting_threads` | int | `-1` | |
117| `performance.skia_enable_cpu_rendering` | bool | `false` | |
118| `performance.web_process_memory_limit_mb` | int | `0` | |
119| `performance.web_process_memory_poll_interval_sec` | float | `0` | |
120| `performance.web_process_memory_conservative_threshold` | float | `0` | |
121| `performance.web_process_memory_strict_threshold` | float | `0` | |
122| `performance.network_process_memory_limit_mb` | int | `0` | |
123| `performance.network_process_memory_poll_interval_sec` | float | `0` | |
124| `performance.network_process_memory_conservative_threshold` | float | `0` | |
125| `performance.network_process_memory_strict_threshold` | float | `0` | |
126| `performance.webview_pool_prewarm_count` | int | `4` | |
127| `performance.zoom_cache_size` | int | `256` | |
128| `downloads.path` | string | `` | |

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