Вопрос или проблема
Я использую Xubuntu 22.04.
Перед выключением компьютера лучше сначала закрыть все открытые окна. Alt-F4 закрывает окно, которое имеет фокус программы (и если есть что-то, что нужно сохранить, обычно появляется запрос).
Если у вас открыты окна программы на нескольких рабочих пространствах, вы можете несколько раз нажать Alt-F4, чтобы очистить все окна программы только на текущем рабочем пространстве. Еще одно нажатие Alt-F4 откроет диалоговое окно, с помощью которого вы можете решить, чтобы выключить компьютер – даже если на другом рабочем пространстве все еще есть окна программы, которые могут содержать несохраненные данные.
Я хочу, чтобы Alt-F4 также автоматически переключался между открытыми окнами на других рабочих пространствах, если на любом из них есть открытые окна программы.
Как достичь этой цели?
Ответ или решение
В Xubuntu 22.04, по умолчанию, комбинация клавиш Alt-F4 закрывает только активное окно на текущем рабочем столе, и не переключается на окна, открытые на других рабочих столах. Однако вы можете использовать несколько других методов или инструментов для достижения желаемого поведения.
Решение с использованием скриптов и управления окнами
-
Установите утилиту xdotool:
Эта утилита позволяет взаимодействовать с окнами и симулировать нажатия клавиш. Вы можете установить её с помощью следующей команды в терминале:sudo apt install xdotool
-
Создайте скрипт для закрытия окон:
Создайте Bash-скрипт, который будет проверять другие рабочие столы на наличие открытых окон и закрывать их. В вашем домашнем каталоге создайте файл, например,close_windows.sh
.nano ~/close_windows.sh
Вставьте следующий код в файл:
#!/bin/bash # Закрытие всех окон на всех рабочих столах while xdotool getactivewindow windowmap | wc -l -gt 0; do # Получаем окна всех рабочих столов windows=$(xdotool search --onlyvisible --name "") for window in $windows; do # Активируем окно xdotool windowactivate "$window" # Закрываем окно xdotool key "Alt+F4" sleep 0.1 # Небольшая пауза между закрытием окон done done
Сохраните файл и выйдите из редактора.
-
Сделайте скрипт исполняемым:
В терминале выполните следующую команду, чтобы сделать скрипт исполняемым:chmod +x ~/close_windows.sh
-
Настройка горячей клавиши для запуска скрипта:
Перейдите в настройки вашего рабочего окружения (например, настройки Xfce), затем в раздел Клавиатура -> Сочетания клавиш. Добавьте новое сочетание клавиш и укажите путь к вашему скрипту. Например,~/close_windows.sh
. -
Проверка работы:
Теперь, когда вы нажмете назначенное сочетание клавиш, скрипт будет активировать и закрывать все открытые окна на всех рабочих столах, пока все они не будут закрыты.
Заключение
Таким образом, используя xdotool
, вы можете создать скрипт, который будет закрывать окна на всех рабочих столах. Это позволит вам при использовании одной комбинации клавиш (которую вы настроите) закрыть все открытые окна, что упростит процесс завершения работы перед выключением компьютера. Если у вас есть другие вопросы или нужны подробности по настройке, не стесняйтесь спрашивать!