detached bdbf9d5

feat(config): add EnableDevTools setting and remove deprecated DNS prefetch

- Add EnableDevTools config field (default: true) to enable browser
  developer tools (F12, Inspect Element in context menu)
- Separate from EnableWebKitDebug which controls internal logging
- Remove deprecated SetEnableDnsPrefetching() call that caused warning
  in WebKitGTK 6 - DNS prefetching now uses NetworkSession.PrefetchDns()
commit
bdbf9d528ce6ea36762f61cc8bfec4add758d464
author
brice · · 2025-12-11 22:23 UTC
committer
brice · · 2025-12-11 17:14 UTC
parent
e1760bf
signature
unsigned
4 files · +8 -3
M internal/infrastructure/config/defaults.go +1 -0
@@ -141,6 +141,7 @@ func DefaultConfig() *Config {
141141 DisableTwitchCodecControl: true, // Disable codec control on Twitch by default (prevents theater/fullscreen freezing)
142142 },
143143 Debug: DebugConfig{
144+ EnableDevTools: true,
144145 EnableWebKitDebug: false,
145146 WebKitDebugCategories: "Network:preconnectTo,ContentFilters",
146147 EnableFilteringDebug: false,
@@ -141,6 +141,7 @@ func DefaultConfig() *Config {
141 DisableTwitchCodecControl: true, // Disable codec control on Twitch by default (prevents theater/fullscreen freezing)141 DisableTwitchCodecControl: true, // Disable codec control on Twitch by default (prevents theater/fullscreen freezing)
142 },142 },
143 Debug: DebugConfig{143 Debug: DebugConfig{
144+ EnableDevTools: true,
144 EnableWebKitDebug: false,145 EnableWebKitDebug: false,
145 WebKitDebugCategories: "Network:preconnectTo,ContentFilters",146 WebKitDebugCategories: "Network:preconnectTo,ContentFilters",
146 EnableFilteringDebug: false,147 EnableFilteringDebug: false,
M internal/infrastructure/config/loader.go +1 -0
@@ -285,6 +285,7 @@ func (m *Manager) setDefaults() {
285285 m.viper.SetDefault("logging.verbose_webkit", defaults.Logging.VerboseWebKit)
286286
287287 // Debug defaults
288+ m.viper.SetDefault("debug.enable_devtools", defaults.Debug.EnableDevTools)
288289 m.viper.SetDefault("debug.enable_webkit_debug", defaults.Debug.EnableWebKitDebug)
289290 m.viper.SetDefault("debug.webkit_debug_categories", defaults.Debug.WebKitDebugCategories)
290291 m.viper.SetDefault("debug.enable_filtering_debug", defaults.Debug.EnableFilteringDebug)
@@ -285,6 +285,7 @@ func (m *Manager) setDefaults() {
285 m.viper.SetDefault("logging.verbose_webkit", defaults.Logging.VerboseWebKit)285 m.viper.SetDefault("logging.verbose_webkit", defaults.Logging.VerboseWebKit)
286 286
287 // Debug defaults287 // Debug defaults
288+ m.viper.SetDefault("debug.enable_devtools", defaults.Debug.EnableDevTools)
288 m.viper.SetDefault("debug.enable_webkit_debug", defaults.Debug.EnableWebKitDebug)289 m.viper.SetDefault("debug.enable_webkit_debug", defaults.Debug.EnableWebKitDebug)
289 m.viper.SetDefault("debug.webkit_debug_categories", defaults.Debug.WebKitDebugCategories)290 m.viper.SetDefault("debug.webkit_debug_categories", defaults.Debug.WebKitDebugCategories)
290 m.viper.SetDefault("debug.enable_filtering_debug", defaults.Debug.EnableFilteringDebug)291 m.viper.SetDefault("debug.enable_filtering_debug", defaults.Debug.EnableFilteringDebug)
M internal/infrastructure/config/schema.go +3 -0
@@ -176,6 +176,9 @@ type OmniboxConfig struct {
176176
177177 // DebugConfig holds debug and troubleshooting options
178178 type DebugConfig struct {
179+ // Enable browser developer tools (F12, Inspect Element in context menu)
180+ EnableDevTools bool `mapstructure:"enable_devtools" yaml:"enable_devtools" toml:"enable_devtools"`
181+
179182 // Enable WebKit internal debug logging
180183 EnableWebKitDebug bool `mapstructure:"enable_webkit_debug" yaml:"enable_webkit_debug" toml:"enable_webkit_debug"`
181184
@@ -176,6 +176,9 @@ type OmniboxConfig struct {
176 176
177 // DebugConfig holds debug and troubleshooting options177 // DebugConfig holds debug and troubleshooting options
178 type DebugConfig struct {178 type DebugConfig struct {
179+ // Enable browser developer tools (F12, Inspect Element in context menu)
180+ EnableDevTools bool `mapstructure:"enable_devtools" yaml:"enable_devtools" toml:"enable_devtools"`
181+
179 // Enable WebKit internal debug logging182 // Enable WebKit internal debug logging
180 EnableWebKitDebug bool `mapstructure:"enable_webkit_debug" yaml:"enable_webkit_debug" toml:"enable_webkit_debug"`183 EnableWebKitDebug bool `mapstructure:"enable_webkit_debug" yaml:"enable_webkit_debug" toml:"enable_webkit_debug"`
181 184
M internal/infrastructure/webkit/settings.go +3 -3
@@ -72,12 +72,12 @@ func (sm *SettingsManager) applySettings(settings *webkit.Settings, cfg *config.
7272 }
7373
7474 // Debug settings
75- settings.SetEnableDeveloperExtras(cfg.Debug.EnableWebKitDebug)
75+ settings.SetEnableDeveloperExtras(cfg.Debug.EnableDevTools)
7676 settings.SetEnableWriteConsoleMessagesToStdout(cfg.Logging.CaptureConsole)
7777
7878 // Browsing experience
7979 settings.SetEnableSmoothScrolling(true)
80- settings.SetEnableDnsPrefetching(true)
80+ // Note: DNS prefetching setting deprecated in WebKitGTK 6 - use NetworkSession.PrefetchDns() instead
8181 settings.SetEnablePageCache(true)
8282 settings.SetEnableSiteSpecificQuirks(true)
8383
@@ -108,7 +108,7 @@ func (sm *SettingsManager) applySettings(settings *webkit.Settings, cfg *config.
108108 sm.logger.Debug().
109109 Str("sans_font", cfg.Appearance.SansFont).
110110 Str("rendering_mode", string(cfg.RenderingMode)).
111- Bool("developer_extras", cfg.Debug.EnableWebKitDebug).
111+ Bool("developer_extras", cfg.Debug.EnableDevTools).
112112 Msg("settings applied")
113113 }
114114
@@ -72,12 +72,12 @@ func (sm *SettingsManager) applySettings(settings *webkit.Settings, cfg *config.
72 }72 }
73 73
74 // Debug settings74 // Debug settings
75- settings.SetEnableDeveloperExtras(cfg.Debug.EnableWebKitDebug)75+ settings.SetEnableDeveloperExtras(cfg.Debug.EnableDevTools)
76 settings.SetEnableWriteConsoleMessagesToStdout(cfg.Logging.CaptureConsole)76 settings.SetEnableWriteConsoleMessagesToStdout(cfg.Logging.CaptureConsole)
77 77
78 // Browsing experience78 // Browsing experience
79 settings.SetEnableSmoothScrolling(true)79 settings.SetEnableSmoothScrolling(true)
80- settings.SetEnableDnsPrefetching(true)80+ // Note: DNS prefetching setting deprecated in WebKitGTK 6 - use NetworkSession.PrefetchDns() instead
81 settings.SetEnablePageCache(true)81 settings.SetEnablePageCache(true)
82 settings.SetEnableSiteSpecificQuirks(true)82 settings.SetEnableSiteSpecificQuirks(true)
83 83
@@ -108,7 +108,7 @@ func (sm *SettingsManager) applySettings(settings *webkit.Settings, cfg *config.
108 sm.logger.Debug().108 sm.logger.Debug().
109 Str("sans_font", cfg.Appearance.SansFont).109 Str("sans_font", cfg.Appearance.SansFont).
110 Str("rendering_mode", string(cfg.RenderingMode)).110 Str("rendering_mode", string(cfg.RenderingMode)).
111- Bool("developer_extras", cfg.Debug.EnableWebKitDebug).111+ Bool("developer_extras", cfg.Debug.EnableDevTools).
112 Msg("settings applied")112 Msg("settings applied")
113 }113 }
114 114

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