dotfiles

Dash Eclipse's dotfiles
git clone git://ezup.dev/dotfiles.git
Log | Files | Refs | README | LICENSE

lemon2bstatus.sh (1875B)


      1#!/bin/sh
      2
      3# xlsfonts | grep terminus-bold | grep iso10646
      4FONT="-xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso10646-1"
      5
      6get_time() { date -u +%FT%TZ ; }
      7
      8get_workspace() {
      9	# current workspace
     10	CURRENT_WS=$(xprop -root _NET_CURRENT_DESKTOP | sed -e 's/.* = //')
     11	# window name
     12	CURRENT_WINDOW_ID=$(xprop -root _NET_ACTIVE_WINDOW | sed 's/.* window id # //')
     13	[ "$CURRENT_WINDOW_ID" != "0x0" ] && CURRENT_WINDOW_NAME=$(xprop -id "$CURRENT_WINDOW_ID)" WM_NAME | sed 's/.* = "\(.*\)"/\1/')
     14	# all workspaces
     15	CLIENT_LIST=$(xprop -root _NET_CLIENT_LIST | sed 's/.*: window id # //; s/, / /g')
     16	WS=$(for id in $CLIENT_LIST; do
     17		xprop -id "$id" _NET_WM_DESKTOP | sed 's/.* = //;'
     18	done | sort -hu | sed "s/^/ /; s/$/ /; s/ $CURRENT_WS /%{F#3498db}[$CURRENT_WS]%{F-}%{B-}/" | tr -d '\n')
     19	echo "$WS" | grep $CURRENT_WS >/dev/null 2>&1
     20	[ "$?" -ne 0 ] && WS="$WS($CURRENT_WS)"
     21	echo "$WS -  %{F#ecf0f1}$CURRENT_WINDOW_NAME%{B-}"
     22
     23}
     24
     25get_kbd() { xprop -root _XKB_RULES_NAMES | awk -F\" '{print $6, "("$8")" }' ; }
     26
     27get_tray() {
     28	CLIENT_LIST=$(xprop -root _NET_CLIENT_LIST | sed 's/.*: window id # //; s/, / /g')
     29	for id in $CLIENT_LIST; do
     30		xprop -id "$id" _NET_WM_STATE | grep '^_NET_WM_STATE(_NET_WM_STATE) = 0x3,' >/dev/null
     31		if [ "$?" -eq 0 ]; then
     32			local CLASS=$([ "$?" -eq 0 ] && xprop -id "$id" WM_CLASS | cut -d\" -f4)
     33			if [ -z "$CLASS" ]; then local NAME=$id; else local NAME=$CLASS; fi
     34			echo "%{A:xdotool windowactivate $id windowraise $id:}($NAME)%{A}"
     35		fi
     36	done | paste -s -d' '
     37}
     38
     39#hidden -c xargs 9menu -popup -label Iconics -font "$FONT" #-geometry '0x0+1440+1020'
     40# 1440x22+0+0
     41# 1430x24+5+5
     42# 1080x27+1440+0
     43showbar() {
     44	while true; do
     45		echo " $(get_workspace) %{r}$(get_tray) %{F#b2babb}%{B#212f3d} $(get_kbd) $(get_time) %{F-}%{B-}"
     46		sleep 0.2
     47	done | lemonbar -p -f "$FONT" -g '1430x24+5+5' -n 'leftbar' -B '#1c2833' -F '#eeeeee' | sh
     48}
     49
     50showbar