From 527792716fab8133fe998b6f6e8d3701a7a01ee8 Mon Sep 17 00:00:00 2001 From: Warrick Bayman Date: Mon, 28 Sep 2026 16:10:48 +0200 Subject: [PATCH] Remove the fallback browser and unmatched-link pickers from the menu. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both are set rarely and already live in Settings → General, so the menu bar menu no longer repeats them. The website's menu description now points to Settings → General for these options. Co-Authored-By: Claude Opus 5.5 --- WrangURL/UI/MenuBarView.swift | 34 ---------------------------------- docs/index.html | 3 +-- 2 files changed, 1 insertion(+), 36 deletions(-) diff --git a/WrangURL/UI/MenuBarView.swift b/WrangURL/UI/MenuBarView.swift index 5452b75..34aca0c 100644 --- a/WrangURL/UI/MenuBarView.swift +++ b/WrangURL/UI/MenuBarView.swift @@ -1,7 +1,6 @@ import SwiftUI struct MenuBarView: View { - @Environment(ConfigStore.self) private var config @Environment(BrowserRegistry.self) private var browsers @Environment(URLRouter.self) private var router @Environment(DefaultBrowserManager.self) private var defaultBrowser @@ -28,25 +27,6 @@ struct MenuBarView: View { Divider() - Picker("Fallback Browser", selection: fallbackBrowserID) { - ForEach(browsers.browsers) { browser in - Label { - Text(browser.name) - } icon: { - if let icon = browsers.menuIcon(forID: browser.id) { - Image(nsImage: icon) - } - } - .tag(Optional(browser.id)) - } - } - Picker("When No Rule Matches", selection: unmatchedBehavior) { - Text("Open in Fallback Browser").tag(UnmatchedBehavior.openFallback) - Text("Ask Which Browser to Use").tag(UnmatchedBehavior.showPicker) - } - - Divider() - Section("Recent Links") { if router.recent.isEmpty { Text("No links yet") @@ -89,20 +69,6 @@ struct MenuBarView: View { } } - private var fallbackBrowserID: Binding { - Binding( - get: { config.config.settings.fallbackBrowserID }, - set: { id in config.update { $0.settings.fallbackBrowserID = id } } - ) - } - - private var unmatchedBehavior: Binding { - Binding( - get: { config.config.settings.unmatchedBehavior }, - set: { behavior in config.update { $0.settings.unmatchedBehavior = behavior } } - ) - } - private func recentTitle(for entry: URLRouter.Entry) -> String { let url = entry.url.absoluteString.truncated(to: 50) if let rule = entry.ruleName { diff --git a/docs/index.html b/docs/index.html index 1db9834..e76959f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -346,7 +346,6 @@

Menu bar and settings

The menu bar icon gives you quick access to the things you change most:

  • whether WrangURL is the default browser, with a button to set it again;
  • -
  • the fallback browser, and what happens when no rule matches;
  • Recent Links. Choose one to copy it;
  • History…, Edit Rules…, Settings…, Open at Login and Check for Updates….
@@ -361,7 +360,7 @@

Menu bar and settings

- Settings → General covers the same routing options, plus launch at login, automatic updates, whether URLs are logged, whether to keep a history, and your configuration. + Settings → General covers the fallback browser and what happens when no rule matches, plus launch at login, automatic updates, whether URLs are logged, whether to keep a history, and your configuration. Use Import… and Export… to move your rules and settings between Macs as a JSON file.