migrate to waybar
This commit is contained in:
parent
3712da4322
commit
707514fff7
@ -13,7 +13,7 @@ git:.config/git .local/bin/ga
|
||||
ranger:.config/ranger
|
||||
yazi:.config/yazi
|
||||
gpg:
|
||||
sway:.config/sway .config/i3blocks .config/mako .config/mimeapps.list .config/rofi .local/bin/screenshot .config/swaylock .Xresources .config/kanshi .local/bin/firefox_media %copypasta %pomodoro
|
||||
sway:.config/sway .config/waybar .config/mako .config/mimeapps.list .config/rofi .local/bin/screenshot .config/swaylock .Xresources .config/kanshi .local/bin/firefox_media %copypasta %pomodoro
|
||||
pomodoro:
|
||||
bat:.config/bat
|
||||
font:
|
||||
|
||||
@ -1,19 +1,20 @@
|
||||
# vim: ft=swayconfig
|
||||
# Sway bar
|
||||
|
||||
bar {
|
||||
mode dock
|
||||
position bottom
|
||||
status_command i3blocks
|
||||
wrap_scroll no
|
||||
bindsym button4 nop
|
||||
bindsym button5 nop
|
||||
hidden_state hide
|
||||
output *
|
||||
tray_output $primary
|
||||
strip_workspace_name no
|
||||
strip_workspace_numbers no
|
||||
modifier $mod
|
||||
}
|
||||
# bar {
|
||||
# mode dock
|
||||
# position bottom
|
||||
# status_command waybar
|
||||
# wrap_scroll no
|
||||
# bindsym button4 nop
|
||||
# bindsym button5 nop
|
||||
# hidden_state hide
|
||||
# output *
|
||||
# tray_output $primary
|
||||
# strip_workspace_name no
|
||||
# strip_workspace_numbers no
|
||||
# modifier $mod
|
||||
# }
|
||||
|
||||
exec ~/.config/i3blocks/scripts/layout_change_handler.sh
|
||||
exec waybar -b bar-0
|
||||
exec ~/.config/waybar/scripts/layout_change_handler.sh
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# vim: ft=swayconfig
|
||||
# Sway bindings
|
||||
|
||||
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pkill -RTMIN+1 i3blocks
|
||||
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pkill -RTMIN+1 i3blocks
|
||||
bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && pkill -RTMIN+1 i3blocks
|
||||
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pkill -RTMIN+1 waybar
|
||||
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pkill -RTMIN+1 waybar
|
||||
bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && pkill -RTMIN+1 waybar
|
||||
|
||||
bindsym --locked XF86AudioPlay exec playerctl play-pause
|
||||
bindsym --locked XF86AudioPause exec playerctl play-pause
|
||||
@ -14,7 +14,7 @@ bindsym --locked XF86Tools exec pavucontrol
|
||||
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
|
||||
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
|
||||
|
||||
bindsym --to-code $mod+p exec pomodoro toggle && pkill -RTMIN+2 i3blocks
|
||||
bindsym --to-code $mod+p exec pomodoro toggle && pkill -RTMIN+2 waybar
|
||||
|
||||
bindsym $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk
|
||||
bindsym --release $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute
|
||||
|
||||
@ -78,5 +78,5 @@ layer_effects "waybar" {
|
||||
blur_xray enable;
|
||||
blur_ignore_transparent enable;
|
||||
shadows enable;
|
||||
corner_radius 20;
|
||||
corner_radius 10;
|
||||
}
|
||||
|
||||
@ -1,42 +1,95 @@
|
||||
{
|
||||
"layer": "bottom",
|
||||
"position": "bottom",
|
||||
"height": 30,
|
||||
"spacing": 4,
|
||||
|
||||
"modules-left": [
|
||||
"sway/workspaces",
|
||||
"sway/mode",
|
||||
"sway/mode"
|
||||
],
|
||||
"modules-center": [],
|
||||
|
||||
"modules-right": [
|
||||
"sway/language",
|
||||
"clock",
|
||||
"custom/wireless",
|
||||
"custom/bluetooth",
|
||||
"custom/diskroot",
|
||||
"custom/diskhome",
|
||||
"custom/memory",
|
||||
"custom/cpu_usage",
|
||||
"custom/cpu_temp",
|
||||
"custom/battery",
|
||||
"custom/language",
|
||||
"custom/pomodoro",
|
||||
"custom/userhost",
|
||||
"custom/volume",
|
||||
"custom/time",
|
||||
"tray"
|
||||
],
|
||||
"sway/workspaces": {
|
||||
"disable-scroll": true
|
||||
|
||||
"custom/wireless": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh wireless",
|
||||
"interval": 10,
|
||||
"return-type": "text"
|
||||
},
|
||||
"clock": {
|
||||
"format": " {:%F %a %H:%M}",
|
||||
"format-alt": " {:%A, %B %d, %Y (%R)}",
|
||||
"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>"
|
||||
}
|
||||
"custom/diskroot": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh disk_root",
|
||||
"interval": 30,
|
||||
"return-type": "text"
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-scroll-up": "tz_up",
|
||||
"on-scroll-down": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
"custom/diskhome": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh disk_home",
|
||||
"interval": 30,
|
||||
"return-type": "text"
|
||||
},
|
||||
"custom/memory": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh memory",
|
||||
"interval": 5,
|
||||
"return-type": "text"
|
||||
},
|
||||
"custom/cpu_usage": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh cpu_usage",
|
||||
"interval": 5,
|
||||
"return-type": "text"
|
||||
},
|
||||
"custom/cpu_temp": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh cpu_temp",
|
||||
"interval": 5,
|
||||
"return-type": "text"
|
||||
},
|
||||
"custom/bluetooth": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh bluetooth_battery",
|
||||
"interval": 5,
|
||||
"return-type": "text"
|
||||
},
|
||||
"custom/volume": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh volume",
|
||||
"interval": 1,
|
||||
"return-type": "text",
|
||||
"signal": 1
|
||||
},
|
||||
"custom/pomodoro": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh pomodoro",
|
||||
"interval": 1,
|
||||
"return-type": "text",
|
||||
"signal": 2
|
||||
},
|
||||
"custom/language": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh language",
|
||||
"return-type": "text",
|
||||
"signal": 3
|
||||
},
|
||||
"custom/userhost": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh userhost",
|
||||
"return-type": "text",
|
||||
},
|
||||
"custom/battery": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh battery",
|
||||
"interval": 30,
|
||||
"return-type": "text"
|
||||
},
|
||||
"custom/time": {
|
||||
"exec": "~/.config/waybar/scripts/builder.sh time",
|
||||
"interval": 30,
|
||||
"return-type": "text"
|
||||
}
|
||||
}
|
||||
|
||||
125
home/user/.config/waybar/scripts/builder.sh
Executable file
125
home/user/.config/waybar/scripts/builder.sh
Executable file
@ -0,0 +1,125 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -ue
|
||||
|
||||
|
||||
readonly EXIT_SUCCESS=0
|
||||
readonly EXIT_FAILURE=1
|
||||
|
||||
|
||||
cmd_wireless() {
|
||||
wifiname="$(LANG=C nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2)"
|
||||
wifi_ip=$(ip -o -4 addr show | grep wlp | awk '{print $4}' | cut -d/ -f1 | head -1)
|
||||
|
||||
if [ -z "${wifiname}" ] || [ -z "${wifi_ip}" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
printf ' %s %s\n' "${wifiname}" "${wifi_ip}"
|
||||
}
|
||||
|
||||
cmd_battery() {
|
||||
charging_status="$(cat /sys/class/power_supply/BAT0/status)"
|
||||
percent="$(cat /sys/class/power_supply/BAT0/capacity)"
|
||||
|
||||
if [ "${percent}" -lt 35 ]; then
|
||||
emoji_status="🪫"
|
||||
else
|
||||
emoji_status="🔋"
|
||||
fi
|
||||
|
||||
if [ "${charging_status}" = "Charging" ]; then
|
||||
emoji_status="🔌"
|
||||
fi
|
||||
|
||||
printf "%s %s%%\n" "${emoji_status}" "${percent}"
|
||||
}
|
||||
|
||||
cmd_disk_root() {
|
||||
df -h / | awk '/\// {print "/ "$3"/"$2}'
|
||||
}
|
||||
|
||||
cmd_disk_home() {
|
||||
res="$(df -h /home)"
|
||||
if [ "$(echo "${res}" | awk '/\// {print $6}')" = "/" ]; then
|
||||
return 1
|
||||
fi
|
||||
df -h /home | awk '/\// {print " "$3"/"$2}'
|
||||
}
|
||||
|
||||
cmd_memory() {
|
||||
free -h | awk '/^Mem/ {print "🎟 "$3"/"$2}' | sed 's/i//g'
|
||||
}
|
||||
|
||||
cmd_cpu_usage() {
|
||||
top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print " "100 - $1"%"}'
|
||||
}
|
||||
|
||||
cmd_cpu_temp() {
|
||||
temp_mC="$(cat /sys/class/thermal/thermal_zone0/temp)"
|
||||
temp_C="$((temp_mC / 1000))"
|
||||
|
||||
if [ "${temp_C}" -gt 80 ]; then
|
||||
printf '<span foreground="red"> %s°C</span>\n' "${temp_C}"
|
||||
else
|
||||
printf ' %s°C\n' "${temp_C}"
|
||||
fi
|
||||
}
|
||||
|
||||
cmd_time() {
|
||||
LC_ALL=C date '+ %d.%m.%y %a %H:%M'
|
||||
}
|
||||
|
||||
cmd_volume() {
|
||||
value="$(pactl --format=json get-sink-volume @DEFAULT_SINK@ | jq --raw-output '.volume."front-left".value_percent')"
|
||||
printf ' %s\n' "${value}"
|
||||
}
|
||||
|
||||
cmd_pomodoro() {
|
||||
pomodoro get
|
||||
}
|
||||
|
||||
cmd_bluetooth_battery() {
|
||||
device="$(upower -e | grep headset | head -1)"
|
||||
upower -i "${device}" | grep percentage | awk '{ print "🎧"$2"" }'
|
||||
}
|
||||
|
||||
cmd_language() {
|
||||
layout="$(swaymsg -t get_inputs | jq -r '.[] | select(.type == "keyboard") | .xkb_active_layout_name' | head -1)"
|
||||
|
||||
case "${layout}" in
|
||||
"English (US)")
|
||||
printf '🇬🇧 En\n'
|
||||
;;
|
||||
Russian)
|
||||
printf '🇷🇺 Ru\n'
|
||||
;;
|
||||
*)
|
||||
printf '🌐 %s\n' "${layout}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
cmd_userhost() {
|
||||
printf "%s@%s\n" "${USER}" "${HOST:-${HOSTNAME:-}}"
|
||||
}
|
||||
|
||||
case "${1}" in
|
||||
wireless) shift; cmd_wireless "$@" ;;
|
||||
ethernet) shift; cmd_ethernet "$@" ;;
|
||||
battery) shift; cmd_battery "$@" ;;
|
||||
disk_root) shift; cmd_disk_root "$@" ;;
|
||||
disk_home) shift; cmd_disk_home "$@" ;;
|
||||
memory) shift; cmd_memory "$@" ;;
|
||||
cpu_usage) shift; cmd_cpu_usage "$@" ;;
|
||||
cpu_temp) shift; cmd_cpu_temp "$@" ;;
|
||||
time) shift; cmd_time "$@" ;;
|
||||
volume) shift; cmd_volume "$@" ;;
|
||||
pomodoro) shift; cmd_pomodoro "$@" ;;
|
||||
bluetooth_battery) shift; cmd_bluetooth_battery "$@" ;;
|
||||
language) shift; cmd_language "$@" ;;
|
||||
userhost) shift; cmd_userhost "$@" ;;
|
||||
|
||||
*) exit "${EXIT_FAILURE}" ;;
|
||||
esac
|
||||
exit "${EXIT_SUCCESS}"
|
||||
8
home/user/.config/waybar/scripts/layout_change_handler.sh
Executable file
8
home/user/.config/waybar/scripts/layout_change_handler.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
swaymsg -m -t SUBSCRIBE "['input']" | \
|
||||
jq --unbuffered -r '.change' | while read -r line; do
|
||||
if echo "${line}" | grep -q "xkb_layout"; then
|
||||
pkill -RTMIN+3 waybar
|
||||
fi
|
||||
done
|
||||
111
home/user/.config/waybar/style.css
Normal file
111
home/user/.config/waybar/style.css
Normal file
@ -0,0 +1,111 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: "JetBrainsMono Nerd Font", "Font Awesome 6 Free", sans-serif;
|
||||
font-size: 14px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(0, 0, 0, 0);
|
||||
color: #ffffff;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 10px;
|
||||
color: #ffffff;
|
||||
background: transparent;
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: #ffffff;
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border-bottom: 2px solid #ffffff;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#custom-wireless,
|
||||
#custom-diskroot,
|
||||
#custom-diskhome,
|
||||
#custom-memory,
|
||||
#custom-cpu_usage,
|
||||
#custom-cpu_temp,
|
||||
#custom-bluetooth,
|
||||
#custom-volume,
|
||||
#custom-pomodoro,
|
||||
#custom-language,
|
||||
#custom-userhost,
|
||||
#custom-battery,
|
||||
#custom-time {
|
||||
padding: 0 12px;
|
||||
margin: 0 2px;
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#custom-wireless {
|
||||
color: #64B5F6;
|
||||
}
|
||||
|
||||
#custom-volume {
|
||||
color: #81C784;
|
||||
}
|
||||
|
||||
#custom-battery {
|
||||
color: #FFD54F;
|
||||
}
|
||||
|
||||
#custom-battery.warning {
|
||||
color: #FF8A65;
|
||||
}
|
||||
|
||||
#custom-battery.critical {
|
||||
color: #E57373;
|
||||
}
|
||||
|
||||
#custom-cpu_usage {
|
||||
color: #A5D6A7;
|
||||
}
|
||||
|
||||
#custom-cpu_temp {
|
||||
color: #FFAB91;
|
||||
}
|
||||
|
||||
#custom-memory {
|
||||
color: #90CAF9;
|
||||
}
|
||||
|
||||
#custom-pomodoro {
|
||||
color: #F48FB1;
|
||||
}
|
||||
|
||||
#custom-language {
|
||||
color: #CE93D8;
|
||||
}
|
||||
|
||||
#custom-userhost {
|
||||
color: #80DEEA;
|
||||
}
|
||||
|
||||
#custom-time {
|
||||
color: #E0E0E0;
|
||||
}
|
||||
|
||||
#custom-diskroot,
|
||||
#custom-diskhome {
|
||||
color: #B39DDB;
|
||||
}
|
||||
|
||||
#custom-bluetooth {
|
||||
color: #4FC3F7;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user