Stable v0.1.0

gartray

Quick settings panel for the gardesk desktop

gartray is a quick settings panel that provides easy access to system controls including volume, screen brightness, WiFi networks, Bluetooth devices, battery status, and power options. Designed for the gardesk ecosystem, it integrates with system services via D-Bus and provides a polished UI built on gartk. Note: System tray functionality has been moved to garbar.

🎯 RPM Available

Installation

gartray is available as an RPM package for Fedora and RHEL-compatible distributions.

Using DNF (Recommended)

$sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo
$sudo dnf install gartray

Building from Source

$git clone https://github.com/espadon/gardesk.git
$cd gardesk/gartray
$cargo build --release
$sudo cp target/release/gartray /usr/local/bin/
$sudo cp target/release/gartrayctl /usr/local/bin/

Dependencies

Runtime dependencies for all features:

  • wpctl - WirePlumber CLI for volume control (wireplumber package)
  • NetworkManager - WiFi management
  • BlueZ - Bluetooth support
  • UPower - Battery status
  • systemd - Power actions via login1
  • brightnessctl - Brightness control fallback (optional)
  • dunstctl - DND integration (optional, for dunst users)

Quick Start

Start the gartray daemon and show the quick settings panel:

Start the Daemon

$gartray daemon
INFO Starting gartray daemon INFO Connected to PipeWire via wpctl INFO Network module connected, WiFi enabled: true INFO Bluetooth module connected, powered: true INFO Power module connected to D-Bus

Show Quick Settings

$# Show at default position (0, 0)
$gartrayctl show
$# Show at specific screen position
$gartrayctl show 1200 50
$# Toggle panel visibility
$gartrayctl toggle 1200 50

Autostart with gar

Add gartray to your gar window manager startup:

-- ~/.config/gar/init.lua
gar.spawn("gartray daemon")

-- Bind to a key (e.g., Super+S)
gar.bind("super+s", function()
    -- Show panel at cursor position or fixed location
    gar.spawn("gartrayctl toggle 1200 50")
end)

Panel Features

The quick settings panel provides intuitive controls for common system settings:

Volume Control

Slider for system volume, mute toggle, real-time updates via WirePlumber/PipeWire.

Screen Brightness

Slider for backlight control, auto-detects laptop displays, uses sysfs or brightnessctl.

WiFi Networks

Toggle WiFi, scan for networks, connect with saved or new passwords, 802.1X enterprise support.

Bluetooth

Toggle Bluetooth, view paired devices, connect/disconnect, start discovery for new devices.

Battery Status

Display battery percentage, charging status, and estimated time remaining.

Power Options

Shutdown, reboot, suspend, hibernate, and logout via systemd-logind.