Сделайте Ctrl-Alt-T, чтобы открыть вкладку терминала, если какой-либо терминал был открыт

Есть ли способ получить Ctrl + Alt + T, чтобы открыть вкладку терминала, если у вас уже есть открытый терминал, вместо другого окна терминала?

Я уже изменил свои настройки, чтобы открыть новую терминалов в табл. (Я все еще хочу, чтобы привязка клавиш открывала терминал, если никто не открыт.)

1
задан 28 April 2017 в 12:54

3 ответа

Вот что я сделал, и это сделало работу довольно неплохой.

измените gnome-terminal параметры по умолчанию, если вы его изменили. поэтому, установите Ctrl + Shift + t как ярлык для открытия новой вкладки. Нам нужно xdotool (около 30 КБ) установить его через:
sudo apt install xdotool
Теперь создайте файл (например, в вашем доме с именем .custom-terminal-key.sh) и поместите в него эти строки (Спасибо Jacob Vlijm):
#!/bin/bash

if [[ "$(xprop -id "$(xdotool getactivewindow)" WM_CLASS)" == *"gnome-terminal"* ]]; then
  sleep 0.1
  xdotool key ctrl+shift+t
elif ! pgrep 'gnome-terminal'; then
  gnome-terminal
fi
Каждый раз, когда мы запустите его, если какой-либо gnome-terminal был открыт, он будет имитировать привязку клавиш Ctrl + Shift + t, иначе он запускает gnome-terminal. Наконец, мы меняем поведение по умолчанию Ctrl + Alt + t, вместо того, чтобы открывать терминал каждый раз, когда вы нажимаете на них, он запускает наш скрипт.
gsettings set org.gnome.desktop.default-applications.terminal exec '/home/USER/.custom-terminal-key.sh'
Измените USER на свое реальное имя пользователя. Не забудьте дать нашему скрипту исполняемый бит:
chmod +x ~/.custom-terminal-key.sh

Мы закончили.

Откат

Всякий раз, когда вы передумали, просто запустите:

gsettings set org.gnome.desktop.default-applications.terminal exec 'gnome-terminal'

Удалите наш скрипт rm ~/.custom-terminal-key.sh и xdotool : sudo apt remove xdotool.

Получение активного имени окна

1
ответ дан 22 May 2018 в 23:10
  • 1
    возможно, добавьте условие, чтобы проверить, является ли окно гном-терминала активным, поднимите его, если нет. Иначе команда может оказаться в неправильном приложении. – Jacob Vlijm 27 April 2017 в 21:13
  • 2
    @JacobVlijm Спасибо, обновил код;) – Ravexina 27 April 2017 в 21:50
  • 3
    Тем не менее он работает, когда окно активно, но нет, если это не так. Я не думаю, что ответ, который вы используете в ссылке, является лучшим в этом вопросе, хотя :) – Jacob Vlijm 27 April 2017 в 22:58
  • 4
    Да, и я думаю, что это не должно; Об обнаружении имени окна я использовал его, чтобы упростить имя процесса (команды);) – Ravexina 27 April 2017 в 23:03
  • 5
    Bash на самом деле не моя вещь, но если это ваше решение, это paste.ubuntu.com/24468812 может быть короче. Вы можете просто соединить команды окна xdotool. – Jacob Vlijm 27 April 2017 в 23:25

Вот что я сделал, и это сделало работу довольно неплохой.

измените gnome-terminal параметры по умолчанию, если вы его изменили. поэтому, установите Ctrl + Shift + t как ярлык для открытия новой вкладки. Нам нужно xdotool (около 30 КБ) установить его через: sudo apt install xdotool Теперь создайте файл (например, в вашем доме с именем .custom-terminal-key.sh) и поместите в него эти строки (Спасибо Jacob Vlijm): #!/bin/bash if [[ "$(xprop -id "$(xdotool getactivewindow)" WM_CLASS)" == *"gnome-terminal"* ]]; then sleep 0.1 xdotool key ctrl+shift+t elif ! pgrep 'gnome-terminal'; then gnome-terminal fi Каждый раз, когда мы запустите его, если какой-либо gnome-terminal был открыт, он будет имитировать привязку клавиш Ctrl + Shift + t, иначе он запускает gnome-terminal. Наконец, мы меняем поведение по умолчанию Ctrl + Alt + t, вместо того, чтобы открывать терминал каждый раз, когда вы нажимаете на них, он запускает наш скрипт. gsettings set org.gnome.desktop.default-applications.terminal exec '/home/USER/.custom-terminal-key.sh' Измените USER на свое реальное имя пользователя. Не забудьте дать нашему скрипту исполняемый бит: chmod +x ~/.custom-terminal-key.sh

Мы закончили.

Откат

Всякий раз, когда вы передумали, просто запустите:

gsettings set org.gnome.desktop.default-applications.terminal exec 'gnome-terminal'

Удалите наш скрипт rm ~/.custom-terminal-key.sh и xdotool : sudo apt remove xdotool.

Получение активного имени окна

1
ответ дан 18 July 2018 в 14:12

Вот что я сделал, и это сделало работу довольно неплохой.

измените gnome-terminal параметры по умолчанию, если вы его изменили. поэтому, установите Ctrl + Shift + t как ярлык для открытия новой вкладки. Нам нужно xdotool (около 30 КБ) установить его через: sudo apt install xdotool Теперь создайте файл (например, в вашем доме с именем .custom-terminal-key.sh) и поместите в него эти строки (Спасибо Jacob Vlijm): #!/bin/bash if [[ "$(xprop -id "$(xdotool getactivewindow)" WM_CLASS)" == *"gnome-terminal"* ]]; then sleep 0.1 xdotool key ctrl+shift+t elif ! pgrep 'gnome-terminal'; then gnome-terminal fi Каждый раз, когда мы запустите его, если какой-либо gnome-terminal был открыт, он будет имитировать привязку клавиш Ctrl + Shift + t, иначе он запускает gnome-terminal. Наконец, мы меняем поведение по умолчанию Ctrl + Alt + t, вместо того, чтобы открывать терминал каждый раз, когда вы нажимаете на них, он запускает наш скрипт. gsettings set org.gnome.desktop.default-applications.terminal exec '/home/USER/.custom-terminal-key.sh' Измените USER на свое реальное имя пользователя. Не забудьте дать нашему скрипту исполняемый бит: chmod +x ~/.custom-terminal-key.sh

Мы закончили.

Откат

Всякий раз, когда вы передумали, просто запустите:

gsettings set org.gnome.desktop.default-applications.terminal exec 'gnome-terminal'

Удалите наш скрипт rm ~/.custom-terminal-key.sh и xdotool : sudo apt remove xdotool.

Получение активного имени окна

1
ответ дан 24 July 2018 в 20:21

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

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