summaryrefslogtreecommitdiff
path: root/statusline.sh
blob: e45da0d3b4ad724c56fa688998b3a7d39fb97ba6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/sh
export HOSTNAME=$(cat /etc/hostname)
export LC_ALL=ru_RU.UTF-8
while true
do
	ipinfo=$(ip -json address | jq -r 'map(
    select(.link_type!="loopback" and .ifname!="vswitch" and .operstate!="DOWN")
    |.ifname+"/"+ (.addr_info[]|select(.scope!="link")|.local))|join(" ")'
)
	command -v acpi 2>/dev/null 1>&2 && {
  	bat="BAT:$(acpi -b|head -n1|sed -r 's/.*, ([0-9]+\%).*/\1/') "
  	[ "$bat" = "BAT: " ] && bat=""
	}
  layout_raw=$(swaymsg -t get_inputs |
    jq -r 'map(select(has("xkb_active_layout_name")))[0].xkb_active_layout_name')
  case "$layout_raw" in
    "English (US)")
      layout=En
      ;;
    "Russian")
      layout=Ru
      ;;
  esac
  curweekday=$(date +'%a')
  case $curweekday in
    *)
      date="$(date +'%Y-%m-%d %a %H:%M')"
      ;;
    Сб|Вс)
      date="chill $curweekday $(date +'%Y-%m-%d')"
      ;;
  esac
  printf "|%s|%s|%s|%s%s\n" \
    "$ipinfo" "$HOSTNAME" "$date" "$bat" "$layout" # "$netdev_stat"
  sleep 4
done