// ~/.config/waybar/config.jsonc
[
    {
        "name": "top",
        "layer": "top",
        "position": "top",
        "height": 34,
        "spacing": 4,
        "margin-top": 6,
        "margin-left": 10,
        "margin-right": 10,

        "modules-left": [
            "hyprland/workspaces",
            "hyprland/window"
        ],
        "modules-center": [
            "clock"
        ],
        "modules-right": [
            "tray",
            "custom/power_status"
        ],

        // --- Standard Modules ---
        "hyprland/workspaces": {
            "format": "{icon}",
            "on-click": "activate"
        },
        "hyprland/window": {
            "format": "{}",
            "max-length": 50
        },
        "clock": {
            "format": "{:%a %d %b %H:%M}",
            "on-click-right": "xdg-open https://calendar.proton.me/u/0/month &> /dev/null & disown",
            "tooltip": false
        },
        "tray": {
            "icon-size": 18,
            "spacing": 10
        },

        // --- Fluxo-rs Power ---
        "custom/power_status": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs power",
            "on-click": "~/.config/hypr/scripts/powermenu.sh & disown",
            "interval": 5
        }
    },
    {
        "name": "bottom",
        "layer": "top",
        "position": "bottom",
        "height": 34,
        "spacing": 4,
        "margin-bottom": 6,
        "margin-left": 10,
        "margin-right": 10,

        "modules-left": [
            "custom/sys",
            "custom/cpu",
            "custom/mem",
            "custom/network"
        ],
        "modules-center": [
            "custom/gamemode"
        ],
        "modules-right": [
            "custom/disk-root",
            "custom/bluetooth-audio",
            "custom/volume",
            "custom/mic"
        ],

        // --- Fluxo-rs System & Hardware ---
        "custom/sys": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs sys",
            "interval": 5
        },
        "custom/cpu": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs cpu",
            "on-click": "zenmonitor & disown",
            "interval": 3
        },
        "custom/mem": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs mem",
            "interval": 3
        },
        "custom/network": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs net",
            "interval": 2
        },

        // --- Fluxo-rs Utilities ---
        "custom/disk-root": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs disk /",
            "interval": 30
        },
        "custom/gamemode": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs game",
            "on-click": "~/.config/hypr/scripts/gamemode.sh & disown",
            "interval": 1
        },

        // --- Fluxo-rs Audio & BT ---
        "custom/volume": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs vol",
            "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
            "on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+",
            "on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-",
            "on-click-right": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs vol --cycle",
            "on-click-middle": "pavucontrol",
            "interval": 2
        },
        "custom/mic": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs mic",
            "on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
            "on-scroll-up": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+",
            "on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-",
            "on-click-right": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs mic --cycle",
            "on-click-middle": "pavucontrol",
            "interval": 2
        },
        "custom/bluetooth-audio": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs bt",
            "on-click": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs bt disconnect",
            "interval": 3
        }

        // --- Commented Out Modules ---
        /*
        "custom/gpu": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs gpu",
            "on-click": "lact gui & disown",
            "interval": 3
        },
        "custom/btrfs": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs pool",
            "interval": 30
        },
        "custom/pixelbuds_pro": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds",
            "on-click": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds connect & disown",
            "on-click-right": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds cycle_anc & disown",
            "interval": 5
        },
        "custom/gpu-screen-recorder": {
            "format": "{}",
            "return-type": "json",
            "exec": "~/.config/waybar/scripts/gpu-screen-recorder-status.sh",
            "on-click-right": "~/.config/hypr/scripts/replay-ctrl.sh save & disown",
            "on-click-middle": "nautilus ~/Videos/replay & disown",
            "on-click": "~/.config/waybar/scripts/toggle-replay.sh & disown",
            "interval": 1
        }
        */
    }
]
