// =============================================================================
//
// Waybar configuration
//
// Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
//
// =============================================================================

[{
    // -------------------------------------------------------------------------
    // Global configuration
    // -------------------------------------------------------------------------

    "layer": "top",

    "position": "top",

    // If height property would be not present, it'd be calculated dynamically
    "height": 30,

    "modules-left": [
        "sway/workspaces",
    ],
    "modules-center": [
        "sway/window"
    ],
    "modules-right": [
        "network",
        //"custom/keyboard-layout",
        "battery",
        "pulseaudio",
        "custom/notification",
        "clock#date",
        "clock#time"
    ],


    // -------------------------------------------------------------------------
    // Modules
    // -------------------------------------------------------------------------
    "custom/notification": {
      "tooltip": false,
      "format": "{icon}",
      "format-icons": {
        "notification": "<span foreground='red'><sup></sup></span>",
        "none": " ",
        "dnd-notification": "<span foreground='red'><sup></sup></span>",
        "dnd-none": " ",
        "inhibited-notification": "<span foreground='red'><sup></sup></span>",
        "inhibited-none": " ",
        "dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
        "dnd-inhibited-none": " "
      },
      "return-type": "json",
      "exec-if": "which swaync-client",
      "exec": "swaync-client -swb",
      "on-click": "swaync-client -t -sw",
      "on-click-right": "swaync-client -d -sw",
      "escape": true
    },
    "battery": {
        "interval": 10,
        "states": {
            "warning": 30,
            "critical": 15
        },
        // Connected to AC
        "format": " {icon}  {capacity}%", // Icon: bolt
        // Not connected to AC
        "format-discharging": "{icon}  {capacity}%",
        "format-icons": [
            "", // Icon: battery-full
            "", // Icon: battery-three-quarters
            "", // Icon: battery-half
            "", // Icon: battery-quarter
            ""  // Icon: battery-empty
        ],
        "tooltip": true
    },

    "clock#time": {
        "interval": 1,
        "format": "{:%H:%M:%S}",
        "tooltip": false
    },

    "clock#date": {
      "interval": 10,
      "format": " {:%e %b %Y}", // Icon: calendar-alt
      "tooltip-format": "{:%e %B %Y}"
    },


    "custom/keyboard-layout": {
      "exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
      // Interval set only as a fallback, as the value is updated by signal
      "interval": 30,
      "format": "  {}", // Icon: keyboard
      // Signal sent by Sway key binding (~/.config/sway/key-bindings)
      "signal": 1, // SIGHUP
      "tooltip": false
    },


    "network": {
        "interval": 5,
        "format-wifi": "  {essid} ({signalStrength}%)", // Icon: wifi
        "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
        "format-disconnected": "⚠ Disconnected",
        "tooltip-format": "{ifname}: {ipaddr}"
    },


    "sway/window": {
        "format": "{}",
        "max-length": 120
    },

    "sway/workspaces": {
        "all-outputs": false,
        "disable-scroll": true,
        "format": "{icon} {name}",
        "format-icons": {
            "1": "",
            //"1:www": "龜", // Icon: firefox-browser
            "2": "",
            //"2:mail": "", // Icon: mail
            "3": "",
            //"3:editor": "", // Icon: code
            "4": "",
            //"4:terminals": "", // Icon: terminal
            "5": "",
            //"5:portal": "", // Icon: terminal
            "6": "",
            "urgent": "",
            "focused": "",
            "default": "",
        }
    },

    "pulseaudio": {
        //"scroll-step": 1,
        "format": "{icon} {volume}%",
        "format-bluetooth": "{icon} {volume}%",
        "format-muted": "",
        "format-icons": {
            "headphones": "",
            "handsfree": "",
            "headset": "",
            "phone": "",
            "portable": "",
            "car": "",
            "default": ["", ""]
        },
        "on-click": "pavucontrol"
    },
},
{
  "layer": "bottom",
  "position": "bottom",
  "height": 24,
  "modules-left": [
    "backlight",
    "sway/mode",
  ],
  "modules-right": [
        "memory",
        "cpu",
        "disk",
        "temperature",
        "tray",
  ],
    "temperature": {
      "critical-threshold": 80,
      "interval": 5,
      "format": "{icon} {temperatureC}°C",
      "format-icons": [
          "", // Icon: temperature-empty
          "", // Icon: temperature-quarter
          "", // Icon: temperature-half
          "", // Icon: temperature-three-quarters
          ""  // Icon: temperature-full
      ],
      "tooltip": true
    },
    "memory": {
        "interval": 5,
        //"format": "  {}%", // Icon: memory
        "format": " {used:0.1f}/{total:0.1f}GiB", // Icon: memory
        "states": {
            "warning": 70,
            "critical": 90
        }
    },
    "cpu": {
        "interval": 5,
        "format": " {usage}% ({load})", // Icon: microchip
        "states": {
          "warning": 70,
          "critical": 90
        }
    },
    "disk": {
      "interval": 30,
      "format": " {used}/{total}"
    },
    "tray": {
        "icon-size": 21,
        "spacing": 10
    },
    "backlight": {
      "device": "intel_backlight",
      "format": " {icon} {percent}%",
      //"format-icons": ["", ""]
    },
    "sway/mode": {
        "format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
        "tooltip": false
    },
}]
