A GTK control panel for linux written in C++
Inspired by better-control.
Ultimate Control is a GTK-based application that provides a unified interface for managing various system settings on Linux. It features a tabbed interface with lazy loading for improved performance.
- Manage output and input audio devices
- Control volume levels with visual sliders
- Mute/unmute devices with a single click
- Separate tabs for input and output devices
- View and connect to available wireless networks
- Toggle WiFi on/off with a convenient switch
- Display signal strength with intuitive icons
- Share network details via QR codes
- Forget saved networks
- Scan for and discover nearby Bluetooth devices
- Connect to paired and new Bluetooth devices
- Display signal strength with intuitive icons
- Connected devices appear at the top with check marks
- Forget paired devices with a single click
- Toggle Bluetooth on/off with a convenient switch
- Adjust screen brightness with real-time feedback
- Control blue light filter (color temperature)
- Visual indicators for current settings
- System power controls (shutdown, reboot)
- Session management (suspend, hibernate, lock)
- Power profile selection for battery optimization
- Customizable power commands
Ultimate Control requires the following dependencies:
- GTK+ 3.0 or later
- gtkmm-3.0
- CMake 3.10 or later
- C++17 compatible compiler
- BlueZ (for Bluetooth functionality)
# Clone the repository
git clone https://github.com/FelipeFMA/ultimate-control.git
cd ultimate-control
# Create build directory
mkdir build
cd build
# Configure and build
cmake ..
make
# Run the application
./ultimate-controlFor Arch Linux users, you can install the package from the AUR:
yay -S ultimate-controlUltimate Control provides an intuitive tabbed interface for managing various system settings:
- Adjust volume levels using sliders
- Mute/unmute devices with toggle buttons
- Switch between input and output devices
- Toggle WiFi on/off with the switch
- Click "Scan" to refresh available networks
- Click "Connect" to join a network
- Use "Forget" to remove saved networks
- Share network details via QR code
- Toggle Bluetooth on/off with the switch
- Click "Scan" to discover nearby devices
- Click "Connect" to pair and connect to devices
- Use "Forget" to remove paired devices
- Connected devices appear at the top with check marks
- Adjust screen brightness with the slider
- Control blue light filter intensity
- Use system power buttons for shutdown and reboot
- Manage session with suspend, hibernate, and lock options
- Select power profiles for performance/battery optimization
- Configure power commands via settings
Ultimate Control supports various command-line options:
Usage: ultimate-control [OPTIONS]
Options:
-v, --volume Start with the Volume tab selected
-w, --wifi Start with the WiFi tab selected
-b, --bluetooth Start with the Bluetooth tab selected
-d, --display Start with the Display tab selected
-p, --power Start with the Power tab selected
-s, --settings Start with the Settings tab selected
-m, --minimal Start in minimal mode with notebook tabs hidden
-f, --float Start as a floating window on tiling window managers
# Start with WiFi tab
ultimate-control --wifi
# Start with Bluetooth tab
ultimate-control --bluetooth
# Start with Power tab in minimal mode
ultimate-control -p -m
# Start as a floating window (useful for tiling window managers)
ultimate-control --float
# On Hyprland, this will automatically run:
# hyprctl --batch 'keyword windowrule float,class:^(ultimate-control)$'
# When floating mode is disabled, it will run:
# hyprctl --batch 'keyword windowrulev2 unset,class:^(ultimate-control)$'
# Combine options: WiFi tab, minimal mode, and floating window
ultimate-control -w -m -fultimate-control/
βββ src/
β βββ main.cpp # Main application entry point
β βββ core/ # Core functionality
β βββ volume/ # Volume control module
β βββ wifi/ # WiFi management module
β βββ bluetooth/ # Bluetooth management module
β βββ display/ # Display settings module
β βββ power/ # Power management module
β βββ settings/ # Application settings
β βββ utils/ # Utility functions and classes
βββ CMakeLists.txt # CMake build configuration
βββ logo.svg # Application logo
# Create and enter build directory
mkdir build
cd build
# Configure
cmake ..
# Build
makeBitcoin:
bc1qnkq7hf6r53fg73jh3awfsn6ydeh87u5cf8hs3g
Ko-fi: https://ko-fi.com/felipefma
Paypal: felipefmavelar@gmail.com
Brazilian Pix: felipefmavelar@gmail.com
This project is licensed under the GNU General Public License v3.0 (GPL-3.0) - see the LICENSE file for details.
The GPL-3.0 license ensures that the software remains free and open source, requiring that any derivative works also be distributed under the same license terms.
Made with β€οΈ by Felipe Avelar





