/better-control

contributing fork

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

⚙️ Better Control

A sleek GTK-themed control panel for Linux 🐧

AUR Package License: GPL v3 GitHub stars Latest Release


Important

🚧 This project is under active development. Contributions, feature requests, ideas, and testers are welcome!


✨ Features

  • 🔄 Seamless integration with your desktop environment
  • 📱 Modern, clean interface for system controls
  • 🎚️ Quick access to common system settings and tons of features
  • 🌙 Respects your system's light/dark theme settings
  • 🧩 Modular design - use only what you need and remove the ones you don't use (see dependencies for more info)
Dependencies

Before installing, ensure you have git and base-devel installed.

Core Dependencies

Dependency Purpose
GTK 3 UI framework
Python Libraries python-gobject, python-dbus, python-psutil, python-setproctitle

Feature-Specific Dependencies

Feature Required Packages
Wi-Fi Management NetworkManager, python-qrcode
Bluetooth BlueZ & BlueZ Utils
Audio Control PipeWire or PulseAudio
Brightness brightnessctl
Power Management power-profiles-daemon, upower
Blue Light Filter gammastep
USBGuard USBGuard
Pillow For QR Code on Wi-Fi

[!TIP] If you don't need a specific feature, you can safely omit its corresponding dependency and hide its tab in the settings.


💾 Installation & Uninstallation

🚀 Quick Install (Recommended)

The easiest way to install Better Control is using our automated installer script:

bash <(curl -s https://raw.githubusercontent.com/better-ecosystem/better-control/refs/heads/main/betterctl.sh)

What this script does:

  • Uses AUR for Arch-based distributions
  • Uses Makefile for other distributions
  • Automatically installs all required dependencies

Tip

Security conscious? You can review the installer script here before running it.

Supported Distributions:

  • 🔵 Arch-based (Arch, Manjaro, EndeavourOS, etc.)
  • 🟠 Debian-based (Ubuntu, Linux Mint, Pop!_OS, etc.)
  • 🔴 Fedora-based (Fedora, openSUSE, etc.)
  • 🟢 Void Linux
  • 🏔️ Alpine Linux

🔧 Manual Installation

For users who prefer manual installation or need more control over the process:

git clone https://github.com/better-ecosystem/better-control
cd better-control
sudo make install

For Arch Linux users, Better Control is also available on the AUR:

yay -S better-control-git

Important

When building manually, ensure you have all dependencies installed beforehand.

➡️ Nix/NixOS (Distro Independent) (Unofficial)

Better Control is available in the nixpkgs repository.

On NixOS:

nix-env -iA nixos.better-control

On Non-NixOS:

# without flakes:
nix-env -iA nixpkgs.better-control
# with flakes:
nix profile install nixpkgs#better-control

⚠️ Bleeding edge (Unstable): This flake will update to the latest commit automatically: Better Control Flake

🔄 Updates & Uninstallation

After installation, you can manage Better Control using the betterctl command:

betterctl  # Interactive menu for update/uninstall options

🫴 Usage

Use the control or better-control command to run the GUI application. Use control --help or better-control --help to see more specific launch commands you can use with tools like waybar.

You can use betterctl to update or uninstall the application.

Keybindings

Keybinding Action
Shift + S Open Settings Dialog
Q or Ctrl + Q Quit Application

📚 Contribution

If you want to contribute, see CONTRIBUTING.md

📄 License

This project is licensed under the GNU General Public License v3.0. See the LICENSE for more details.


🧪 Compatibility Matrix

Better Control has been tested on Arch Linux with Hyprland, GNOME, and KDE Plasma. It should work on most Linux distributions with minor adjustments.

Category Compatibility
Operating System Linux
Distributions Arch-based ✓ • Fedora-based ✓ • Debian-based ✓ • Void ✓ • Alpine ✓
Desktop Environments GNOME (tested) ✓ • KDE Plasma (tested) ✓ • XFCE • LXDE/LXQT
Window Managers Hyprland (tested) ✓ • Sway (tested) ✓ • i3 • Openbox • Fluxbox
Display Protocol Wayland (recommended) ✓ • X11 (partial functionality)

Note

If you test Better Control on a different setup, please share your experience in the discussions or issues section.


Made with ❤️ for the Linux community

Report BugRequest FeatureContribute