Элементарный звонок терминала ОС в UBUNTU

Я недавно перешел с Elementary OS на UBUNTU 20.04 LTS. Одной из очень полезных функций Elementary OS был звонок терминала. Когда команда в терминале завершена, в области уведомлений раздается звук звонка и уведомление.

Этого можно достичь, используя notify-send «Задача завершена» && printf '\ a' вместе с исходной командой, используя && .

Но вот в чем загвоздка:
1. Эта команда очень длинная и ее нужно набирать каждый раз. псевдоним можно использовать, но вам все равно придется вводить его каждый раз.
2. Он звонит, даже когда терминал находится в фокусе.

Итак, мой вопрос: я хочу, чтобы каждый раз выполнялась конкретная команда, а именно notify-send «Задача завершена» && printf '\ a' , только когда терминал не в фокусе. И это тоже, не вводя это каждый раз.

РЕДАКТИРОВАТЬ 1 Некоторые люди предлагали Как издать звук после завершения процесса?
Но мой вопрос заключался в том, чтобы позвонить в колокольчик, не набирая никаких дополнительных команд. Есть ли способ интегрировать какой-то скрипт или что-то в самом терминале, чтобы он сам вызывал звуковой сигнал без каких-либо дополнительных команд.

0
задан 3 May 2020 в 11:19

1 ответ

Интересный вопрос!

Я придумал свою собственную смесь, используя xdotool (sudo apt-get install xdotool) и pstree (sudo apt-get установите psmisc).

#! /bin/bash
ACTIVE_WINDOW_PID=$(xdotool getactivewindow getwindowpid)
if [ ! $(pstree -spA $PPID | grep "(${ACTIVE_WINDOW_PID})") ]; then
  notify-send "Task Complete" && printf '\a'
fi

У меня есть это в ~/bin/ring, и я использовал следующую команду, чтобы проверить, работает ли это: sleep 3 ; ~/bin/кольцо.

Используя xdotool, вы даже можете получить заголовок окна и сообщить об этом с помощью notify-send или сфокусировать окно терминала, когда команда существует.

0
ответ дан 14 August 2020 в 19:58

Другие вопросы по тегам:

Похожие вопросы: