Beta

gartray

Quick Settings Panel

A quick settings panel with controls for volume, brightness, network (including enterprise WiFi), bluetooth, battery status, and power options. Built with zbus for D-Bus integration and gartk for X11/Cairo rendering.

Features

  • Quick settings panel with system controls
  • Volume control via WirePlumber/PipeWire
  • Brightness control via sysfs backlight
  • Network management via NetworkManager
  • Enterprise WiFi (802.1X) with EAP form UI
  • Bluetooth control via BlueZ
  • Battery status via UPower
  • Power actions via systemd-logind
  • Do Not Disturb toggle (dunst integration)
  • Keyboard navigation with Escape, Tab, and arrow keys
  • IPC control via gartrayctl

Quick Start Guide

Get gartray running as a standalone quick settings panel or integrated with garbar.

1. Installation

Install gartray using the unified installer or build from source:

terminal
$ curl -fsSL https://gar.musicsian.com/install.sh | bash -s -- --component=gartray # Install via script
$ cd ~/.local/src/gardesk/gartray && cargo build --release # Or build from source

2. System Dependencies

gartray requires these system services for full functionality:

System Services
  • PipeWire/WirePlumber - Volume control
  • NetworkManager - Network/WiFi control
  • BlueZ - Bluetooth control
  • UPower - Battery status
  • systemd-logind - Power actions
  • dunst - Do Not Disturb (optional)

3. Running gartray

gartray runs as a daemon with three modes:

terminal
$ gartray daemon # Start the daemon
$ gartray panel # Show quick settings panel
$ gartray toggle # Toggle panel visibility

4. Configuration

Create a configuration file at ~/.config/gartray/config.toml:

terminal
$ mkdir -p ~/.config/gartray # Create config directory
$ $EDITOR ~/.config/gartray/config.toml # Edit configuration

5. Control with gartrayctl

Use gartrayctl to control the running daemon:

terminal
$ gartrayctl show 100 200 # Show panel at position (100, 200)
$ gartrayctl hide # Hide the panel
$ gartrayctl toggle # Toggle panel visibility
$ gartrayctl reload # Reload configuration
$ gartrayctl status # Get daemon status
$ gartrayctl quit # Stop the daemon