Czy jest jakiś sposób na zainicjowanie „pilnej animacji” ikony w programie uruchamiającym Unity z wiersza poleceń?

9

Byłoby wspaniale, gdyby można było użyć go w terminalu do ogłaszania, że ​​wykonano trochę pracochłonnego zadania, np. „Apt-get dist-upgrade; urg-anim”.

Jan Nekvasil
źródło

Odpowiedzi:

8

Możesz ustawić wskazówkę dotyczącą pilności za pomocą wmctrl(należy zainstalować):

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

Gdzie $WINDOWIDjest zmienna przechowująca identyfikator okna terminala. Ponieważ wpisywanie jest dość długie, możesz ustawić dla niego alias w ~/.bashrc:

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

Następnie wystarczy uruchomić:

some_task ; set_urgent

Oczywiście nic to nie da, jeśli terminal jest aktywny w momencie uruchomienia wmctrlpolecenia.

htorque
źródło
1
Jeśli chcesz skorzystać z trybu stand-in some_task(do testowania), użyj sleep 5, który wstrzyma się na 5 sekund. Powinieneś także zamienić cytowany tekst „Terminal” na (część) tytułu twojego terminalu, ponieważ słowo „Terminal” może nie występować w tytule okna twojego terminalu (można to skonfigurować poprzez Edycja-> Preferencje profilu -> karta Tytuł i polecenie-> Kiedy polecenia terminalu ustawiają własny tytuł.).
Kevin
Tak, robienie tego poprzez dopasowywanie tytułów jest brzydkie. Szukałem sposobu na zwrócenie identyfikatora okna terminala i użycie go z przełącznikiem -i wmctrl, ale bez powodzenia.
htorque
Wiki compiz ma bardzo przydatne informacje na ten temat
Kevin
Problem polega na tym, że jest interaktywny - musisz kliknąć okno, aby uzyskać informacje. Co byłoby świetnie: alias urgent_blink='wmctrl -i -r $(get me the window id) -b add,demands_attention'. Z drugiej strony nie powinno mieć znaczenia, które wystąpienie terminala powoduje poruszenie programu uruchamiającego.
htorque
1
Dzięki za odpowiedzi, moje ostateczne rozwiązanie to:alias yoo-hoo='wmctrl -i -r $WINDOWID -b add,demands_attention
Jan Nekvasil
1

Zainstaluj powiadomienie-wyślij.

sudo apt-get update; sudo apt-get upgrade; notify-send 'Ubuntu updated' 'All updates complete'
wojox
źródło