client/systray: allow specifying tailscaled socket

Pass a local.Client to systray.Run, so we can use the existing global
localClient in the cmd/tailscale CLI.  Add socket flag to cmd/systray.

Updates #1708

Change-Id: Ia101a4a3005adb9118051b3416f5a64a4a45987d
Signed-off-by: Will Norris <will@tailscale.com>
This commit is contained in:
Will Norris
2025-08-04 17:09:32 -07:00
committed by Will Norris
parent 5bb42e3018
commit 9f29c428f4
3 changed files with 17 additions and 5 deletions

View File

@@ -48,7 +48,12 @@ var (
)
// Run starts the systray menu and blocks until the menu exits.
func (menu *Menu) Run() {
// If client is nil, a default local.Client is used.
func (menu *Menu) Run(client *local.Client) {
if client == nil {
client = &local.Client{}
}
menu.lc = client
menu.updateState()
// exit cleanly on SIGINT and SIGTERM
@@ -71,7 +76,7 @@ func (menu *Menu) Run() {
type Menu struct {
mu sync.Mutex // protects the entire Menu
lc local.Client
lc *local.Client
status *ipnstate.Status
curProfile ipn.LoginProfile
allProfiles []ipn.LoginProfile