TabCtl
Command-line browser tab control with seamless desktop integration.
TabCtl enables powerful command-line control of browser tabs across Firefox and Chrome-based browsers. Built for developers and power users who prefer keyboard-driven workflows. Currently, for Linux only.

Features
- Universal Browser Support - Works with Firefox, Chrome, Zen, and Brave browsers
- D-Bus Architecture - Secure local communication without network dependencies
- Desktop Integration - Automatic window focus and workspace switching
- Rofi Integration - Lightning-fast fuzzy search across all open tabs
- Privacy Focused - No data collection, all operations remain local
Quick Start
Installation
Arch Linux (AUR)
# Install from AUR
yay -S tabctl
# or
paru -S tabctl
From Source
# Clone and build
git clone https://github.com/slastra/tabctl
cd tabctl
go build -o tabctl ./cmd/tabctl
go build -o tabctl-mediator ./cmd/tabctl-mediator
Setup
# Install native messaging host
./tabctl install

Browser Extensions
Install the extension for your browser:
- Firefox based: Install from Mozilla Add-ons
- Chrome based: Install from Chrome Web Store
- Brave: Use the Chrome Web Store link above
Or install manually from source:
- Firefox/Zen:
extensions/firefox/ - Chrome/Brave: Load unpacked from
extensions/chrome/
Basic Usage
# List all open tabs
tabctl list
# Activate a specific tab
tabctl activate f.1.234
# Close multiple tabs
tabctl close f.1.234 f.1.235
# Query tabs by title or URL
tabctl query github
Rofi Integration
TabCtl includes powerful Rofi integration for visual tab management:
# X11 with wmctrl
scripts/rofi-wmctrl.sh
# Wayland with Hyprland
scripts/rofi-hyprctl.sh
The Rofi integration provides instant fuzzy search across all tabs with automatic desktop/workspace switching when activating tabs.
Documentation
- Architecture Overview - Technical design and implementation details
- Privacy Policy - Our commitment to your privacy
- GitHub Repository - Source code and issue tracking
Contributing
TabCtl is open source software released under the MIT License. Contributions are welcome! Please see our GitHub repository for development guidelines and issue tracking.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Latest Release: v1.1.3
Acknowledgments
TabCtl was inspired by BroTab, rewritten in Go with a D-Bus architecture and a Manifest v3 Chrome extension.