//* ---- 💫 https://github.com/JaKooLit 💫 ---- *//
/* Waybar Modules */

{
/* NOTE: hyprland-workspaces on a separate file */
// Weather and Temperature Modules as this is most like to change always. 
// Result is of course easier to edit
"custom/weather": {
	"format": "{}",
	"format-alt": "{alt}: {}",
	"format-alt-click": "click",
	"interval": 3600,
	"return-type": "json",
	"exec": "$HOME/.config/hypr/UserScripts/Weather.sh",
	//"exec": "$HOME/.config/hypr/UserScripts/Weather.py",
	"exec-if": "ping wttr.in -c1",
	"tooltip": true,
},
"temperature": {
	"interval": 10,
	"tooltip": true,
	"hwmon-path": [
		"/sys/class/hwmon/hwmon1/temp1_input",
		"/sys/class/thermal/thermal_zone0/temp"
	],
	//"thermal-zone": 0,
	"critical-threshold": 82,
	"format-critical": "{temperatureC}°C {icon}",
	"format": "{temperatureC}°C {icon}",
	"format-icons": [
		"󰈸"
	],
	"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
},
"temperature#vertical": {
	"interval": 10,
	"tooltip": true,
	"hwmon-path": [
		"/sys/class/hwmon/hwmon1/temp1_input",
		"/sys/class/thermal/thermal_zone0/temp"
	],
	//"thermal-zone": 0,
	"critical-threshold": 80,
	"format-critical": "{icon}\n{temperatureC}°C",
	"format": " {icon}",
	"format-icons": [
		"󰈸"
	],
	"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
},


// GROUP
"group/motherboard": {
	"orientation": "horizontal",
	"modules": [
		"cpu",
		"memory",
		"temperature",
		"disk",
	]
},
"group/mobo_drawer": {
	"orientation": "inherit",
	"drawer": {
		"transition-duration": 500,
		"children-class": "cpu",
		"transition-left-to-right": true
        },
	"modules": [
		"temperature",		
		"cpu",	
		"memory",
		"disk",
	]
},
"group/laptop": {
	"orientation": "inherit",
	"modules": [
		"backlight",
		"battery",
	]
},
"group/audio": {
	"orientation": "inherit",
	"drawer": {
		"transition-duration": 500,
		"children-class": "pulseaudio",
		"transition-left-to-right": true
        },
	"modules": [
		"pulseaudio",
		"pulseaudio#microphone",
	]
},
"group/connections": {
	"orientation": "inherit",
	"drawer": {
		"transition-duration": 500,
		"children-class": "bluetooth",
		"transition-left-to-right": true
        },
	"modules": [
		"network",
		"bluetooth",
	]
},
"backlight": {
	"interval": 2,
	"align": 0,
	"rotate": 0,
	//"format": "{icon} {percent}%",
	"format-icons": [
		" ",
		" ",
		" ",
		"󰃝 ",
		"󰃞 ",
		"󰃟 ",
		"󰃠 "
	],
	"format": "{icon}",
	//"format-icons": ["","","","","","","","","","","","","","",""],
	"tooltip-format": "backlight {percent}%",
	"icon-size": 10,
	"on-click": "",
	"on-click-middle": "",
	"on-click-right": "",
	"on-update": "",
	"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
	"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
	"smooth-scrolling-threshold": 1,
},
"backlight#2": {
  "device": "intel_backlight",
  "format": "{icon} {percent}%",
  "format-icons": ["", ""]
},
"battery": {
	//"interval": 5,
	"align": 0,
	"rotate": 0,
	//"bat": "BAT1",
	//"adapter": "ACAD",
	"full-at": 100,
	"design-capacity": false,
	"states": {
		"good": 95,
		"warning": 30,
		"critical": 15
	},
	"format": "{icon} {capacity}%",
	"format-charging": " {capacity}%",
	"format-plugged": "󱘖 {capacity}%",
	"format-alt-click": "click",
	"format-full": "{icon} Full",
	"format-alt": "{icon} {time}",
	"format-icons": [
		"󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"
	],
	"format-time": "{H}h {M}min",
	"tooltip": true,
	"tooltip-format": "{timeTo} {power}w",
	"on-click-middle": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
	"on-click-right": "$HOME/.config/hypr/scripts/Wlogout.sh",
},
"bluetooth": {
	"format": "",
	"format-disabled": "󰂳",
	"format-connected": "󰂱 {num_connections}",
	"tooltip-format": " {device_alias}",
	"tooltip-format-connected": "{device_enumerate}",
	"tooltip-format-enumerate-connected": " {device_alias} 󰂄{device_battery_percentage}%",
	"tooltip": true,
	"on-click": "blueman-manager",
},
"clock": {
	"interval": 1,
    //"format": " {:%I:%M %p}", // AM PM format
    "format": " {:%H:%M:%S}", // 24H
	"format-alt": " {:%H:%M   %Y, %d %B, %A}",
	"tooltip-format": "<tt><small>{calendar}</small></tt>",
	"calendar": {
		"mode": "year",
		"mode-mon-col": 3,
		"weeks-pos": "right",
		"on-scroll": 1,
		"format": {
			"months": "<span color='#ffead3'><b>{}</b></span>",
			"days": "<span color='#ecc6d9'><b>{}</b></span>",
			"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
			"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
			"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
		}
	}
},
"actions": {
	"on-click-right": "mode",
	"on-click-forward": "tz_up",
	"on-click-backward": "tz_down",
	"on-scroll-up": "shift_up",
	"on-scroll-down": "shift_down"
},
"clock#2": {
    //"format": " {:%I:%M %p}", // AM PM format
    "format": "  {:%H:%M}", // 24H
    "format-alt": "{:%A  |  %H:%M  |  %e %B}",
    "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
},
"clock#3": {
    //"format": "{:%I:%M %p - %d/%b}", //for AM/PM
    "format": "{:%H:%M - %d/%b}", // 24H
	"tooltip": false
},
"clock#4": {
	"interval": 60,
    //"format": "{:%B | %a %d, %Y | %I:%M %p}", // AM PM format
    "format": "{:%B | %a %d, %Y | %H:%M}", // 24H
	"format-alt": "{:%a %b %d, %G}",
	"tooltip-format": "<big>{:%B %Y}</big>\n<tt><small>{calendar}</small></tt>",
},
"clock#5": {
    //"format": "{:%A, %I:%M %P}", // AM PM format
    "format": "{:%a %d | %H:%M}", // 24H
	"format-alt": "{:%A, %d %B, %Y (%R)}"
},
"cpu": {
	"format": "{usage}% 󰍛",
	"interval": 1,
	"min-length": 5,
	"format-alt-click": "click",
	"format-alt": "{icon0}{icon1}{icon2}{icon3} {usage:>2}% 󰍛",
	"format-icons": [
		"▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"
	],
	"on-click-right": "gnome-system-monitor",
},
"disk": {
	"interval": 30,
	//"format": "󰋊",
	"path": "/",
	//"format-alt-click": "click",
	"format": "{percentage_used}% 󰋊",
	//"tooltip": true,
	"tooltip-format": "{used} used out of {total} on {path} ({percentage_used}%)",
},
"hyprland/language": {
	"format": "Lang: {}",
	"format-en": "US",
	"format-tr": "Korea",
	"keyboard-name": "at-translated-set-2-keyboard",
	"on-click": "hyprctl switchxkblayout $SET_KB next"
},
"hyprland/submap": {
	"format": "<span style=\"italic\">  {}</span>", // Icon: expand-arrows-alt
	"tooltip": false,
},
"hyprland/window": {
	"format": "{}",
	"max-length": 20,
	"separate-outputs": true,
	"offscreen-css": true,
	"offscreen-css-text": "(inactive)",
	"rewrite": {
		"(.*) — Mozilla Firefox": " $1",
		"(.*) - fish": "> [$1]",
		"(.*) - zsh": "> [$1]",
		"(.*) - $term": "> [$1]",
	},
},
"idle_inhibitor": {
	"tooltip": true,
	"tooltip-format-activated": "Idle_inhibitor active",
	"tooltip-format-deactivated": "Idle_inhibitor not active",
	"format": "{icon}",
	"format-icons": {
		"activated": " ",
		"deactivated": " ",
	}
},
"keyboard-state": {
	//"numlock": true,
	"capslock": true,
	"format": {
		"numlock": "N {icon}",
		"capslock": "󰪛 {icon}",
	},
	"format-icons": {
		"locked": "",
		"unlocked": ""
	},
},
"memory": {
	"interval": 10,
	"format": "{used:0.1f}G 󰾆",
	"format-alt": "{percentage}% 󰾆",
	"format-alt-click": "click",
	"tooltip": true,
	"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
	"on-click-right": "kitty --title btop sh -c 'btop'"
},
"mpris": {
	"interval": 10,
	"format": "{player_icon} ",
	"format-paused": "{status_icon} <i>{dynamic}</i>",
	"on-click-middle": "playerctl play-pause",
	"on-click": "playerctl previous",
	"on-click-right": "playerctl next",
	"scroll-step": 5.0,
	"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
	"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
	"smooth-scrolling-threshold": 1,
	"player-icons": {
		"chromium": "",
		"default": "",
		"firefox": "",
		"kdeconnect": "",
		"mopidy": "",
		"mpv": "󰐹",
		"spotify": "",
		"vlc": "󰕼",
	},
	"status-icons": {
		"paused": "󰐎",
		"playing": "",
		"stopped": "",
	},
	// "ignored-players": ["firefox"]
	"max-length": 30,
},
"network": {
	"format": "{ifname}",
	"format-wifi": "{icon}",
	"format-ethernet": "󰌘",
	"format-disconnected": "󰌙",
	"tooltip-format": "{ipaddr}  {bandwidthUpBits}  {bandwidthDownBits}",
	"format-linked": "󰈁 {ifname} (No IP)",
	"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
	"tooltip-format-ethernet": "{ifname} 󰌘",
	"tooltip-format-disconnected": "󰌙 Disconnected",
	"max-length": 30,
	"format-icons": [
		"󰤯", "󰤟", "󰤢", "󰤥", "󰤨"
	],
	"on-click-right": "kitty nmtui"
},
"network#speed": {
	"interval": 1,
	"format": "{ifname}",
	"format-wifi": "{icon}  {bandwidthUpBytes}  {bandwidthDownBytes}",
	"format-ethernet": "󰌘  {bandwidthUpBytes}  {bandwidthDownBytes}",
	"format-disconnected": "󰌙",
	"tooltip-format": "{ipaddr}",
	"format-linked": "󰈁 {ifname} (No IP)",
	"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
	"tooltip-format-ethernet": "{ifname} 󰌘",
	"tooltip-format-disconnected": "󰌙 Disconnected",
	"min-length": 24,
	"max-length": 24,
	"format-icons": [
		"󰤯", "󰤟", "󰤢", "󰤥", "󰤨"
	]
},
"power-profiles-daemon": {
  "format": "{icon}",
  "tooltip-format": "Power profile: {profile}\nDriver: {driver}",
  "tooltip": true,
  "format-icons": {
    "default": "",
    "performance": "",
    "balanced": "",
    "power-saver": ""
  }
},
"pulseaudio": {
	"format": "{icon} {volume}%",
	"format-bluetooth": "{icon} 󰂰 {volume}%",
	"format-muted": "󰖁",
	"format-icons": {
		"headphone": "",
		"hands-free": "",
		"headset": "",
		"phone": "",
		"portable": "",
		"car": "",
		"default": [
			"", "", "󰕾",  ""
		],
		"ignored-sinks": [
			"Easy Effects Sink"
		],
	},
	"scroll-step": 5.0,
	"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
	"on-click-right": "pavucontrol -t 3",
	"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
	"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
	"tooltip-format": "{icon} {desc} | {volume}%",
	"smooth-scrolling-threshold": 1,
},
"pulseaudio#1": {
  "format": "{icon} {volume}%",
  "format-bluetooth": "{icon} {volume}%",
  "format-bluetooth-muted": " {icon}",
  "format-muted": "󰸈",
  "format-icons": {
      "headphone": "",
      "hands-free": "",
      "headset": "",
      "phone": "",
      "portable": "",
      "car": "",
      "default": ["", "", ""]
    },
  "on-click": "pamixer --toggle-mute",
  "on-click-right": "pavucontrol -t 3",
  "tooltip": true,
  "tooltip-format": "{icon} {desc} | {volume}%",
},
"pulseaudio#microphone": {
	"format": "{format_source}",
	"format-source": " {volume}%",
	"format-source-muted": "",
	"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
	"on-click-right": "pavucontrol -t 4",
	"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
	"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
	"tooltip-format": "{source_desc} | {source_volume}%",
	"scroll-step": 5,
},
"tray": {
	"icon-size": 20,
	"spacing": 4,
},
"wireplumber": {
	"format": "{icon} {volume} %",
	"format-muted": " Mute",
	"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
	"on-click-right": "pavucontrol -t 3",
	"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
	"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
	"format-icons": [
		"", "", "󰕾", ""
	],
},
"wlr/taskbar": {
	"format": "{icon} {name}",
	"icon-size": 16,
	"all-outputs": false,
	"tooltip-format": "{title}",
	"on-click": "activate",
	"on-click-middle": "close",
	"ignore-list": [
		"wofi",
		"rofi",
		"kitty",
    "kitty-dropterm"
		],
},
"custom/cycle_wall": {
	"format": " ",
	"on-click": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
	"on-click-right": "$HOME/.config/hypr/UserScripts/WallpaperRandom.sh",
	"on-click-middle": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
	"tooltip": true,
	"tooltip-format": "Left Click: Wallpaper Menu\nMiddle Click: Random wallpaper\nRight Click: Waybar Styles Menu",
},
"custom/hint": {
	"format": "󰺁 HINT!",
	"on-click": "$HOME/.config/hypr/scripts/KeyHints.sh",
	"tooltip": true,
	"tooltip-format": "󱧣 Quick Tips",
},
// Hypridle inhibitor
"custom/hypridle": {
    "format": " 󱫗 ",
    "return-type": "json",
    "escape": true,
    "exec-on-event": true,
    "interval": 60,
    "exec": "$HOME/.config/hypr/scripts/Hypridle.sh status",
    "on-click": "$HOME/.config/hypr/scripts/Hypridle.sh toggle",
    "on-click-right": "hyprlock"
  },
"custom/keyboard": {
	"exec": "cat $HOME/.cache/kb_layout",
	"interval": 1,
	"format": " {}",
	"on-click": "$HOME/.config/hypr/scripts/SwitchKeyboardLayout.sh",
},
"custom/light_dark": {
	"format": "󰔎",
	"on-click": "$HOME/.config/hypr/scripts/DarkLight.sh",
	"on-click-right": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
	"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
	"tooltip": true,
	"tooltip-format": "Left Click: Switch Dark-Light Themes\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Styles Menu",
},
"custom/lock": {
	"format": "󰌾",
	"on-click": "$HOME/.config/hypr/scripts/LockScreen.sh",
	"tooltip": true,
	"tooltip-format": "󰷛 Screen Lock",

},
"custom/menu": {
	"format": "",
	"on-click": "pkill rofi || rofi -show drun -modi run,drun,filebrowser,window",
	"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
	"on-click-right": "$HOME/.config/hypr/scripts/WaybarLayout.sh",
	"tooltip": true,
	"tooltip-format": "Left Click: Rofi Menu\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Layout Menu",
},
// This is a custom cava visualizer
"custom/cava_mviz": {
	"exec": "$HOME/.config/hypr/scripts/WaybarCava.sh",
	"format": "{}"
},
"custom/playerctl": {
	"format": "<span>{}</span>",
	"return-type": "json",
	"max-length": 35,
	"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} $HOME {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
	"on-click-middle": "playerctl play-pause",
	"on-click": "playerctl previous",
	"on-click-right": "playerctl next",
	"scroll-step": 5.0,
	"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
	"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
	"smooth-scrolling-threshold": 1,
},
"custom/power": {
	"format": "⏻ ",
	"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
	"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
	"tooltip": true,
	"tooltip-format": "Left Click: Logout Menu\nRight Click: Change Blur",
},
"custom/swaync": {
	"tooltip": true,
	"tooltip-format": "Left Click: Launch Notification Center\nRight Click: Do not Disturb",
	"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": "sleep 0.1 && swaync-client -t -sw",
	"on-click-right": "swaync-client -d -sw",
	"escape": true,
},
// NOTE:! This is only for Arch and Arch Based Distros  depend: pacman-contrib
"custom/updater": {
	"format": " {}",
	"exec": "checkupdates | wc -l",
	"exec-if": "[[ $(checkupdates | wc -l) ]]",
	"interval": 15,
	"on-click": "if command -v paru &> /dev/null; then kitty -T update paru -Syu; else kitty -T update yay -Syu; fi && notify-send 'The system has been updated'",
	"tooltip": true,
	"tooltip-format": "Left Click: Update System\nArch Linux Only",
},

// Separators
"custom/separator#dot": {
	"format": "",
	"interval": "once",
	"tooltip": false
},
"custom/separator#dot-line": {
	"format": "",
	"interval": "once",
	"tooltip": false
},
"custom/separator#line": {
	"format": "|",
	"interval": "once",
	"tooltip": false
},
"custom/separator#blank": {
	"format": "",
	"interval": "once",
	"tooltip": false
},
"custom/separator#blank_2": {
	"format": "  ",
	"interval": "once",
	"tooltip": false
},
"custom/separator#blank_3": {
	"format": "   ",
	"interval": "once",
	"tooltip": false
},
// Modules below are for vertical layout
"backlight#vertical": {
	"interval": 2,
	"align": 0.35,
	"rotate": 1,
	"format": "{icon}",
	//"format-icons": ["󰃞", "󰃟", "󰃠"],
	"format-icons": [
		"", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
	],
	"on-click": "",
	"on-click-middle": "",
	"on-click-right": "",
	"on-update": "",
	"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
	"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
	"smooth-scrolling-threshold": 1,
	"tooltip-format": "{percent}%",
},
"clock#vertical": {
	"format": "\n{:%H\n%M\n%S\n\n \n%d\n%m\n%y}",
	"interval": 1,
	//"format": "\n{:%I\n%M\n%p\n\n \n%d\n%m\n%y}",
	"tooltip": true,
	"tooltip-format": "{calendar}",
	"calendar": {
		"mode": "year",
		"mode-mon-col": 3,
		"format": {
			"today": "<span color='#0dbc79'>{}</span>",
		}
	}
},
"cpu#vertical": {
	"format": "󰍛\n{usage}%",
	"interval": 1,
	"on-click-right": "gnome-system-monitor",
},
"memory#vertical": {
	"interval": 10,
	"format": "󰾆\n{percentage}%",
	"format-alt": "󰾆\n{used:0.1f}G",
	"format-alt-click": "click",
	"tooltip": true,
	"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
	"on-click-right": "kitty --title btop sh -c 'btop'",
},
"pulseaudio#vertical": {
	"format": "{icon}",
	"format-bluetooth": "󰂰",
	"format-muted": "󰖁",
	"format-icons": {
		"headphone": "",
		"hands-free": "",
		"headset": "",
		"phone": "",
		"portable": "",
		"car": "",
		"default": [
			"", "", "󰕾", ""
		],
		"tooltip-format": "{icon} {desc} | {volume}%",
		"ignored-sinks": [
			"Easy Effects Sink"
		],
	},
	"scroll-step": 5.0,
	"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
	"on-click-right": "pavucontrol -t 3",
	"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
	"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
	"tooltip-format": "{icon} {desc} | {volume}%",
	"smooth-scrolling-threshold": 1,
},
"pulseaudio#microphone_vertical": {
	"format": "{format_source}",
	"format-source": "󰍬",
	"format-source-muted": "󰍭",
	"on-click-right": "pavucontrol",
	"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
	"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
	"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
	"max-volume": 100,
	"tooltip": true,
	"tooltip-format": "{source_desc} | {source_volume}%",
},
"custom/power_vertical": {
	"format": "⏻",
	"exec": "echo ; echo 󰟡 power // blur",
	"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
	"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
	"interval": 86400, // once every day
	"tooltip": true,
},
}
