A sleek, macOS-style quick access menu for Linux. Built with GTK4 and Rust.
BitPop is a modern system menu that pops up with a keyboard shortcut, giving you instant access to:
- Clock & Date - Large, easy-to-read 12-hour time format with AM/PM
- Battery Status - Current battery percentage and charging status
- App Launcher - Search and launch applications quickly
- Quick Controls - Toggle WiFi and Bluetooth on/off, see connected networks/devices
- Power Actions - Log out, suspend, restart, or shut down your system
The menu follows your system's GTK theme and uses proper system icons so everything looks native.
- Clean Design - Minimal, centered popup that doesn't clutter your screen
- Keyboard Friendly - Full keyboard navigation with Tab and Enter
- Quick Access - Press Super/Command key again to toggle close
- Smart Search - Type to filter apps instantly
- System Integration - Uses your existing GTK icon theme and colors
- Auto-Close - Click outside the menu or press ESC to dismiss
- Linux system with GTK4
- NetworkManager (for WiFi controls)
- BlueZ/bluetoothctl (for Bluetooth controls)
- systemd (for power actions)
Arch Linux:
sudo pacman -S gtk4 networkmanager bluezUbuntu/Debian:
sudo apt install libgtk-4-dev network-manager bluezFedora:
sudo dnf install gtk4-devel NetworkManager bluez- Clone the repository:
git clone https://github.com/ganeshspeaks/bitpop.git
cd bitpop- Build the project:
cargo build --release- Install to your system:
sudo cp target/release/bitpop /usr/local/bin/
sudo chmod +x /usr/local/bin/bitpop- (Optional) Copy desktop file for application menu:
sudo cp bitpop.desktop /usr/share/applications/To open BitPop with a keyboard shortcut:
GNOME:
- Open Settings → Keyboard → Keyboard Shortcuts
- Click "+" to add custom shortcut
- Name: BitPop
- Command:
bitpop - Set your preferred key combination (e.g., Super+Space)
KDE:
- Open System Settings → Shortcuts → Custom Shortcuts
- Edit → New → Global Shortcut → Command/URL
- Trigger: Set your key combination
- Action:
bitpop
i3/Sway: Add to your config:
bindsym $mod+space exec bitpop
- Use your configured keyboard shortcut, or
- Run
bitpopfrom terminal, or - Click the BitPop icon in your application menu
- Type - Search for apps immediately
- Tab - Move focus from search to quick controls
- Enter - Launch selected app or activate focused button
- ESC - Close menu (clears search first if text present)
- Super/Command - Toggle menu open/close
- Click outside - Close menu
- WiFi - Shows "On" or "Off". Displays connected network name when available
- Bluetooth - Shows "On" or "Off". Displays connected device name when available
- Airplane Mode - Disables all radios
BitPop automatically uses your system's GTK theme and icon theme. To customize appearance:
- Change your GTK theme in system settings
- Change your icon theme in system settings
- Restart BitPop to apply changes
Make sure you have a complete icon theme installed:
# Arch
sudo pacman -S adwaita-icon-theme
# Ubuntu/Debian
sudo apt install adwaita-icon-theme
# Fedora
sudo dnf install adwaita-icon-themeEnsure NetworkManager is running:
systemctl status NetworkManagerEnsure Bluetooth service is running:
systemctl status bluetooth- Check if another instance is running (lock file at
/tmp/bitpop.lock) - Try running from terminal to see error messages:
bitpop - Ensure GTK4 is properly installed
src/
├── main.rs # Application entry point
├── ui.rs # Main window and UI components
├── system.rs # WiFi, Bluetooth, and battery functions
├── apps.rs # App launcher and desktop file parsing
└── icons.rs # Icon loading utilities
cargo buildcargo runcargo build --releaseMIT License - See LICENSE file for details
Built with:
