beepop - popups com o texto digitado

Publicado por Perfil removido (última atualização em 03/06/2017)

[ Hits: 952 ]

Download beepop




Script inicialmente feito pelo z3bra, com algumas modificações minhas.

Ele deve ser executado preferencialmente com .xinitrc, no seu servidor Xorg.

Ele fica em background lendo texto que é enviado ao seu FIFO, se criar um symlink para o beepop com o nome de popup, você pode usar assim:

$ popup teste 1 2 3

Se não quiser pode só dar echo no FIFO.

$ echo teste 1 2 3 > "$XDG_RUNTIME_DIR"/beepop.fifo

Note que XDG_RUNTIME_DIR/beepop.fifo é o caminho padrão, edite o script para mudar.

  



Esconder código-fonte

#!/bin/sh
#
# depends: lemonbar, wattr, txtw, printf, awk and common sense

FIFO=$XDG_RUNTIME_DIR/beepop.fifo
SLEEP=1
CHAR="$(/usr/bin/printf '\uE054')"
FONT="Misc Termsynu:size=9"
BG="#ff000000"
FG="#ffffffff"

case "$(basename "$0")" in
    beepop)
        test -p "$FIFO" || mkfifo "$FIFO"

        tail -f "$FIFO" | while read -r LINE; do
          # These are calculations to create dynamic popups
          # really crude
          # TODO: make it better
          base=50
          x=$(wattr w "$(lsw -r)")
          echo $(( $(txtw -s 11 -f 'termsynu' "$LINE") + base )) > "$XDG_RUNTIME_DIR"/.popup
          barw=$(awk '{for (i=1;i<=NF;++i) total += $i; print total}' < "$XDG_RUNTIME_DIR"/.popup)
          bw=$(( barw + base ))
          offx=$(( x - bw - 24 ))

          (echo "%{c}$LINE %{F${HL}}$CHAR"; sleep "$SLEEP") | lemonbar -d -g "${bw}x24+${offx}+24" -f "$FONT" -B"$BG" -F"$FG"  &
        done
        ;;
    popup)
        echo "$*" > "$FIFO"
        ;;
esac

Scripts recomendados

Gerenciador de Conexões terminal server com Mysql

Achar IP 1.1

Para quem esquece facil das coisas

Backup-Script

Programa Escolar


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário