Files
dotfiles/dot_config/quickshell/shared/Config.qml.tmpl
s0wlz (Matthias Puchstein) c5f7162ebb quickshell: add initial bar config with per-monitor workspaces
- Vertical bar on DP-2 with rounded-square pills throughout
- Per-monitor workspace groups sorted by screen x position, with
  Nerd Font icons for named workspaces and apex-neon red active indicator
- Bar layout: datetime+weather top, workspaces centered, gamemode+media+notif+system bottom
- Popouts anchor to triggering icon (top-right for datetime/weather, bottom-right for media/notif/system)
- Lock command switched from hyprlock to swaylock
- Hyprland blur/ignore_alpha layerrules for quickshell namespace

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 20:00:54 +02:00

63 lines
2.6 KiB
Cheetah

pragma Singleton
import Quickshell
import QtQuick
Singleton {
readonly property string home: Quickshell.env("HOME")
// Appearance
// apexFlavor: "neon" (dark) or "aeon" (light) — synced from chezmoi data.theme
readonly property string apexFlavor: "{{ trimPrefix "apex-" .chezmoi.config.data.theme }}"
readonly property bool transparency: true // semi-transparent backgrounds (needs Hyprland blur layerrule)
// Monitor — quickshell bar lives on the rightmost monitor (portrait, DP-2)
readonly property string monitor: "DP-2"
// Workspaces — show all 10; Hyprland IPC tracks per-monitor active workspace
readonly property int workspaceCount: 10
// Weather
readonly property string weatherLocation: "Nospelt"
readonly property bool useCelsius: true
readonly property string tempUnit: useCelsius ? "°C" : "°F"
readonly property string windUnit: useCelsius ? "km/h" : "mph"
readonly property int forecastDays: 5
readonly property int weatherRefreshMs: 1800000
// Disk mounts to monitor
readonly property string diskMount1: "/"
readonly property string diskMount1Label: "/"
readonly property string diskMount2: home + "/data"
readonly property string diskMount2Label: "/data"
// Scripts
readonly property string scriptsDir: home + "/.config/quickshell/scripts"
readonly property string gpuScript: scriptsDir + "/gpu.sh"
// Idle daemon
readonly property string idleProcess: "hypridle"
readonly property string lockCommand: "swaylock"
// Power commands
readonly property var powerActions: [
{ command: ["swaylock"] },
{ command: ["hyprshutdown"] },
{ command: ["hyprshutdown", "-t", "Restarting...", "--post-cmd", "systemctl reboot"] },
{ command: ["hyprshutdown", "-t", "Powering off...", "--post-cmd", "systemctl poweroff"] }
]
// Network filter (interfaces to exclude from IP display)
readonly property string netExcludePattern: "127.0.0\\|docker\\|br-\\|veth"
// DateTime / Calendar
readonly property bool use24h: true
readonly property string clockFormat: use24h ? "HH:mm" : "hh:mm A"
readonly property string clockSecondsFormat: use24h ? "HH:mm:ss" : "hh:mm:ss A"
readonly property string dateFormat: "dddd, d MMMM yyyy"
readonly property string pillDateFormat: "ddd\nd"
readonly property string pillTimeFormat: use24h ? "HH\nmm" : "hh\nmm"
readonly property bool weekStartsMonday: true
readonly property var dayHeaders: weekStartsMonday ? ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"] : ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
}