Instant default web browser switching right from your macOS menu bar.
Swift
0
11 commits
updated Sep 28, 2026
Instant default web browser switching right from your macOS menu bar.
On modern macOS, switching your default browser requires:
If you frequently test web applications across Safari, Chrome, Arc, Brave, Firefox, Edge, or developer browsers, this workflow is slow and disruptive.
DefaultBrowserChanger lives quietly in your menu bar (tray) as an elegant Globe icon:
SMAppService toggle so it's always ready when you turn on your Mac.Today's power users, developers, and AI practitioners rarely live in just one browser:
When clicking an email verification, a Slack link, or an app's "Sign in with Google / GitHub" button, macOS opens it blindly in your default browser. If your default browser isn't signed into the right account, you end up with:
With DefaultBrowserChanger, you click the Globe, select the browser where your active session lives, and click the link. The exact browser you want captures the authentication callback immediately — no profile switching, no URL copying, no friction.
DefaultBrowserChanger.zip.DefaultBrowserChanger.app into your /Applications folder.Ensure you have Xcode Command Line Tools installed (xcode-select --install).
git clone https://github.com/bsormagec/DefaultBrowserChanger.git
cd DefaultBrowserChanger
# Build and install directly to /Applications
./build.sh --install
# Launch the app
open /Applications/DefaultBrowserChanger.app
✓).⌘Q).macOS considers the default browser preference protected. DefaultBrowserChanger uses LaunchServices and background AppleScript via System Events to confirm the selection automatically.
DefaultBrowserChanger/
├── Sources/
│ ├── Models/
│ │ └── BrowserApp.swift # Browser data model
│ ├── Services/
│ │ ├── BrowserManager.swift # Discovery, filtering, & LaunchServices switcher
│ │ └── SystemHelper.swift # Launch at Login, notifications, & sound
│ ├── UI/
│ │ └── MenuBarController.swift # NSStatusItem, template icon, & dynamic NSMenu
│ ├── AppDelegate.swift # App lifecycle & notification delegate
│ └── main.swift # NSApplication activation policy (.accessory)
├── Resources/
│ ├── Info.plist # LSUIElement = true (pure menu bar agent)
│ ├── AppIcon.icns # Multi-resolution macOS icon bundle
│ └── AppIcon.png # 1024x1024 Retina asset
├── Tests/
│ └── TestBrowserDetection.swift # Verification suite
├── build.sh # Automated compilation and install script
└── docs/
└── assets/ # Screenshots and demo assets
Contributions are welcome! Please read CONTRIBUTING.md for details on code style, build instructions, and the pull request process.
This project is licensed under the MIT License - see the LICENSE file for details.
Swift
94.5%
Shell
5.5%
Instant default web browser switching right from your macOS menu bar.
Swift
0
11 commits
updated Sep 28, 2026
Instant default web browser switching right from your macOS menu bar.
On modern macOS, switching your default browser requires:
If you frequently test web applications across Safari, Chrome, Arc, Brave, Firefox, Edge, or developer browsers, this workflow is slow and disruptive.
DefaultBrowserChanger lives quietly in your menu bar (tray) as an elegant Globe icon:
SMAppService toggle so it's always ready when you turn on your Mac.Today's power users, developers, and AI practitioners rarely live in just one browser:
When clicking an email verification, a Slack link, or an app's "Sign in with Google / GitHub" button, macOS opens it blindly in your default browser. If your default browser isn't signed into the right account, you end up with:
With DefaultBrowserChanger, you click the Globe, select the browser where your active session lives, and click the link. The exact browser you want captures the authentication callback immediately — no profile switching, no URL copying, no friction.
DefaultBrowserChanger.zip.DefaultBrowserChanger.app into your /Applications folder.Ensure you have Xcode Command Line Tools installed (xcode-select --install).
git clone https://github.com/bsormagec/DefaultBrowserChanger.git
cd DefaultBrowserChanger
# Build and install directly to /Applications
./build.sh --install
# Launch the app
open /Applications/DefaultBrowserChanger.app
✓).⌘Q).macOS considers the default browser preference protected. DefaultBrowserChanger uses LaunchServices and background AppleScript via System Events to confirm the selection automatically.
DefaultBrowserChanger/
├── Sources/
│ ├── Models/
│ │ └── BrowserApp.swift # Browser data model
│ ├── Services/
│ │ ├── BrowserManager.swift # Discovery, filtering, & LaunchServices switcher
│ │ └── SystemHelper.swift # Launch at Login, notifications, & sound
│ ├── UI/
│ │ └── MenuBarController.swift # NSStatusItem, template icon, & dynamic NSMenu
│ ├── AppDelegate.swift # App lifecycle & notification delegate
│ └── main.swift # NSApplication activation policy (.accessory)
├── Resources/
│ ├── Info.plist # LSUIElement = true (pure menu bar agent)
│ ├── AppIcon.icns # Multi-resolution macOS icon bundle
│ └── AppIcon.png # 1024x1024 Retina asset
├── Tests/
│ └── TestBrowserDetection.swift # Verification suite
├── build.sh # Automated compilation and install script
└── docs/
└── assets/ # Screenshots and demo assets
Contributions are welcome! Please read CONTRIBUTING.md for details on code style, build instructions, and the pull request process.
This project is licensed under the MIT License - see the LICENSE file for details.
Swift
94.5%
Shell
5.5%