diff --git a/v3/examples/plugins/main.go b/v3/examples/plugins/main.go index fe02b81f7..e113a3d16 100644 --- a/v3/examples/plugins/main.go +++ b/v3/examples/plugins/main.go @@ -51,7 +51,8 @@ func main() { }) app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{ - DevToolsEnabled: true, + DevToolsEnabled: true, + OpenInspectorOnStartup: true, }) err := app.Run() diff --git a/v3/pkg/application/linux_cgo.go b/v3/pkg/application/linux_cgo.go index 6e9d40cb6..5eda30b74 100644 --- a/v3/pkg/application/linux_cgo.go +++ b/v3/pkg/application/linux_cgo.go @@ -927,6 +927,11 @@ func windowSetupSignalHandlers(windowId uint, window, webview pointer, emit func C.signal_connect((*C.GtkWidget)(unsafe.Pointer(webview)), event, C.onKeyPressEvent, unsafe.Pointer(&id)) } +func windowShowDevTools(webview pointer) { + inspector := C.webkit_web_view_get_inspector((*C.WebKitWebView)(webview)) + C.webkit_web_inspector_show(inspector) +} + func windowToggleDevTools(webview pointer) { settings := C.webkit_web_view_get_settings((*C.WebKitWebView)(webview)) enabled := C.webkit_settings_get_enable_developer_extras(settings) diff --git a/v3/pkg/application/webview_window_linux.go b/v3/pkg/application/webview_window_linux.go index 33f9126a7..177c09710 100644 --- a/v3/pkg/application/webview_window_linux.go +++ b/v3/pkg/application/webview_window_linux.go @@ -309,6 +309,10 @@ func (w *linuxWebviewWindow) setResizable(resizable bool) { windowSetResizable(w.window, resizable) } +func (w *linuxWebviewWindow) showDevTools() { + windowShowDevTools(w.webview) +} + func (w *linuxWebviewWindow) toggleDevTools() { showDevTools(w.webview) } @@ -423,6 +427,9 @@ func (w *linuxWebviewWindow) run() { } if w.parent.options.DevToolsEnabled { w.toggleDevTools() + if w.parent.options.OpenInspectorOnStartup { + w.showDevTools() + } } }