add waybar and sway
This commit is contained in:
159
.config/waybar/config.jsonc
Normal file
159
.config/waybar/config.jsonc
Normal file
@ -0,0 +1,159 @@
|
||||
// -*- mode: jsonc -*-
|
||||
{
|
||||
// "layer": "top", // Waybar at top layer
|
||||
// "position": "bottom", // Waybar position (top|bottom|left|right)
|
||||
"height": 29, // Waybar height (to be removed for auto height)
|
||||
// "width": 1280, // Waybar width
|
||||
"spacing": 4, // Gaps between modules (4px)
|
||||
// Choose the order of the modules
|
||||
"modules-left": [
|
||||
"sway/workspaces"
|
||||
// "sway/mode",
|
||||
// "sway/scratchpad",
|
||||
// "custom/media"
|
||||
],
|
||||
"modules-center": [
|
||||
// "sway/window"
|
||||
"clock"
|
||||
],
|
||||
"modules-right": [
|
||||
"mpd",
|
||||
"custom/separator",
|
||||
"custom/pipewire_buffer_size",
|
||||
"custom/separator",
|
||||
"pulseaudio",
|
||||
"custom/separator",
|
||||
"sway/language",
|
||||
"custom/separator",
|
||||
"memory",
|
||||
"custom/separator",
|
||||
"cpu",
|
||||
"custom/separator",
|
||||
"network",
|
||||
"custom/separator",
|
||||
"custom/power"
|
||||
],
|
||||
"custom/separator": {
|
||||
"format": "|",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
// Modules configuration
|
||||
// "sway/workspaces": {
|
||||
// "disable-scroll": true,
|
||||
// "all-outputs": true,
|
||||
// "warp-on-scroll": false,
|
||||
// "format": "{name}: {icon}",
|
||||
// "format-icons": {
|
||||
// "1": "",
|
||||
// "2": "",
|
||||
// "3": "",
|
||||
// "4": "",
|
||||
// "5": "",
|
||||
// "urgent": "",
|
||||
// "focused": "",
|
||||
// "default": ""
|
||||
// }
|
||||
// },
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>"
|
||||
},
|
||||
"mpd": {
|
||||
"format": "{artist} - {title}",
|
||||
"format-disconnected": "Disconnected ",
|
||||
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||
"unknown-tag": "N/A",
|
||||
"interval": 5,
|
||||
"tooltip-format": "MPD (connected)",
|
||||
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||
},
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "CPU {usage}%",
|
||||
"tooltip": false
|
||||
},
|
||||
"memory": {
|
||||
"format": "MEM {}%"
|
||||
},
|
||||
"custom/pipewire_buffer_size": {
|
||||
"exec": "~/.config/waybar/pipewire_buffer_size.sh",
|
||||
"interval": 10,
|
||||
"on-click": "~/.config/waybar/pipewire_buffer_size.sh click"
|
||||
},
|
||||
"temperature": {
|
||||
// "thermal-zone": 2,
|
||||
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||
"critical-threshold": 80,
|
||||
// "format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"backlight": {
|
||||
// "device": "acpi_video1",
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-full": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"battery#bat2": {
|
||||
"bat": "BAT2"
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} ({signalStrength}%)",
|
||||
"format-ethernet": "{ipaddr}/{cidr}",
|
||||
"tooltip-format": "{ifname} via {gwaddr}",
|
||||
"format-linked": "{ifname} (No IP)",
|
||||
"format-disconnected": "Disconnected",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "VOL {volume}%",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/media": {
|
||||
"format": "{icon} {text}",
|
||||
"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/power": {
|
||||
"format": "⏻ ",
|
||||
"tooltip": false,
|
||||
"menu": "on-click",
|
||||
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
|
||||
"menu-actions": {
|
||||
"shutdown": "shutdown",
|
||||
"reboot": "reboot",
|
||||
"suspend": "systemctl suspend",
|
||||
"hibernate": "systemctl hibernate"
|
||||
}
|
||||
}
|
||||
}
|
||||
18
.config/waybar/pipewire_buffer_size.sh
Executable file
18
.config/waybar/pipewire_buffer_size.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
BUFFER_SIZES=("64" "128" "256" "512" "1024" "2048" "4096" "8192")
|
||||
|
||||
current_buffer_size=$(pw-metadata -n settings 0 clock.force-quantum | grep -oP "value:'\K[0-9]+")
|
||||
|
||||
if [[ $1 == "click" ]]; then
|
||||
new_buffer_size=$(echo "${BUFFER_SIZES[@]}" | tr ' ' '\n' | wofi --show dmenu)
|
||||
|
||||
if [[ -n $new_buffer_size ]]; then
|
||||
pw-metadata -n settings 0 clock.force-quantum "$new_buffer_size"
|
||||
current_buffer_size=$new_buffer_size
|
||||
fi
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "$current_buffer_size"
|
||||
6
.config/waybar/style.css
Normal file
6
.config/waybar/style.css
Normal file
@ -0,0 +1,6 @@
|
||||
/* @import url("~/.cache/wal/colors.css"); */
|
||||
|
||||
* {
|
||||
font-family: "mononoki";
|
||||
font-size: 16;
|
||||
}
|
||||
Reference in New Issue
Block a user