Вы можете поместить скрипт ниже под комбинацией клавиш. Если вы нажмете комбинацию клавиш, окна терминала исчезнут (полностью). Нажмите еще раз, они снова появятся точно в том состоянии, в котором вы были.
Единственное, что вам нужно сделать (один раз), это добавить идентификационную строку в имя окна вашего терминала (в большинстве случаев окно терминала имеет такое же имя)
Использовать его
Установите оба xdotool
и wmctrl
:
sudo apt-get install xdotool
sudo apt-get install wmctrl
- Скопируйте скрипт в пустой файл, сохраните его как
hide_terminal.py
- В разделе заголовка установите строку идентификатора имени окна терминала
Запустите его под комбинацией клавиш:
python3 /path/to/hide_terminal.py
Сценарий
#!/usr/bin/env python3
import subprocess
import os
home = os.environ["HOME"]
hidden_windowid = home+"/.window_id.txt"
get = lambda cmd: subprocess.check_output(cmd).decode("utf-8")
# --- set the identifying string in the terminal window's name below (you mentioned "Terminal"
window_idstring = "Special_window"
# ---
def execute(cmd):
subprocess.check_call(cmd)
w_id = [l.split()[0] for l in get(["wmctrl", "-l"]).splitlines() if window_idstring in l]
if len(w_id) !=0:
for w in w_id:
execute(["xdotool", "windowunmap", w])
with open(hidden_windowid, "a") as out:
out.write(w+"\n")
else:
try:
with open(hidden_windowid) as read:
for w in [w.strip() for w in read.readlines()]:
try:
execute(["xdotool", "windowmap", w])
except subprocess.CalledProcessError:
pass
with open(hidden_windowid, "wt") as clear:
clear.write("")
except FileNotFoundError:
pass