Skip to content

Repository files navigation

Gnome Browser Switcher

Browser Switcher Icon

One-click default browser switching from the Gnome Shell panel

Installation • Features • Requirements • Development • Support


Features

Feature Description
🚀 Simple & Fast One-click browser switching
🎯 Zero Configuration Works out of the box
🪶 Lightweight No external dependencies
🔄 Auto-Detection Finds all installed browsers automatically
🎨 Native Integration Matches Gnome Shell design
⚡ Non-Blocking Async operations for smooth performance

Use Case

Perfect for users who work with different browser profiles for different tasks — for example, separate work and personal SSO authentication.

Screenshot

Installation

From extensions.gnome.org (Recommended)

https://extensions.gnome.org/extension/8836/browser-switcher/

Manual Installation

  1. Download the latest release from Releases

  2. Install and enable:

gnome-extensions install browser-switcher@totoshko88.github.io.shell-extension.zip
gnome-extensions enable browser-switcher@totoshko88.github.io
  1. Restart Gnome Shell:
    • Wayland: Log out and log back in
    • X11 (GNOME 49 and earlier): Press Alt+F2, type r, press Enter

Uninstallation

gnome-extensions disable browser-switcher@totoshko88.github.io
gnome-extensions uninstall browser-switcher@totoshko88.github.io

Requirements

  • Gnome Shell 45–50
  • xdg-utils (pre-installed on most Linux distributions)
  • At least one web browser with a valid .desktop file

How It Works

Browser Detection: Scans XDG data directories and Flatpak directories for .desktop files with WebBrowser category:

  • XDG Data Directories (XDG_DATA_DIRS): System-wide applications including /usr/share/applications, /usr/local/share/applications, and system-wide Flatpaks
  • XDG User Directory (XDG_DATA_HOME): User-installed applications at ~/.local/share/applications
  • Flatpak User Directory: User-installed Flatpaks at ~/.local/share/flatpak/exports/share/applications

Default Browser Management: Uses xdg-settings for cross-desktop compatibility.

Panel Icon Appearance

Open Browser Switcher's Preferences from Extension Manager and use Desaturate panel icon to choose whether only the system-panel icon is shown in grayscale. The choice is saved and takes effect immediately; browser icons in the menu retain their color.

Development

Local Testing

# Copy to extension directory
cp *.js ~/.local/share/gnome-shell/extensions/browser-switcher@totoshko88.github.io/
glib-compile-schemas schemas
cp -r schemas ~/.local/share/gnome-shell/extensions/browser-switcher@totoshko88.github.io/

# Restart extension
gnome-extensions disable browser-switcher@totoshko88.github.io
gnome-extensions enable browser-switcher@totoshko88.github.io

# View logs
journalctl -f -o cat | grep "Browser Switcher"

Building Release

gnome-extensions pack --force --out-dir=. \
  --extra-source=browserManager.js \
  --extra-source=indicator.js \
  --extra-source=menuBuilder.js \
  --extra-source=prefs.js \
  --schema=schemas/org.gnome.shell.extensions.browser-switcher.gschema.xml .

Contributing

Contributions welcome! Please ensure:

  • Code follows existing style
  • All subprocess calls are asynchronous
  • Tested on Gnome Shell 45+

Support

If you find this extension useful, consider supporting development:

Monobank Donatello

License

GPL-3.0 — Made with ❤️ in Ukraine 🇺🇦

About

Gnome Browser Switcher is a Gnome Shell extension that provides a quick way to switch your default browser via the system tray. The extension uses standard Gnome Shell APIs to integrate with the panel and GIO/GSettings to manage system browser settings.

Resources

Stars

14 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages