Сценарій нижче можна поставити під комбінацію клавіш. Якщо натиснути комбінацію клавіш, вікно (термінали) термінала зникнуть (повністю). Натисніть його ще раз, вони знову з’являться саме в тому стані, як у вас це було.
Єдине, що вам потрібно зробити (раз) - це додати ідентифікаційний рядок до імені вікна вашого термінала (у більшості випадків вікно терміналу має те саме ім'я)
Щоб його використовувати
Встановіть 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