beepop - popups com o texto digitado

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

[ Hits: 1.229 ]

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

Script simples para adicionar usuarios do djbdns

burncd.sh

retira espaços em branco de arquivos

Cadastrando e removendo usuários do SAMBA com um script

Alternador de wallpaper para GNOME


  

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