Циклически переключаться между клиентами на обоих экранах в awesomewm
Я использую awesomewm и у меня есть два монитора, поэтому Mod4+j
а также Mod4+k
переключаться между окнами только на текущем экране. Есть ли способ прокручивать все окна / клиенты на всех экранах, чтобы он работал как обычный Alt+Tab
?
3 ответа
После просмотра ужасных документов по модулю я нашел решение. Это хакерство, но это работает так, как я хотел, чтобы это работало.
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.byidx(1)
if awful.client.ismarked() then
awful.screen.focus_relative(-1)
awful.client.getmarked()
end
if client.focus then
client.focus:raise()
end
awful.client.togglemarked()
end),
Эта функция циклически просматривает клиентов на текущем экране, помечая их, а когда все они отмечены, переходит к следующему экрану. Вот что происходит шаг за шагом:
- мы ориентируемся на следующего клиента
- мы проверяем, отмечен ли он, и если это так, мы переходим на следующий экран и очищаем отмеченный статус от всех клиентов на нем
- мы поднимаем текущего клиента
- и отметьте это
Это смешно, потому что я не знаю, что означает "помечено". Отмеченные клиенты, похоже, не отличаются от не отмеченных клиентов визуально или по поведению.
Странно, что мне пришлось написать 10-строчную функцию, чтобы получить что-то тривиальное, как многоэкранный alt-tab. Я мог бы сделать что-то чрезмерное)
Я не уверен, когда эта возможность была добавлена, но я думаю, что вы ищете
client.focus.global_bydirection (dir, c)
Фокус клиента по заданному направлению. Перемещается по экранам. Параметры:
- dir: Направление может быть "вверх", "вниз", "влево" или "вправо".
- c: опциональный клиент
Я использую модуль awesome-cyclefocus
awesome-cyclefocus - это модуль / плагин для удивительного оконного менеджера, который предоставляет методы для циклического переключения между самыми последними используемыми клиентами (обычно называемыми Alt-Tab).
Это позволяет легко фильтровать список окон, которые нужно циклически просматривать, например, по экрану, тегам, классу окна, имени / названию и т. Д.