{
  // Workspaces
  "hyprland/workspaces": {
    "on-scroll-up": "hyprctl dispatch workspace r-1",
    "on-scroll-down": "hyprctl dispatch workspace r+1",
    "on-click": "activate",
    "active-only": true,
    "all-outputs": true,
    "format": "{icon}",
    "format-icons": {
      "2": "",
      "1": "",
      "3": "",
      "4": "",
      "urgent": "",
      "focused": "",
      "default": ""
    },
    "persistent-workspaces": {
      "*": 5
    }
  },
  "mpd": {
    "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
    "format-disconnected": "Disconnected ",
    "format-stopped": "no music",
    "unknown-tag": "N/A",
    "interval": 5,
    "consume-icons": {
      "on": " "
    },
    "random-icons": {
      "off": "<span color=\"#f53c3c\"></span> ",
      "on": " "
    },
    "repeat-icons": {
      "on": " "
    },
    "single-icons": {
      "on": "1 "
    },
    "state-icons": {
      "paused": "",
      "playing": ""
    },
    "tooltip-format": "MPD (connected)",
    "tooltip-format-disconnected": "MPD (disconnected)"
  },
  "custom/playerctl": {
      "interval": 1,
      "tooltip": false,
      "return-type": "json",
      "format": "",
      "format-icons": {
          "Playing": "|>",
          "Paused": "||"
      },
      "exec": "~/.config/waybar/custom/playerctl.sh",
    "on-click-right": "playerctl next",
      "on-click": "playerctl play-pause",
      "on-scroll-up": "playerctl position 1+",
      "on-scroll-down": "playerctl position 1-",
      "signal": 5
  },
  "group/playerctl": {
    "orientation": "inherit",
    "children-class": "playerctl",
    "modules": [
      "custom/playerctl-prev",
      "custom/playerctl-pause-play",
      "custom/playerctl-next",
      "custom/playerctl-title"
    ]
 
  },
  "custom/playerctl-artist": {
    "interval": 1,
    "format": "{}",
    "return-type": "json",
    "exec": "playerctl metadata --format '{\"text\": \"{{markup_escape(artist)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}}'",
    "on-click": "playerctl play-pause",
  },
  "custom/playerctl-title": {
    "interval": 1,
    "format": "{}",
    "return-type": "json",
    "exec": "~/.config/waybar/custom/playerctl.sh",
    "on-click": "playerctl play-pause",
      "on-scroll-up": "playerctl position 1+",
      "on-scroll-down": "playerctl position 1-",
  },
  "custom/playerctl-prev": {
    "interval": 1,
    "format": "",
    "return-type": "json",
    "exec": "playerctl metadata --format '{\"alt\": \"{{status}}\", \"class\": \"{{status}}\"}}'",
    "on-click": "playerctl previous",
      "on-scroll-up": "playerctl position 1+",
      "on-scroll-down": "playerctl position 1-",
  },
  "custom/playerctl-pause-play": {
    "interval": 1,
   "format": "{icon}",
    "format-icons": {
      "Playing": "",
      "Paused": ""
    },
    "return-type": "json",
    "exec": "playerctl metadata --format '{\"alt\": \"{{status}}\", \"class\": \"{{status}}\"}}'",
    "on-click": "playerctl play-pause",
      "on-scroll-up": "playerctl position 1+",
      "on-scroll-down": "playerctl position 1-",
  },
  "custom/playerctl-next": {
    "interval": 1,
    "format": "",
    "return-type": "json",
    "exec": "playerctl metadata --format '{\"alt\": \"{{status}}\", \"class\": \"{{status}}\"}}'",
    "on-click": "playerctl next",
      "on-scroll-up": "playerctl position 1+",
      "on-scroll-down": "playerctl position 1-",
  },



  // Taskbar
  "wlr/taskbar": {
    "format": "{icon}",
    "icon-size": 18,
    "tooltip-format": "{title}",
    "on-click": "activate",
    "on-click-middle": "close",
    "ignore-list": ["Alacritty", "kitty"],
    "app_ids-mapping": {
      "firefoxdeveloperedition": "firefox-developer-edition"
    },
    "rewrite": {
      "Firefox Web Browser": "Firefox",
      "Foot Server": "Terminal"
    }
  },

  // Hyprland Window
  "hyprland/window": {
    "rewrite": {
      "(.*) - Brave": "$1",
      "(.*) - Chromium": "$1",
      "(.*) - Brave Search": "$1",
      "(.*) - Outlook": "$1",
      "(.*) Microsoft Teams": "$1"
    },
    "separate-outputs": true
  },
  "custom/layout": {
    "exec": "~/.config/waybar/get_layout.sh",
    "on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next",
    "on-click-right": "hyprctl switchxkblayout at-translated-set-2-keyboard prev",
    "interval": 1
  },

  // ML4W Welcome App
  // Empty
  "custom/empty": {
    "format": ""
  },

  // Empty
  "custom/tools": {
    "format": "",
    "tooltip-format": "Tools"
  },

  // Rofi Application Launcher
  "custom/appmenu": {
    // START APPS LABEL
    "format": "",
    // END APPS LABEL
    "on-click": "sleep 0.2;rofi -show drun -replace",
    "on-click-right": "~/dotfiles/hypr/scripts/keybindings.sh",
    "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings"
  },

  // Rofi Application Launcher
  "custom/appmenuicon": {
    "format": "",
    "on-click": "wofi --show drun",
    "on-click-right": "~/dotfiles/hypr/scripts/keybindings.sh",
    "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings"
  },

  // Power Menu
  "custom/exit": {
    "format": "",
    "on-click": "wlogout",
    "tooltip-format": "Power Menu"
  },

  // Keyboard State
  "keyboard-state": {
    "numlock": true,
    "capslock": true,
    "format": "{name} {icon}",
    "format-icons": {
      "locked": "",
      "unlocked": ""
    }
  },

  // System tray
  "tray": {
    "icon-size": 21,
    "spacing": 10
  },

  // Clock
  "clock": {
    "format": "{:%H:%M %a}",
    // "timezone": "Russia/Moscow",
    "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
    // START CLOCK FORMAT
    "format-alt": "{:%Y-%m-%d}"
    // END CLOCK FORMAT
  },

  // System
  "custom/system": {
    "format": "",
    "tooltip": false
  },

  // CPU
  "cpu": {
    "format": "/ C {usage}% ",
    "on-click": "~/dotfiles/.settings/systeminfo.sh"
  },

  // Memory
  "memory": {
    "format": "/ M {}% ",
    "on-click": "~/dotfiles/.settings/systeminfo.sh"
  },

  // Harddisc space used
  "disk": {
    "interval": 30,
    "format": "D {percentage_used}% ",
    "path": "/",
    "on-click": "~/dotfiles/.settings/systeminfo.sh"
  },

  "hyprland/language": {
    "format": "/ K {short}"
  },

  // Group Hardware
  "group/hardware": {
    "orientation": "inherit",
    "drawer": {
      "transition-duration": 300,
      "children-class": "not-memory",
      "transition-left-to-right": false
    },
    "modules": ["custom/system", "disk", "cpu", "memory", "hyprland/language"]
  },

  // Group Tools
  "group/tools": {
    "orientation": "inherit",
    "drawer": {
      "transition-duration": 300,
      "children-class": "not-memory",
      "transition-left-to-right": false
    },
    "modules": [
      "custom/tools",
      "custom/cliphist",
      "custom/hypridle",
      "custom/hyprshade"
    ]
  },

  // Group Links
  "group/links": {
    "orientation": "horizontal",
    "modules": [
      "custom/chatgpt",
      "custom/empty"      
    ]
  },

  // Group Settings
  "group/settings": {
    "orientation": "inherit",
    "drawer": {
      "transition-duration": 300,
      "children-class": "not-memory",
      "transition-left-to-right": true
    },
    "modules": [
      "custom/settings",
      "custom/waybarthemes",
      "custom/wallpaper"
    ]
  },

  // Network
  "network": {
    "format": "{ifname}",
    "format-wifi": "   {signalStrength}%",
    "format-ethernet": "   {ifname}",
    "format-disconnected": "Disconnected",
    "tooltip-format": " {ifname} via {gwaddri}",
    "tooltip-format-wifi": "  {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}",
    "tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}",
    "tooltip-format-disconnected": "Disconnected",
    "max-length": 50,
    "on-click": "alacritty --class=cursor-float -e nmtui",
    "on-click-right": "~/dotfiles/.settings/networkmanager.sh"
  },

  // Battery
  "battery": {
    "states": {
      // "good": 95,
      "warning": 30,
      "critical": 15
    },
    "format": "{icon}  {capacity}%",
    "format-charging": "🗲  {capacity}%",
    "format-plugged": "  {capacity}%",
    "format-alt": "{icon}  {time}",
    // "format-good": "", // An empty format will hide the module
    // "format-full": "",
    "format-icons": [" ", " ", " ", " ", " "]
  },

  // Pulseaudio
  "pulseaudio": {
    // "scroll-step": 1, // %, can be a float
    "format": "{icon}   {volume}%",
    "format-bluetooth": "{volume}% {icon}  {format_source}",
    "format-bluetooth-muted": " {icon} {format_source}",
    "format-muted": " {format_source}",
    "format-source": "{volume}% ",
    "format-source-muted": "",
    "format-icons": {
      "headphone": " ",
      "hands-free": " ",
      "headset": " ",
      "phone": " ",
      "portable": " ",
      "car": " ",
      "default": ["", "", ""]
    },
    "on-click": "pavucontrol"
  },

  // Bluetooth
  "bluetooth": {
    "format": " {status}",
    "format-disabled": "",
    "format-off": "",
    "interval": 30,
    "on-click": "blueman-manager",
    "format-no-controller": ""
  },

  // Other
  "user": {
    "format": "{user}",
    "interval": 60,
    "icon": false
  },

  // backlight:
  "backlight": {
    "format": "{icon} {percent}%",
    "format-icons": [
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      "",
      ""
    ],
    "scroll-step": 1
  }
}