Vinnaren i pepparkakshustävlingen!
2016-10-27, 22:07
  #1
Medlem
Har efter mycket om och men fått ordning på en panel som jag kan jobba vidare med. Blev endel klippa och klistra men tillslut blev det okej. Såhär i "panel" filen ut:

Kod:
function statusbar() {

        function tags() {
        des=$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}')
         if [[ "$des" == "0" ]]; then
                echo -e '^fg(#918B88)1 ^fg(#a02098)2 3 4 5'
        elif [[ "$des" == "1" ]]; then
                echo -e '^fg(#a02098)1 ^fg(#918B88)2 ^fg(#a02098)3 4 5'
        elif [[ "$des" == "2" ]]; then
                 echo -e '^fg(#a02098)1 2 ^fg(#918B88)3 ^fg(#a02098)4 5'
        elif [[ "$des" == "3" ]]; then
                echo -e '^fg(#a02098)1 2 3 ^fg(#918B88)4 ^fg(#a02098)5'
        elif [[ "$des" == "4" ]]; then
                echo -e '^fg(#a02098)1 2 3 4 ^fg(#918B88)5^fg(#a02098)'
        fi
        }

function activeWindow() {
        active=$(xdotool getwindowfocus getwindowname)
        echo -n "^i(/home/xxx/.config/bspwm/icons/pacman.xbm) $active"
}

function battery () {
    BAT_PERCENT=$(acpi -b | grep -Po "\d{1,}%")

    BAT_CHARGING=$(acpi -b | grep -Eo "(arging|Full)")
    if [[ -n $BAT_CHARGING  ]]; then

        BAT_VAL=$(echo $BAT_PERCENT | grep -Po "\d{2,}")
        if [[ $BAT_VAL -gt 70  ]]; then
            echo -n "  ^fg(#918B88)^i(/home/xxx/.config/bspwm/icons/bat_full_01.xbm)^fg()"
        elif [[ $BAT_VAL -gt 30  ]]; then
            echo -n "  ^fg(#918B88)^i(/home/xxx/.config/bspwm/icons/bat_low_01.xbm)^fg()"
        else
            echo -n "  ^fg(#918B88)^i(/home/xxx/.config/bspwm/icons/bat_empty_01.xbm)^fg()"
        fi

        echo -n "^fg(#a02098) $BAT_PERCENT"
    else
        echo -n "^i(/home/xxx/.config/bspwm/ac_01.xbm)^fg()"
    fi

    return

}

function clock() {
        hour=$(date +"%H:%M:%S")
        echo -n "^i(/home/xxx/.config/bspwm/icons/clock.xbm) ^fg(#a02098) $hour"
        return

}

        echo "$(tags) ^fg(#918B88) $(activeWindow) ^pa(1330) $(clock) $(battery)"


}
        while true
        do
                echo "$(statusbar)"
                sleep 0.1
done | dzen2 -h '16' -w '1440' -ta l -fg '#aaaaaa' -bg '#222222' -fn '-*-fixed-medium-*-*-*-10-*-*-*-*-*-*-*' &

Jag är medveten om att man kan använda lemonbar och FIFO, men valt att inte göra det. Gjorde det innan, men då visste jag inte öht hur jag skulle kunna ändra det jag vill. Problemet är iaf att lägger jag till "panel &" i bspwmrc så startar den inte när bspwm startar. Däremot startar panelen fint när jag skriver "panel" i en terminal.

Någon som vet vad som är knas? Har kört chmod +x på filen.

Skall sägas att har jag enbart t.ex. "conky | dzen2 *blaha blaha*" i filen, och en .conkyrc med lite grejer jag testade innan, så startar panelen fint.
__________________
Senast redigerad av yokisuci 2016-10-27 kl. 22:29.
Citera
2016-10-27, 23:11
  #2
Medlem
Fick ordning på det, med hjälp av lite modifierande av exempel "panel" filen.

Kod:
#! /bin/bash

if xdo id -a "$PANEL_WM_NAME" > /dev/null ; then
        printf "%s\n" "The panel is already running." >&2
        exit 1
fi

trap 'trap - TERM; kill 0' INT TERM QUIT EXIT

[ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO"
mkfifo "$PANEL_FIFO"

bspc subscribe report > "$PANEL_FIFO" &

panel_bar < "$PANEL_FIFO" |  dzen2 -h '16' -w '1440' -ta l -fg '#aaaaaa' -bg '#222222' -fn '-*-fixe$

wid=$(xdo id -a "$PANEL_WM_NAME")
tries_left=20
while [ -z "$wid" -a "$tries_left" -gt 0 ] ; do
        sleep 0.05
        wid=$(xdo id -a "$PANEL_WM_NAME")
        tries_left=$((tries_left - 1))
done
[ -n "$wid" ] && xdo above -t "$(xdo id -N Bspwm -n root | sort | head -n 1)" "$wid"

wait

Tidigare fel heter panel_bar.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback