Есть ли способ вывести терминал на передний план, когда все, что я запустил, сделано?

Так что мне интересно, можно ли было вывести мой терминал, когда то, что я бегу, теперь сделано.

Я не беру в свое время такие вещи, как

run_long_task; take_to_front_somehow;

но что-то, что сделает это автоматически.

Это значительно улучшило бы мою производительность:)

Я использую zshell (если это поможет)

1
задан 25 April 2014 в 13:58

2 ответа

Сначала необходимо установить wmctrl, который является инструментом командной строки для взаимодействия с совместимым менеджером по X Window EWMH/NetWM:

sudo apt-get install wmctrl

, Чтобы сфокусировать правильный Терминал, необходимо будет запустить его с данного заголовка, как это:

gnome-terminal -t tototiti

Тогда можно выявить его со следующей командой:

sleep 10; wmctrl -a tototiti

Примечание : wmctrl -a STRING дает фокус окну, содержащему СТРОКУ в ее заголовке

, Протестированном и с bash и с zsh

0
ответ дан 25 April 2014 в 13:58

Хорошо я получил его работа.

, Таким образом, я должен был найти способ включить к быстрому дисплею.

Так basicly в моей zsh теме я добавил метод для выявления текущего окна.

function bring_to_front {
  xdotool windowactivate $WINDOWID
}

$WINDOWID на самом деле установлен терминалом гнома автоматически.

и волшебство должен только назвать тот метод как часть подсказки. этот путь каждый раз подсказка отображена, это выявит его. И так как подсказка отображена, когда предыдущая команда закончена...

PROMPT='$(bring_to_front)${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

следующая вещь, которой я пытаюсь достигнуть, состоит в том, чтобы выбрать правильную вкладку. Я обновлю ответ, если я получу ту работу.

РЕДАКТИРОВАНИЕ

Бонусный Переключатель к правильной Правовой оговорке вкладки

: Это - hacky как ад, так терпите меня.

это работает только на терминал гнома.

function alert_done {
  xdotool windowactivate $WINDOWID
  child_count=`pgrep --parent $PPID -c`
  # we need to remove the first child as it's gnome-tty-helper and not a tab
  terminal_count=`expr $child_count - 1`
  terminal_pids=`pgrep --parent $PPID | tail -n $terminal_count | tr '\n' ' '`
  eval "pid_array=($terminal_pids)"
  xdotool key alt+${(k)pid_array[(r)$]}
}
0
ответ дан 25 April 2014 в 13:58

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

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