Projects

Systems utilities and services written for Linux desktop environments, terminal audio playback, and competitive community operations.

C (C99), Wayland layer-shell, Cairo, Qt6, POSIX signals

Most Linux crosshair tools rely on X11 root window hacks that fail under native Wayland, or open standard windows that capture mouse clicks and interrupt games. crosshair-overlay renders on Wayland's overlay layer surface using gtk-layer-shell. Input passthrough is enabled on the surface, so clicks and mouse motion pass straight through to the underlying game.

Cairo handles reticle rendering (dots, hollow rings, crosshairs, and subpixel offsets) with anti-aliasing and border strokes. The daemon catches SIGUSR1 signals: sending crosshair reload triggers a signal handler that re-reads the config file and redraws without restarting the process. It includes crosshair-gui, a companion Qt6 dialog that inherits system styling.

Install

git clone https://github.com/vrdq/crosshair-overlay.git
cd crosshair-overlay
./install.sh
Python 3, mpv IPC, CAVA FIFO, Textual, D-Bus MPRIS 2

The official Spotify desktop client uses significant RAM and does not respect Wayland tiling rules. spoff is a terminal audio player built with Textual that streams audio from YouTube Music while syncing Spotify playlists. Played tracks cache to ~/.local/share/spoff/cache/ for offline playback.

The player runs mpv as a subprocess and issues playback commands over a local Unix domain socket. For the visualizer, it routes raw PCM audio through a cava FIFO pipe, rendering 60 FPS spectrum bars inside the terminal. It parses synchronized LRC lyrics files for seeking and exposes a D-Bus MPRIS 2 interface for hardware media keys, Waybar widgets, and system lockscreens.

Install

# Arch Linux (AUR)
yay -S spoff

# Build from source
git clone https://github.com/vrdq/spoff.git
cd spoff && ./install.sh

Tierlist Discord Bot

github.com/vrdq
Python 3, discord.py, Tierlist APIs, Mojang REST API, SQLite, Linux systemd

Competitive Minecraft communities maintain verified player skill tiers across several independent tier lists (such as VTL, Light, and Lunar). Checking a player's standing across different rosters previously required consulting multiple disparate spreadsheets or websites.

I built a custom Discord bot that interfaces with tierlist APIs across multiple community TLs, allowing players and staff to query verified tiers and ranking histories directly through Discord commands.

The bot queries Mojang's REST API to resolve Minecraft usernames to permanent UUIDs, preventing name-change spoofing, and parses live tiers from tierlist APIs to display verified player standings and combat records through Discord slash commands.

Arch Linux, CachyOS, Hyprland (Lua), Kitty, Fish, ble.sh

Personal desktop configuration for Arch Linux and CachyOS, configured for low input latency and themed with a dark monochrome Oxocarbon palette.

Hyprland is configured via Lua with tearing enabled and direct scanout active for full-screen games, bypassing compositor rendering overhead. The terminal environment uses Kitty with Fish for daily shell interactions and Bash with ble.sh for syntax highlighting.

The installer script backs up existing configurations before symlinking and includes an automatic rollback script.

Install

curl -fsSL https://raw.githubusercontent.com/vrdq/dotfiles/main/install.sh | bash