master ohmu/dihfiles / bin / bar
ohmu  ·  2026-09-26
 1#!/bin/sh
 2#!/bin/sh
 3
 4WS_DIR="/tmp/workspaces"
 5NUM_WS=6
 6PAD="     "
 7
 8ws_status() {
 9    curr=$(cat "$WS_DIR/curr" 2>/dev/null || echo 0)
10    output="$PAD"
11    
12    i=0
13    while [ $i -lt $NUM_WS ]; do
14        ws_file="$WS_DIR/ws$i"
15        if [ -f "$ws_file" ]; then
16            windows=$(cat "$ws_file" 2>/dev/null | tr -d '\n')
17            if [ "$i" = "$curr" ]; then
18                output="${output}%{F#d2d0b3}+%{F-}"
19            else
20                if [ -n "$windows" ]; then
21                    output="${output}%{F#3b4261}=%{F-}"
22                else
23                    output="${output}%{F#2f2f2f}-%{F-}"
24                fi
25            fi
26        else
27            if [ "$i" = "$curr" ]; then
28                output="${output}%{F#d2d0b3}@%{F-}"
29            else
30                output="${output}%{F#2f2f2f}-%{F-}"
31            fi
32        fi
33        i=$((i + 1))
34    done
35    
36    echo "$output"
37}
38
39ws_status_loop() {
40    while true; do
41        ws_status
42        sleep 0.1
43    done
44}
45
46date_loop() {
47    while true; do
48        echo "%{F#d2d0b3}    $(date "+%a %d/%m")%{F-}"
49        sleep 30
50    done
51}
52
53time_loop() {
54    while true; do
55        echo "%{F#1a1b26}       $(date '+%H:%M')%{F-}"
56        sleep 1
57    done
58}
59
60ws_status_loop | lemonbar -g 180x45+90+120 -d -B "#1a1b26" -F "#c0caf5" -f "Iosevka Oui Light:size=16" 2>/dev/null &
61date_loop | lemonbar -g 180x45+60+75 -d -B "#202020" -F "#c0caf5" -f "Iosevka Oui Light:size=12" 2>/dev/null &
62time_loop | lemonbar -g 180x45+30+30 -d -B "#d2d0b3" -F "#1a1b26" -f "Iosevka Oui Light:size=12" 2>/dev/null &
63
64wait