Existe-t-il un moyen de lancer une "animation urgente" d'une icône sur le lanceur Unity à partir de la ligne de commande?

9

Ce serait formidable si l'on pouvait l'utiliser dans le terminal pour annoncer qu'un travail exigeant en temps est effectué, par exemple "apt-get dist-upgrade; urg-anim".

Jan Nekvasil
la source

Réponses:

8

Vous pouvez définir l'indice d'urgence à l'aide de wmctrl(doit être installé):

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

$WINDOWIDest une variable contenant l'ID de la fenêtre du terminal. Parce que c'est assez long à taper, vous pouvez configurer un alias pour cela dans votre ~/.bashrc:

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

Ensuite, vous exécutez simplement:

some_task ; set_urgent

Bien sûr, cela ne fera rien si le terminal est actif au moment où la wmctrlcommande est exécutée.

htorque
la source
1
Si vous voulez un remplaçant pour some_task(pour les tests), utilisez sleep 5, qui fera une pause de 5 secondes. En outre, vous voudrez remplacer le texte cité "Terminal" par (une partie de) le titre de votre terminal, car le mot "Terminal" peut ne pas apparaître dans le titre de la fenêtre de votre terminal (cela peut être configuré via Édition-> Préférences de profil -> onglet Titre et commande -> Lorsque les commandes du terminal définissent leur propre liste déroulante de titre.).
Kevin
Oui, faire cela via l'appariement de titres est moche. J'ai cherché un moyen de retourner l'ID de fenêtre du terminal et de l'utiliser avec le commutateur -i de wmctrl, mais pas de chance.
htorque
Le wiki compiz contient des informations très utiles à ce sujet
Kevin
Le problème avec cela est qu'il est interactif - vous devez cliquer sur une fenêtre pour obtenir les informations. Ce qui serait bien: alias urgent_blink='wmctrl -i -r $(get me the window id) -b add,demands_attention'. D'un autre côté, peu importe quelle instance de terminal fait basculer le lanceur.
htorque
1
Merci pour vos réponses, ma solution finale est:alias yoo-hoo='wmctrl -i -r $WINDOWID -b add,demands_attention
Jan Nekvasil
1

Installez notify-send.

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