Existe alguma maneira de iniciar a "animação urgente" de um ícone no iniciador do Unity a partir da linha de comando?

9

Seria ótimo se alguém pudesse usá-lo no terminal para anunciar que algum trabalho demorado é feito, por exemplo, "apt-get dist-upgrade; urg-anim".

Jan Nekvasil
fonte

Respostas:

8

Você pode definir a dica de urgência usando wmctrl(precisa ser instalado):

some_task ; wmctrl -i -r $WINDOWID -b add,demands_attention

Onde $WINDOWIDé uma variável que contém o ID da janela do terminal. Como é muito longo para digitar, você pode configurar um alias para ele em seu ~/.bashrc:

alias set_urgent='wmctrl -i -r $WINDOWID -b add,demands_attention'

Então você simplesmente executaria:

some_task ; set_urgent

Obviamente, isso não fará nada se o terminal estiver ativo no momento em que o wmctrlcomando for executado.

htorque
fonte
1
Se você deseja um substituto some_task(para teste), use sleep 5, o que será interrompido por 5 segundos. Além disso, convém substituir o texto citado "Terminal" por (parte de) o título do seu terminal, pois a palavra "Terminal" pode não ocorrer no título da janela do seu terminal (isso pode ser configurado em Editar-> Preferências do perfil -> Guia Título e comando-> Quando os comandos do terminal definem seu próprio título suspenso.).
Kevin
Sim, fazer isso através da correspondência de títulos é feio. Eu procurei uma maneira de retornar o ID da janela do terminal e usá-lo com a opção -i do wmctrl, mas sem sorte.
Htorque 5/05
O wiki compiz tem algumas informações muito úteis sobre este
Kevin
O problema é que é interativo - você precisa clicar em uma janela para obter as informações. O que seria ótimo: alias urgent_blink='wmctrl -i -r $(get me the window id) -b add,demands_attention'. Por outro lado, não importa qual instância do terminal faz com que o lançador se mexa.
Htorque
1
Obrigado por suas respostas, minha solução final é:alias yoo-hoo='wmctrl -i -r $WINDOWID -b add,demands_attention
Jan Nekvasil 6/11
1

Instale o envio de notificação.

sudo apt-get update; sudo apt-get upgrade; notify-send 'Ubuntu updated' 'All updates complete'
wojox
fonte