207 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			207 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
{
 | 
						|
    // "layer": "top", // Waybar at top layer
 | 
						|
    "position": "bottom", // Waybar position (top|bottom|left|right)
 | 
						|
    "height": 20, // Waybar height (to be removed for auto height)
 | 
						|
    // "width": 1280, // Waybar width
 | 
						|
    // Choose the order of the modules
 | 
						|
    "modules-left": ["sway/workspaces", "sway/mode", "custom/media"],
 | 
						|
    "modules-center": [],
 | 
						|
    //"modules-right": ["idle_inhibitor", "mpd", "pulseaudio", "network", "cpu", "memory", "temperature", "battery", "custom/scratchpad_indicator", "clock", "tray", "custom/swaync", "custom/emacsstatus" ],
 | 
						|
    "modules-right": ["mpd", "pulseaudio", "network", "battery", "custom/scratchpad_indicator", "clock", "tray", "custom/swaync", "custom/emacsstatus" ],
 | 
						|
    "sway/workspaces": {
 | 
						|
       "disable-scroll-wraparound": true
 | 
						|
    },
 | 
						|
    // Modules configuration
 | 
						|
    "sway/workspaces": {
 | 
						|
    	"persistent_workspaces": {
 | 
						|
	    // "1": ["DVI-D-1"],
 | 
						|
	    // "2": ["DVI-D-1"],
 | 
						|
	    // "3": ["DVI-D-1"],
 | 
						|
	    // "4": ["DVI-D-1"],
 | 
						|
	    // "5": ["DVI-D-1"],
 | 
						|
	    // "6": ["HDMI-A-1"],
 | 
						|
	    // "7": ["HDMI-A-1"],
 | 
						|
	    // "8": ["HDMI-A-1"],
 | 
						|
	    // "9": ["HDMI-A-1"],
 | 
						|
	    // "10": ["HDMI-A-1"],
 | 
						|
	    //"1": ["HDMI-A-1"],
 | 
						|
	    //"2": ["HDMI-A-1"],
 | 
						|
	    //"3": ["HDMI-A-1"],
 | 
						|
	    //"4": ["HDMI-A-1"],
 | 
						|
	    //"5": ["HDMI-A-1"],
 | 
						|
	    //"6": ["DVI-D-1"],
 | 
						|
	    //"7": ["DVI-D-1"],
 | 
						|
	    //"8": ["DVI-D-1"],
 | 
						|
	    //"9": ["DVI-D-1"],
 | 
						|
	    //"10": ["DVI-D-1"]
 | 
						|
	},
 | 
						|
    //     "disable-scroll": true,
 | 
						|
         "all-outputs": false,
 | 
						|
         "format": "{name}",
 | 
						|
         "format-icons": {
 | 
						|
             // "1": "1",
 | 
						|
             // "2": "2",
 | 
						|
             // "3": "3-sch", // schedule
 | 
						|
             // "4": "4-comms",
 | 
						|
             // "5": "5-mon", // monitor
 | 
						|
             // "6": "6-em", // emacs
 | 
						|
             // "7": "7-se", // search/web
 | 
						|
             // "8": "8-tm", // terminal
 | 
						|
             // "9": "9-gm",
 | 
						|
             // "10": "10",
 | 
						|
 | 
						|
             //"1": "1-em", // emacs
 | 
						|
             //"2": "2-se", // search/web
 | 
						|
             //"3": "3-tm", // terminal
 | 
						|
             //"4": "4-gm",
 | 
						|
             //"5": "5",
 | 
						|
             //"6": "6",
 | 
						|
             //"7": "7",
 | 
						|
             //"8": "8-sch", // schedule
 | 
						|
             //"9": "9-comms",
 | 
						|
             //"10": "10-mon", // monitor
 | 
						|
         }
 | 
						|
     },
 | 
						|
    "keyboard-state": {
 | 
						|
        "numlock": true,
 | 
						|
        "capslock": true,
 | 
						|
        "format": "{name} {icon}",
 | 
						|
        "format-icons": {
 | 
						|
            "locked": "",
 | 
						|
            "unlocked": ""
 | 
						|
        }
 | 
						|
    },
 | 
						|
    "sway/mode": {
 | 
						|
        "format": "<span style=\"italic\">{}</span>"
 | 
						|
    },
 | 
						|
    "idle_inhibitor": {
 | 
						|
        "format": "{icon}",
 | 
						|
        "format-icons": {
 | 
						|
            "activated": "",
 | 
						|
            "deactivated": ""
 | 
						|
        }
 | 
						|
    },
 | 
						|
    "tray": {
 | 
						|
        "icon-size": 15,
 | 
						|
        "spacing": 10
 | 
						|
    },
 | 
						|
    "clock": {
 | 
						|
        // "timezone": "America/New_York",
 | 
						|
        "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
 | 
						|
        "format": "{:%H:%M}",
 | 
						|
        //"format": "{:%Y-%m-%d %H:%M:%S}",
 | 
						|
        //"format": "{:%Y-%m-%d %I:%M:%S %p}",
 | 
						|
        //"format": "day # {:%j}",
 | 
						|
	"interval": 1
 | 
						|
    },
 | 
						|
    "cpu": {
 | 
						|
        "format": " {usage}%",
 | 
						|
        // "tooltip": false
 | 
						|
    },
 | 
						|
    "memory": {
 | 
						|
        "format": " {}%"
 | 
						|
    },
 | 
						|
    "battery": {
 | 
						|
        "states": {
 | 
						|
            "good": 95,
 | 
						|
            "warning": 30,
 | 
						|
            "critical": 15
 | 
						|
        },
 | 
						|
        "format": "{icon} {capacity}% ({time})",
 | 
						|
        "format-charging": " {capacity}%",
 | 
						|
        "format-plugged": " {capacity}%",
 | 
						|
        // "format-good": "", // An empty format will hide the module
 | 
						|
        // "format-full": "",
 | 
						|
        "format-icons": ["", "", "", "", ""]
 | 
						|
    },
 | 
						|
    "network": {
 | 
						|
        // "interface": "wlp2*", // (Optional) To force the use of this interface
 | 
						|
        "format-wifi": " {essid} ({signalStrength}%)",
 | 
						|
        "format-ethernet": " {ifname}: {ipaddr}/{cidr}",
 | 
						|
        "format-linked": " {ifname} (No IP)",
 | 
						|
        "format-disconnected": "⚠ Disconnected",
 | 
						|
        //"format-alt": "{ifname}: {ipaddr}/{cidr}"
 | 
						|
        "on-click": "$TERMINAL -e nmtui"
 | 
						|
    },
 | 
						|
    "pulseaudio": {
 | 
						|
        // "scroll-step": 1, // %, can be a float
 | 
						|
        "format": "{icon} {volume}%",
 | 
						|
        "format-bluetooth": "{volume}%  {format_source}",
 | 
						|
        "format-bluetooth-muted": " {icon} {format_source}",
 | 
						|
        "format-muted": " {volume}%",
 | 
						|
        // "format-source": "{volume}% ",
 | 
						|
        // "format-source-muted": "",
 | 
						|
        "format-icons": {
 | 
						|
            "headphone": "",
 | 
						|
            "hands-free": "",
 | 
						|
            "headset": "",
 | 
						|
            "phone": "",
 | 
						|
            "portable": "",
 | 
						|
            "car": "",
 | 
						|
            "default": ["", "", ""]
 | 
						|
        },
 | 
						|
        "on-click": "$TERMINAL -e pulsemixer"
 | 
						|
        // "on-click": "pavucontrol"
 | 
						|
    },
 | 
						|
    "mpd": {
 | 
						|
        "server": "localhost",
 | 
						|
        "port": 6600,
 | 
						|
	"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon} {artist} | {title} | {elapsedTime:%M:%S}/{totalTime:%M:%S}",
 | 
						|
        // "max-length": 200,
 | 
						|
        "format-disconnected": "-",
 | 
						|
	    "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped",
 | 
						|
	    "interval": 2,
 | 
						|
	    "consume-icons": {
 | 
						|
		    "on": " " // Icon shows only when "consume" is on
 | 
						|
	    },
 | 
						|
	    "random-icons": {
 | 
						|
		    "off": "<span color=\"#f53c3c\"></span> ", // Icon grayed out when "random" is off
 | 
						|
		    "on": " "
 | 
						|
	    },
 | 
						|
	    "repeat-icons": {
 | 
						|
		    "on": " "
 | 
						|
	    },
 | 
						|
	    "single-icons": {
 | 
						|
		    "on": "1 "
 | 
						|
	    },
 | 
						|
	    "state-icons": {
 | 
						|
		    "paused": "",
 | 
						|
		    "playing": ""
 | 
						|
	    },
 | 
						|
	    "tooltip-format": "MPD (connected)",
 | 
						|
	    "tooltip-format-disconnected": "MPD (disconnected)"
 | 
						|
    },
 | 
						|
    "custom/media": {
 | 
						|
        "format": "{icon} {}",
 | 
						|
        "return-type": "json",
 | 
						|
        "max-length": 40,
 | 
						|
        "format-icons": {
 | 
						|
            "spotify": "",
 | 
						|
            "default": "🎜"
 | 
						|
        },
 | 
						|
        "escape": true,
 | 
						|
        "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
 | 
						|
        // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
 | 
						|
    },
 | 
						|
    "custom/swaync": {
 | 
						|
        "exec": "~/.config/waybar/scripts/notifications.sh",
 | 
						|
        "on-click": "swaync-client -t",
 | 
						|
        "restart-interval": 1
 | 
						|
    },
 | 
						|
    "custom/emacsstatus": {
 | 
						|
        "return-type": "json",
 | 
						|
        "exec": "~/.config/waybar/scripts/emacs-status.sh",
 | 
						|
        "on-click": "emacsclient -c || emacs",
 | 
						|
	"format": "{}",
 | 
						|
        "restart-interval": 3
 | 
						|
    },
 | 
						|
    "custom/scratchpad_indicator": {
 | 
						|
        "interval": 1,
 | 
						|
        "return-type": "json",
 | 
						|
        "exec": "swaymsg -t get_tree | jq --unbuffered --compact-output '( select(.name == \"root\") | .nodes[] | select(.name == \"__i3\") | .nodes[] | select(.name == \"__i3_scratch\") | .focus) as $scratch_ids | [..  | (.nodes? + .floating_nodes?) // empty | .[] | select(.id |IN($scratch_ids[]))] as $scratch_nodes | { text: \"\\($scratch_nodes | length)\", tooltip: $scratch_nodes | map(\"\\(.app_id // .window_properties.class) (\\(.id)): \\(.name)\") | join(\"\\n\") }'",
 | 
						|
        "format": " {}",
 | 
						|
        "on-click": "exec swaymsg 'scratchpad show'",
 | 
						|
        "on-click-right": "exec swaymsg 'move scratchpad'"
 | 
						|
    },
 | 
						|
}
 |