#!/bin/sh
# periodically print date and load average to the bar
#
xwrite() {
file="$1"; shift
echo -n "$@" | wmiir write "$file"
}
#
# Date and load
wmiir remove /bar/status 2>/dev/null && sleep 2
wmiir create /bar/status
xwrite /bar/status/colors $WMII_NORMCOLORS
#
# MPD
wmiir remove /bar/mpd 2>/dev/null && sleep 2
wmiir create /bar/mpd
xwrite /bar/mpd/colors $WMII_NORMCOLORS
#
# NET
wmiir remove /bar/net 2>/dev/null && sleep 2
wmiir create /bar/net
xwrite /bar/net/colors $WMII_NORMCOLORS
IF="ppp0"
while :
do
xwrite /bar/status/data Date: `date` Load: `uptime | sed 's/.*://; s/,//g'`
# xwrite /bar/mpd/data MPD: [`mpc | sed -n '2s/\[\(.*\)\].*/\1/;2s/playing/p/p;2s/paused/s/p;2s/stopped/t/p'`] `mpc | sed -n '1p'` `mpc | sed -n '2s/.*\]//p'`
xwrite /bar/mpd/data MPD: `~/bin/minimpc|iconv -f UTF-8 -t KOI8-R`
if (ifconfig $IF | grep UP > /dev/null)
then
xwrite /bar/net/data $IF: `ifconfig $IF | grep inet | cut -f 2 -d : | cut -f 1 -d " "`
else
xwrite /bar/net/data $IF: down
fi
sleep 1
doneВот его кусок. В wmii используется псевдо фс, навроде proc, через которую можно получить доступ ко всем окнам, а также к компонентам wm. Как вариант, это можно делать с помощью шелл-скриптов. Очень, на мой взгляд, занятная задумка. Теперь в голове уложилось?