Complete overview of the setup

Setup Overview

This section documents the tools, configs, and workflows behind my daily setup. It combines real dotfiles, short tutorials, and practical context so the system is not just shown, but also explained.

The topics below cover the desktop, terminal, shell, notifications, widgets, Git, and supporting tools. Documentation files can be read as rendered guides, while config files stay available as raw source.

Selected File

firefox-scratchpad.sh

.config/waybar/scripts/firefox-scratchpad.sh

#!/bin/bash
# Shows Firefox scratchpad status in Waybar.
# "visible" = scratchpad is currently shown on screen
# "hidden"  = Firefox is running in scratchpad but toggled off
# "empty"   = scratchpad doesn't exist yet

echo "$(date): script called" >> /tmp/waybar-debug.log
visible=$(hyprctl monitors -j | jq '[.[] | select(.specialWorkspace.name == "special:firefox")] | length')
exists=$(hyprctl workspaces -j | jq '[.[] | select(.name == "special:firefox")] | length')

if [ "$visible" -gt 0 ]; then
    printf '{"text": "\uf269", "class": "visible", "tooltip": "Firefox Scratchpad (offen)"}\n'
elif [ "$exists" -gt 0 ]; then
    printf '{"text": "\uf269", "class": "hidden", "tooltip": "Firefox Scratchpad (versteckt)"}\n'
else
    printf '{"text": "\uf269", "class": "empty", "tooltip": "Firefox Scratchpad (nicht gestartet)"}\n'
fi