notify-send (alert) não exibindo mensagens de bolha da GUI

2

Quando descobri alias da noite passada, encontrei uma chamada alert , que chama notify-send , que deve exibir mensagens da bolha da GUI na área de trabalho. No meu caso, é mulit-monitor com a TV definida sobre o laptop embutido na tela virtual. Como tais bolhas de notificação (por exemplo, controle de volume) aparecem na TV.

Ontem à noite quando eu testei:

alert "Weather Update: It's raining Red States"

nada apareceu. No início, outro usuário da UA e eu pensamos que era porque o Youtube estava rodando em tela cheia e a janela do Google Chrome era definida como "sempre no topo". Acontece que esse não era o problema real e é um problema de novo.

Como posso obter alert alias para sempre funcionar?

PS: procurei perguntas semelhantes, mas elas não foram respondidas e / ou não fazem referência ao alert alias que desejo usar porque o comando nativo é difícil de lembrar, especialmente com os parâmetros de controle necessários.

    
por WinEunuuchs2Unix 10.11.2016 / 01:24

2 respostas

2

Aliases são criados automaticamente em ~ / .bashrc

Quando você olha em ~ / .bashrc você vê estas linhas:

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

O problema com o código é o --urgency=low flag. Às vezes a mensagem aparece, outras vezes não. Afinal, é baixa prioridade, certo?

Para que a mensagem apareça sempre, defina a urgência para critical . Em vez de alterar o padrão do sistema, criei uma nova linha para meus próprios propósitos:

# Add a "redalert" alias to pop-up on GUI desktop screens.  Use like so:
#   redalert "Weather update: It's raining Red States"
alias redalert='notify-send --urgency=critical -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

Agora você pode usar:

redalert "Weather Update: It's raining Red States"

e funciona perfeitamente!

    
por WinEunuuchs2Unix 10.11.2016 / 01:24
1

alert não se destina a ser usado da mesma maneira que notify-send . Se você quiser um nome mais atraente para notify-send , crie uma função, pois os aliases estão obsoletos. Por exemplo:

popup(){
    notify-send "$@"
}
    
por wjandrea 11.11.2016 / 08:37