Что такое ярлык для минимизации всех окон кроме активной в Linux
Я знаю, что есть Aero Shake для Windows, и я хочу что-то подобное для Debian 7.
Я уже проверил все сочетания клавиш, но не смог найти ничего, связанного с этим.
3 ответа
Что работает в Ubuntu:
Ctrl + Super + Up: развернуть
Ctrl + Super + Down: восстановить / свернуть
Ctrl + Super + Left: привязать левое окно
Ctrl + Super + Right: окно справа
И если вы удерживаете нажатой клавишу Super, вы можете получить список этих и других сочетаний клавиш.
PS. Супер ключ, иначе Windows Key
Для этого нет ярлыка, но я считаю, что это возможно, используя Пирог Дьявола.
Вот полезная статья с базовым примером. http://www.cs.bgu.ac.il/~gwiener/linux/minimizing-all-windows-in-gnome/
Смотрите "window_property" здесь: http://www.foosel.org/linux/devilspie
Смотрите "_NET_WM_STATE" на этой странице. Вы специально ищете "_NET_WM_STATE_FOCUSED". http://standards.freedesktop.org/wm-spec/wm-spec-latest.html
У меня нет тестовой среды ATM, но я считаю, что скрипт будет выглядеть примерно так:
(begin
(if (not (is (window_property _NET_WM_STATE_FOCUSED))
(minimize))
(quit))
или (см. раздел _NET_WM_STATE... Не знаете, как их использовать)
(begin
(if (not (is (window_property _NET_WM_STATE, ATOM))
(minimize))
(quit))
Это решение, которое я придумал в Ubuntu 21.10, которое по умолчанию реализует Wayland. Привяжите скрипт bash к ключу, и все готово.
#!/bin/bash
gdbus call \
--session \
--dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
"global
.get_window_actors()
.filter(w=>w.meta_window.has_focus()===false)
.forEach(w=>w.meta_window.minimize())"