386 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			386 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | |
|     // -------------------------------------------------------------------------
 | |
|     // Global configuration
 | |
|     // -------------------------------------------------------------------------
 | |
| 
 | |
|     "layer": "top",
 | |
| 
 | |
|     "position": "top",
 | |
| 
 | |
|     "height": 20,
 | |
| 
 | |
|     "margin-left": 10,
 | |
|     "margin-bottom": 0,
 | |
|     "margin-right": 10,
 | |
| 
 | |
|     "spacing": 5, // Gaps between modules (4px)
 | |
| 
 | |
|     "modules-left": [
 | |
|         //"custom/rofi",
 | |
|         "hyprland/workspaces",
 | |
|         "custom/weather",
 | |
|         "clock", 
 | |
|         //"hyprland/submap",
 | |
|         "temperature",
 | |
|         //"idle_inhibitor",
 | |
|         //"mpd",
 | |
|         "custom/spotify"
 | |
|     ],
 | |
|     "modules-center": [
 | |
|         "hyprland/window"
 | |
|         //"custom/gammastep"
 | |
|     ],
 | |
|     "modules-right": [
 | |
|         "backlight",
 | |
|         "custom/storage",
 | |
|         "memory",
 | |
|         "cpu",
 | |
|         "battery",
 | |
|         //"pulseaudio",
 | |
|         "wireplumber",
 | |
|         "bluetooth",
 | |
|         //"custom/screenshot_t",
 | |
|         "tray",
 | |
|         "custom/power"
 | |
|     ],
 | |
| 
 | |
|     // -------------------------------------------------------------------------
 | |
|     // Modules
 | |
|     // -------------------------------------------------------------------------
 | |
| 
 | |
|     "custom/sp1": {
 | |
|         "format": " | ",
 | |
|         "tooltip": false
 | |
|     },
 | |
|     "custom/sp2": {
 | |
|         "format": " |",
 | |
|         "tooltip": false
 | |
|     },
 | |
| 
 | |
|     "custom/rofi": {
 | |
|         "format": "",
 | |
|         "tooltip": false,
 | |
|         "on-click-right": "nwg-drawer",
 | |
|         "on-click": "wofi --show run",
 | |
|         "on-click-middle": "pkill -9 wofi"
 | |
|     },
 | |
|     "custom/screenshot_t":{
 | |
|         "format":" ",
 | |
|         "on-click": "~/.config/hypr/scripts/screenshot_full",
 | |
|         "on-click-right":"~/.config/hypr/scripts/screenshot_area"
 | |
|     },
 | |
| 
 | |
|     "clock#1": {
 | |
|         "format": " {:%a}",
 | |
|         "tooltip": false,
 | |
|         "on-click": "gsimplecal"
 | |
|     },
 | |
|     "clock#2": {
 | |
|         "format": " {:%d-%h-%Y}",
 | |
|         "tooltip": false,
 | |
|         "on-click": "gsimplecal"
 | |
|     },
 | |
|     "clock#3": {
 | |
|         "format": " {:%H:%M:%S %p}",
 | |
|         "tooltip": false,
 | |
|         "on-click": "gsimplecal"
 | |
|     },
 | |
| 
 | |
|     "bluetooth": {
 | |
|         // "controller": "controller1", // specify the alias of the controller if there are more than 1 on the system
 | |
|         "format": "",
 | |
|         "format-connected": " {num_connections} connected",
 | |
|         "tooltip-format": "{controller_alias}\t{controller_address}",
 | |
|         "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}",
 | |
|         "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
 | |
|         "on-click": "blueman-manager"
 | |
|     },
 | |
| 
 | |
|     "temperature": {
 | |
|         // "thermal-zone": 1,
 | |
|         "interval": 4,
 | |
|         //"hwmon-path": "/sys/class/hwmon/hwmon3/temp1_input",
 | |
|         "critical-threshold": 80,
 | |
|         // "format-critical": " {temperatureC}°C",
 | |
|         "format-critical": "  {temperatureC}°C",
 | |
|         "format": "{icon}  {temperatureC}°C",
 | |
|         "format-icons": ["", "", ""],
 | |
|         "max-length": 7,
 | |
|         "min-length": 7,
 | |
|         "on-click": "xsensors"
 | |
|     },
 | |
| 
 | |
|     "memory": {
 | |
|         "interval": 30,
 | |
|         "format": "  {used:0.2f} / {total:0.0f} GB",
 | |
|         "on-click": "alacritty -e btop"
 | |
|     },
 | |
| 
 | |
|     "battery": {
 | |
|         "interval": 2,
 | |
|         "states": {
 | |
|             "good": 95,
 | |
|             "warning": 30,
 | |
|             "critical": 15
 | |
|         },
 | |
|         "format": "{icon} {capacity}%",
 | |
|         "format-charging": " {capacity}%",
 | |
|         "format-plugged": " {capacity}%",
 | |
|         "format-icons": [
 | |
|             "",
 | |
|             "",
 | |
|             "",
 | |
|             "",
 | |
|             ""
 | |
|         ]
 | |
|     },
 | |
|     "network": {
 | |
|         "format-wifi": " {essid} ({signalStrength}%)",
 | |
|         "format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
 | |
|         "format-linked": "{ifname} (No IP) ",
 | |
|         "format": "",
 | |
|         "format-disconnected": "",
 | |
|         "format-alt": "{ifname}: {ipaddr}/{cidr}",
 | |
|         "on-click": "wl-copy $(ip address show up scope global | grep inet | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c5-)",
 | |
|         "on-click-right": "wl-copy $(ip address show up scope global | grep inet6 | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c6-)",
 | |
|         "tooltip-format": " {bandwidthUpBits}  {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n",
 | |
|         "tooltip-format-wifi": " {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits}  {bandwidthDownBits}",
 | |
|         "interval": 10
 | |
|     },
 | |
|     "custom/storage": {
 | |
|         "format": " {}",
 | |
|         "format-alt": "{percentage}% ",
 | |
|         "format-alt-click": "click-right",
 | |
|         "return-type": "json",
 | |
|         "interval": 60,
 | |
|         "exec": "~/.config/waybar/modules/storage.sh"
 | |
|     },
 | |
| 
 | |
|     "backlight": {
 | |
|         "device": "intel_backlight",
 | |
|         "format": "{icon} {percent}%",
 | |
|         "format-alt": "{percent}% {icon}",
 | |
|         "format-alt-click": "click-right",
 | |
|         //"format-icons": ["", ""],
 | |
|         "format-icons": ["", ""],
 | |
|         "on-scroll-down": "brightnessctl s 5%-",
 | |
|         "on-scroll-up": "brightnessctl s +5%"
 | |
|     },
 | |
|     "idle_inhibitor": {
 | |
|         "format": "{icon}",
 | |
|         "format-icons": {
 | |
|             "activated": "",
 | |
|             "deactivated": ""
 | |
|         },
 | |
|         "tooltip": "true"
 | |
|     },
 | |
|     "custom/weather": {
 | |
|         "format": "{}",
 | |
|         "format-alt": "{alt}: {}",
 | |
|         "format-alt-click": "click-right",
 | |
|         "interval": 3600,
 | |
|         "exec": "curl -s 'https://wttr.in/?format=1'",
 | |
|         //"return-type": "json",
 | |
|         //"exec": "~/.config/waybar/modules/weather.sh",
 | |
|         "exec-if": "ping wttr.in -c1"
 | |
|     },
 | |
|     "custom/pacman": {
 | |
|         "format": "<big></big>  {}",
 | |
|         "interval": 3600,                     // every hour
 | |
|         "exec": "checkupdates | wc -l",       // # of updates
 | |
|         "exec-if": "exit 0",                  // always run; consider advanced run conditions
 | |
|         "on-click": "alacritty -e 'paru'; pkill -SIGRTMIN+8 waybar", // update system
 | |
|         "signal": 8,
 | |
|         "max-length": 5,
 | |
|         "min-length": 3
 | |
|     },
 | |
| 
 | |
| "custom/spotify": {
 | |
|     "exec": "~/.config/waybar/mediaplayer.py --player spotify",
 | |
|     "format": "{}  ",
 | |
|     "return-type": "json",
 | |
|     "on-click": "playerctl play-pause",
 | |
|     "on-scroll-up": "playerctl next",
 | |
|     "on-scroll-down": "playerctl previous"
 | |
| },
 | |
| 
 | |
|     "custom/media": {
 | |
|         "format": "{0} {1}",
 | |
|         "return-type": "json",
 | |
|         "max-length": 40,
 | |
|         "format-icons": {
 | |
|             "spotify": "",
 | |
|             "default": "🎜"
 | |
|         },
 | |
|         "escape": true,
 | |
|         //"exec": "~/.config/waybar/mediaplayer.py" // Script in resources folder
 | |
|         // "exec": "~/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
 | |
|     },
 | |
| 
 | |
|     "custom/power": {
 | |
|         "format": "  ",
 | |
|         "tooltip": false,
 | |
|         "on-click": "wlogout"
 | |
|     },
 | |
| 
 | |
|     "clock": {
 | |
|         "format": "  {:%H:%M   %e %b}",
 | |
|         "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
 | |
|         "today-format": "<b>{}</b>"
 | |
|     },
 | |
| 
 | |
|     "clock#date": {
 | |
|         "format": "  {:%H:%M \n %e %b}",
 | |
|         "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
 | |
|         "today-format": "<b>{}</b>"
 | |
|     },
 | |
| 
 | |
|     "custom/gammastep": {
 | |
|       "interval": 5,
 | |
|       "return-type": "json",
 | |
|       "exec": {
 | |
|         "pre": "if unit_status=\"$(systemctl --user is-active gammastep)\"; then\nstatus=\"$unit_status ($(journalctl --user -u gammastep.service -g 'Period: ' | tail -1 | cut -d ':' -f6 | xargs))\"\nelse\nstatus=\"$unit_status\"\nfi",
 | |
|         "alt": "${status:-inactive}",
 | |
|         "tooltip": "Gammastep is $status",
 | |
|       },
 | |
|       "format": "{icon}",
 | |
|       "format-icons": {
 | |
|         "activating": " ",
 | |
|         "deactivating": " ",
 | |
|         "inactive": "? ",
 | |
|         "active (Night)": " ",
 | |
|         "active (Nighttime)": " ",
 | |
|         "active (Transition (Night)": " ",
 | |
|         "active (Transition (Nighttime)": " ",
 | |
|         "active (Day)": " ",
 | |
|         "active (Daytime)": " ",
 | |
|         "active (Transition (Day)": " ",
 | |
|         "active (Transition (Daytime)": " ",
 | |
|       },
 | |
|       "on-click": "systemctl --user is-active gammastep && systemctl --user stop gammastep || systemctl --user start gammastep",
 | |
|     },
 | |
| 
 | |
|     "cpu": {
 | |
|         "interval": 1,
 | |
|         //"format": " {}%", // Icon: microchip
 | |
|         "format": "{max_frequency}GHz <span color=\"darkgray\">| {usage}%</span>",
 | |
|         "max-length": 13,
 | |
|         "min-length": 13
 | |
|     },
 | |
| 
 | |
|     "mpd": {
 | |
|         "max-length": 25,
 | |
|         "format": "<span foreground='#bb9af7'></span> {title}",
 | |
|         "format-paused": " {title}",
 | |
|         "format-stopped": "<span foreground='#bb9af7'></span>",
 | |
|         "format-disconnected": "",
 | |
|         "on-click": "mpc --quiet toggle",
 | |
|         "on-click-right": "mpc update; mpc ls | mpc add",
 | |
|         "on-click-middle": "alacritty -e ncmpcpp",
 | |
|         "on-scroll-up": "mpc --quiet prev",
 | |
|         "on-scroll-down": "mpc --quiet next",
 | |
|         "smooth-scrolling-threshold": 5,
 | |
|         "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})"
 | |
|     },
 | |
| 
 | |
|     "custom/title": {
 | |
|         "format": "{}",
 | |
|         "interval": 0,
 | |
|         "return-type": "json",
 | |
|         //"max-length": 35,
 | |
|         "tooltip": false
 | |
|     },
 | |
| 
 | |
|     "custom/title#name": {
 | |
|         "format": "{}",
 | |
|         "interval": 0,
 | |
|         "return-type": "json",
 | |
| 
 | |
|         "max-length": 35,
 | |
|         "exec": "$HOME/.scripts/title"
 | |
|     },
 | |
| 
 | |
|     /*"custom/keyboard": {
 | |
|         "format": " {}",
 | |
|         "interval": 1,
 | |
|         "exec": "$HOME/.config/waybar/get_kbdlayout.sh"
 | |
|     },*/
 | |
| 
 | |
|     "hyprland/workspaces": {
 | |
|         "all-outputs": true,
 | |
|         "format": "{name}",
 | |
|         "format-icons": {
 | |
|             "1": "一",
 | |
|             "2": "二",
 | |
|             "3": "三",
 | |
|             "4": "四",
 | |
|             "5": "五",
 | |
|             "6": "六",
 | |
|             "7": "七",
 | |
|             "8": "八",
 | |
|             "9": "九",
 | |
|             "10": "十",
 | |
|         },
 | |
|         "on-scroll-up": "hyprctl dispatch workspace e+1 1>/dev/null",
 | |
|         "on-scroll-down": "hyprctl dispatch workspace e-1 1>/dev/null",
 | |
|         "sort-by-number": true,
 | |
|         "active-only": false,
 | |
|     },
 | |
| 
 | |
|     "hyprland/window": {
 | |
|         "max-length": 100,
 | |
|         "separate-outputs": true
 | |
|     },
 | |
| 
 | |
|     "pulseaudio": {
 | |
|         "scroll-step": 3, // %, can be a float
 | |
|         "format": "{icon} {volume}% {format_source}",
 | |
|         "format-bluetooth": "{volume}% {icon} {format_source}",
 | |
|         "format-bluetooth-muted": " {icon} {format_source}",
 | |
|         "format-muted": " {format_source}",
 | |
|         //"format-source": "{volume}% ",
 | |
|         //"format-source-muted": "",
 | |
|         "format-source": "",
 | |
|         "format-source-muted": "",
 | |
|         "format-icons": {
 | |
|             "headphone": "",
 | |
|             "hands-free": "",
 | |
|             "headset": "",
 | |
|             "phone": "",
 | |
|             "portable": "",
 | |
|             "car": "",
 | |
|             "default": ["", "", ""]
 | |
|         },
 | |
|         "on-click": "pavucontrol",
 | |
|         "on-click-right": "amixer sset Master toggle"
 | |
|     },
 | |
| 
 | |
|     "wireplumber": {
 | |
|         "on-click": "pavucontrol",
 | |
|         "on-click-right": "amixer sset Master toggle 1>/dev/null",
 | |
|         //on-click: "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle";
 | |
|         //on-scroll-down: "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04+";
 | |
|         //on-scroll-up: "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04-";
 | |
|         "format": "<span foreground='#fab387'>{icon}</span>  {volume}%",
 | |
|         "format-muted": " ",
 | |
|         "format-source": "",
 | |
|         "format-source-muted": "",
 | |
|         //"format-muted": "<span foreground='#fab387'> </span>",
 | |
|         //"format-icons": [ "<span foreground='#fab387'></span>" ]
 | |
|         "format-icons": {
 | |
|             "headphone": " ",
 | |
|             "hands-free": " ",
 | |
|             "headset": " ",
 | |
|             "phone": " ",
 | |
|             "portable": " ",
 | |
|             "car": " ",
 | |
|             "default": [" ", " ", " "]
 | |
|         },
 | |
|     },
 | |
| 
 | |
|     "tray": {
 | |
|         "icon-size": 15,
 | |
|         "spacing": 5
 | |
|     }
 | |
| }
 |