This commit is contained in:
thek4n 2025-10-23 19:55:40 +03:00
parent c655e40f6d
commit 3b7f374057
3 changed files with 130 additions and 35 deletions

View File

@ -12,6 +12,7 @@ set $i3lock_cmd "i3lock -enf -c 1e1e1e"
exec --no-startup-id xset s off exec --no-startup-id xset s off
exec --no-startup-id xset +dpms dpms 600 600 600 exec --no-startup-id xset +dpms dpms 600 600 600
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock -enf -c 1e1e1e exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock -enf -c 1e1e1e
exec --no-startup-id pomodoro daemon
# Notifications # Notifications
@ -35,10 +36,10 @@ set $font_size 11
font xft:FiraCode $font_size font xft:FiraCode $font_size
# use pactl to adjust volume in PulseAudio. # use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status set $refresh_i3blocks killall -10 i3blocks
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3blocks
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3blocks
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3blocks
bindsym XF86AudioPlay exec playerctl play-pause bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioPause exec playerctl play-pause bindsym XF86AudioPause exec playerctl play-pause
@ -52,8 +53,8 @@ bindsym XF86MonBrightnessDown exec xbacklight -dec 20
bindsym $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk 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 bindsym --release $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute
bindsym $mod+Shift+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status bindsym $mod+Shift+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3blocks
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3blocks
bindsym XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk bindsym XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk
bindsym --release XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute bindsym --release XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute

View File

@ -1,49 +1,56 @@
# Общие настройки
command=$SCRIPT_DIR/$BLOCK_NAME
separator_block_width=15 separator_block_width=15
markup=none markup=none
# Цвета (в формате #RRGGBB)
color=#FFFFFF color=#FFFFFF
# Интервал обновления (в секундах)
interval=5 interval=5
# Блоки (модули) [wireless]
command=i3blocks_helper wireless
interval=10
[time] [ethernet]
command=date '+%H:%M:%S %d.%m.%Y' command=i3blocks_helper ethernet
label= interval=10
interval=5
color=#f1fa8c [diskroot]
command=i3blocks_helper disk_root
interval=30
[diskhome]
command=i3blocks_helper disk_home
interval=30
[memory] [memory]
command=free -h | awk '/^Mem/ {print $3 "/" $2}' | sed 's/i//g' command=i3blocks_helper memory
label=
interval=5 interval=5
color=#50fa7b
[cpu_usage] [cpu_usage]
command=top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}' command=i3blocks_helper cpu_usage
label=
interval=5 interval=5
color=#ff79c6
[disk] [cpu_temp]
command=df -h / | awk '/\// {print $4}' command=i3blocks_helper cpu_temp
label= interval=5
interval=30
color=#8be9fd
[network] [bluetooth]
command=echo "$(LANG=C nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2) $(ip -o -4 addr show | awk '{print $4}' | cut -d/ -f1 | head -1)" command=i3blocks_helper bluetooth_battery
label= interval=5
interval=10
color=#bd93f9 [battery]
command=i3blocks_helper battery
interval=5
[volume] [volume]
command=amixer get Master | awk -F'[][]' '/%/ {print $2}' | head -n 1 command=i3blocks_helper volume
label=
interval=1 interval=1
signal=10 # Для обновления по сигналу (например, после изменения громкости) signal=10
[pomodoro]
command=pomodoro formatted
interval=1
signal=10
[time]
command=env LC_ALL=C date '+ %d.%m.%y %a  %H:%M'
interval=5

View File

@ -0,0 +1,87 @@
#!/bin/sh
set -ue
readonly EXIT_SUCCESS=0
readonly EXIT_FAILURE=1
cmd_wireless() {
return 0 # todo 
}
cmd_ethernet() {
return 0 # todo
echo "$(LANG=C nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2) $(ip -o -4 addr show | awk '{print $4}' | cut -d/ -f1 | head -1)"
}
cmd_battery() {
return 0 # todo
}
cmd_disk_root() {
df -h / | awk '/\// {print "/ "$2"/"$3}'
}
cmd_disk_home() {
res="$(df -h /home)"
if [ "$(echo "${res}" | awk '/\// {print $6}')" != "/home" ]; then
return 1
fi
df -h /home | awk '/\// {print " "$2"/"$3}'
}
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
echo " ${temp_C}°C"
exit 33 # bad
else
echo " ${temp_C}°C"
fi
}
cmd_time() {
LC_ALL=C date '+ %d.%m.%y %a  %H:%M'
}
cmd_volume() {
amixer get Master | awk -F'[][]' '/%/ {print " "$2}' | head -n 1
}
cmd_pomodoro() {
pomodoro formatted
}
cmd_bluetooth_battery() {
return 0
}
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 "$@" ;;
*) exit "${EXIT_FAILURE}" ;;
esac
exit "${EXIT_SUCCESS}"