Gibt es eine Möglichkeit, eine "dringende Animation" eines Symbols auf dem Unity-Launcher über die Befehlszeile zu initiieren?

9

Es wäre großartig, wenn man es im Terminal verwenden könnte, um anzukündigen, dass eine zeitintensive Arbeit erledigt ist, z. B. "apt-get dist-upgrade; urg-anim".

Jan Nekvasil
quelle

Antworten:

8

Sie können den Dringlichkeitshinweis festlegen mit wmctrl(muss installiert werden):

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

Wo $WINDOWIDist eine Variable, die die ID des Terminalfensters enthält? Da die Eingabe ziemlich lang ist, können Sie einen Alias ​​dafür einrichten in ~/.bashrc:

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

Dann rennst du einfach:

some_task ; set_urgent

Dies führt natürlich zu nichts, wenn das Terminal zum Zeitpunkt der wmctrlBefehlsausführung aktiv ist.

htorque
quelle
1
Wenn Sie einen Ersatz für some_task(zum Testen) wünschen , verwenden Sie sleep 5, der für 5 Sekunden angehalten wird. Außerdem möchten Sie den zitierten Text "Terminal" durch (einen Teil) des Titels Ihres Terminals ersetzen, da das Wort "Terminal" im Fenstertitel Ihres Terminals möglicherweise nicht vorkommt (dies kann über Bearbeiten-> Profileinstellungen konfiguriert werden -> Registerkarte Titel und Befehl-> Wenn Terminalbefehle ihre eigene Titel-Dropdown-Liste festlegen.).
Kevin
Ja, dies über Titelabgleich zu tun, ist hässlich. Ich habe nach einer Möglichkeit gesucht, die Fenster-ID des Terminals zurückzugeben und sie mit dem Schalter -i von wmctrl zu verwenden, aber kein Glück.
Htorque
Das Compiz-Wiki hat einige wirklich hilfreiche Informationen dazu
Kevin
Das Problem dabei ist, dass es interaktiv ist - Sie müssen auf ein Fenster klicken, um die Informationen zu erhalten. Was wäre toll : alias urgent_blink='wmctrl -i -r $(get me the window id) -b add,demands_attention'. Auf der anderen Seite sollte es keine Rolle spielen, welche Terminalinstanz den Launcher zum Wackeln bringt.
Htorque
1
Vielen Dank für Ihre Antworten, meine endgültige Lösung ist:alias yoo-hoo='wmctrl -i -r $WINDOWID -b add,demands_attention
Jan Nekvasil
1

Installieren Sie notify-send.

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