βœ“ Stable v0.1.0

gargears

Centralized settings center for the gardesk desktop

gargears provides a unified graphical interface for configuring all 11 gardesk ecosystem components. It connects to running daemons via IPC for real-time changes, writes Lua/TOML configuration files for persistence, and offers both standalone GUI and persistent daemon modes for quick access via keybindings.

🎯 RPM Available

Installation

gargears 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 gargears

Building from Source

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

Quick Start

Launch gargears to configure your gardesk desktop:

GUI Mode (One-Shot)

$# Open settings GUI
$gargears
$
$# Open directly to a specific panel
$gargears --panel garbar
$gargears --panel garbg

Daemon Mode (Persistent)

Run as a background daemon for instant access via keybindings:

$# Start daemon (forks to background)
$gargears --daemon
$
$# Toggle visibility from anywhere
$gargearsctl toggle
$
$# Start in foreground (for debugging)
$gargears --daemon --no-fork

Autostart Configuration

Add to your gar window manager startup for instant settings access:

-- ~/.config/gar/init.lua

-- Start gargears daemon on login
gar.spawn("gargears --daemon")

-- Bind Super+comma for settings (like macOS System Preferences)
gar.bind("super+comma", function()
    gar.spawn("gargearsctl toggle")
end)

-- Bind Super+Shift+S for screenshot settings
gar.bind("super+shift+s", function()
    gar.spawn("gargears --panel garshot")
end)

Configurable Components

gargears provides configuration panels for all 11 gardesk ecosystem components:

gar

Lua

Tiling window manager - borders, gaps, focus behavior, layout defaults

garbar

Lua

Status bar - height, position, visibility, module configuration

garbg

TOML

Wallpaper manager - sources, slideshow, fit mode, animations

garterm

TOML

Terminal emulator - font, colors, scrollback, keybindings

gartray

Lua

Quick settings panel - modules, width, position

garshot

TOML

Screenshot utility - format, quality, save path, clipboard behavior

garlock

TOML

Screen locker - idle timeout, blur effect, appearance

garfield

TOML

File explorer - default view mode, hidden files, preview settings

garclip

TOML

Clipboard manager - history size, filters, persistent storage

garlaunch

TOML

Application launcher - search behavior, history, appearance

garnotify

TOML

Notification daemon - timeout, position, appearance rules

Key Features

Live Preview

Changes are applied in real-time via IPC when components are running. Toggle bar visibility, change wallpapers, adjust colors - see effects instantly.

Persistent Config

Save changes to Lua (gar, garbar) or TOML (other components) configuration files. Settings persist across restarts.

Instant Access

Daemon mode provides instant window appearance via keybinding. No startup delay - the window is always ready to show.

Component Status

Each panel shows connection status with color indicators: green for connected, red for not running.

Dirty Tracking

Unsaved changes are indicated with an orange marker. Reset reverts to original values, Apply sends via IPC.

Rich Widget System

10 widget types including toggles, number inputs, dropdowns, color pickers, sliders, and collapsible sections.