diff --git a/.config/i3/bar.sh b/.config/i3/bar.sh new file mode 100755 index 0000000..d050415 --- /dev/null +++ b/.config/i3/bar.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +/usr/local/bin/i3status | while : +do + read line + if echo "${line}" | grep -Pq '^\{"version":\d\}$' ; then + echo $line + elif echo "${line}" | grep -Pq '^\[$' ; then + echo $line + else + echo -n "[" + line=`echo "${line}" | sed 's/^,\{0,1\}\[//' | sed 's/\]$//'` + NB_UPDATES=`/sbin/checkupdates | /sbin/wc -l` + NB_UPDATES_COLOR="#40AA40" + if [ $NB_UPDATES -ge 10 ] ; then + NB_UPDATES_COLOR="#FF8C00" + elif [ $NB_UPDATES -ge 25 ] ; then + NB_UPDATES_COLOR="#FF0000" + fi + echo -n "{" + echo -n "\"name\":\"updates\"," + echo -n "\"full_text\":\"pending updates: ${NB_UPDATES} \"," + echo -n "\"color\":\"${NB_UPDATES_COLOR}\"," + echo -n "\"markup\":\"pango\"" + echo -n "}," + echo "$line]" || exit 1 + echo -n "," + fi +done diff --git a/.config/i3/config b/.config/i3/config index e5a7f00..86616e3 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -203,7 +203,7 @@ bindsym $mod+r mode "resize" # finds out, if available) bar { tray_output primary - status_command /usr/local/bin/i3status + status_command "sh ~/.config/i3/bar.sh" position top separator_symbol " | " colors { diff --git a/.config/i3status/config b/.config/i3status/config index 69a24ec..374411c 100755 --- a/.config/i3status/config +++ b/.config/i3status/config @@ -7,6 +7,7 @@ # If the above line is not correctly displayed, fix your editor first! general { + output_format = "i3bar" colors = true interval = 5 color_good = "#40AA40"