beepop - popups com o texto digitado

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

[ Hits: 1.206 ]

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

Configurar Rede Local

ALSA executando Firefox

Adicionando Chaves de Repositórios Facilmente

Agenda telefônica

Cadastro de usuários no Samba


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts