From e9498716f9b8c7eff9132eb6dee46da27feba226 Mon Sep 17 00:00:00 2001 From: bbedward Date: Mon, 21 Sep 2026 22:14:42 -0400 Subject: [PATCH] dankbar: trace goth wings and adjacent-bar seams in the border outline fixes #3502 --- core/internal/server/sysupdate/executor.go | 5 +++- .../server/sysupdate/executor_test.go | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/core/internal/server/sysupdate/executor.go b/core/internal/server/sysupdate/executor.go index 470b103a2..f35203c60 100644 --- a/core/internal/server/sysupdate/executor.go +++ b/core/internal/server/sysupdate/executor.go @@ -140,8 +140,11 @@ exit "$dms_update_status"` var argv []string execFlag := "-e" switch term { - case "kitty", "alacritty", "wezterm": + case "kitty", "alacritty": argv = []string{term, "--class", appID, "-T", title} + case "wezterm": + argv = []string{term, "start", "--always-new-process", "--class", appID} + execFlag = "--" case "foot": argv = []string{term, "--app-id=" + appID, "--title=" + title} case "ghostty": diff --git a/core/internal/server/sysupdate/executor_test.go b/core/internal/server/sysupdate/executor_test.go index 0a2c7b1c7..ef2f5b08c 100644 --- a/core/internal/server/sysupdate/executor_test.go +++ b/core/internal/server/sysupdate/executor_test.go @@ -4,10 +4,36 @@ import ( "errors" "os" "os/exec" + "slices" "strings" "testing" ) +func TestTerminalWrapperWezterm(t *testing.T) { + for _, tt := range []struct { + name string + extraArgs []string + want []string + }{ + { + name: "update", + want: []string{"wezterm", "start", "--always-new-process", "--class", "com.danklinux.dms", "--", "sh", "-c"}, + }, + { + name: "extra arguments", + extraArgs: []string{"--cwd", "/tmp/system update"}, + want: []string{"wezterm", "start", "--always-new-process", "--class", "com.danklinux.dms", "--cwd", "/tmp/system update", "--", "sh", "-c"}, + }, + } { + t.Run(tt.name, func(t *testing.T) { + argv := wrapInTerminal("wezterm", "Test", "true", tt.extraArgs) + if len(argv) != len(tt.want)+1 || !slices.Equal(argv[:len(argv)-1], tt.want) { + t.Fatalf("argv = %q, want %q followed by the update script", argv, tt.want) + } + }) + } +} + func TestTerminalWrapperPreservesExitStatus(t *testing.T) { for _, tt := range []struct { command string