
Есть ли способ сфокусироваться на текущем окне и свернуть все остальные через командную строку? Например, если активное окно Chrome, то если я выполню эту команду, она свернёт все окна, кроме Chrome. Я использую Ubuntu, если это актуально.
решение1
Привнесение этого метода, описанного в различных сообщениях блога и на Ask Ubuntu, в U&L. Это дословно из ответа AU.
Этого можно добиться с помощью скрипта python. Для работы скрипта необходимо установить python-wnck
и , хотя я думаю, что они и так установлены по умолчанию.python-gtk
Скопируйте и вставьте это в текстовый редактор и сохраните в удобном месте (например, какминимизировать.pyв вашей домашней папке):
#!/usr/bin/env python
import wnck
import gtk
screen = wnck.screen_get_default()
while gtk.events_pending():
gtk.main_iteration()
windows = screen.get_windows()
active = screen.get_active_window()
for w in windows:
if not w == active:
w.minimize()
Затем вы можете настроить сочетание клавиш, открыв «Сочетания клавиш».
Нажмите наДобавлятьчтобы создать новый ярлык.
Используйте команду bash -c 'python ~/minimise.py'
(предполагается, что вы сохранили ее какминимизировать.pyв вашей домашней папке).
Затем вы можете назначить этому действию предпочтительную комбинацию клавиш.
Скрипт свернёт все неактивные окна. Я не думаю, что это будет очень полезно для вашего варианта использования, поскольку вы захотите, чтобы все окна Gimp были открыты. Вместо этого вы можете использовать немного другой скрипт, чтобы свернуть все окна, которые не из текущего приложения:
#!/usr/bin/env python
import wnck
import gtk
screen = wnck.screen_get_default()
while gtk.events_pending():
gtk.main_iteration()
windows = screen.get_windows()
active_app = screen.get_active_window().get_application()
for w in windows:
if not w.get_application() == active_app:
w.minimize()