Awesome wm(v4.0)에서 단축키를 통해 특정 화면으로 전환할 수 있나요?
화면이 있다고 가정하면DP-1-2,DP-2-2그리고eDP-1. 이제 화면으로 전환하고 싶습니다DP-1-2현재 어떤 화면에 있는지는 중요하지 않습니다.
바람직하게는 동일한 기술을 사용하여 앱을 특정 화면으로 이동할 수 있습니다.
이것이 가능한가?
답변1
내가 아는 한 기본 바인딩은 없지만 이를 만드는 데 필요한 메서드는 존재합니다.
- 화면에 직접 초점을 맞춥니다
awful.screen.focus
. 포커스를 이동할 화면 개체를 가져옵니다. - 모바일 클라이언트
client:move_to_screen
. 이를 전역 바인딩 테이블이 아닌 클라이언트 바인딩 테이블에 추가해야 한다는 점에 유의하세요.
randr 출력 이름을 기반으로 바인딩을 생성하려면 화면 개체를 사용할 수 있습니다.outputs
재산. 이 테이블의 randr 출력 이름은 다음과 같습니다.열쇠, 따라서 이 목적으로 사용하는 것은 약간 복잡합니다. 나는 다음과 같은 것을 시도할 것입니다:
for s in screen do
for out,_ in pairs(s.outputs) do
if out == "eDP1" then
globalkeys = awful.util.table.join(globalkeys,
awful.key({modkey}, "F1", function() awful.screen.focus(s) end))
elseif out == "DP-1-2" then
-- ...
end
end
end
지금은 테스트할 수 없습니다. 여기에는 사용할 수 있는 화면이 여러 개 없습니다.
답변2
답변을 바탕으로분화구 2150나는 효과적인 해결책을 찾았습니다. 혹시 같은 문제를 겪고 계신 분이 계실까봐 이렇게 글을 올립니다.
-- set up keybindings based on existing monitors
for s in screen do
for screen_name, _ in pairs(s.outputs) do
if screen_name == "eDP-1" then
globalkeys = awful.util.table.join(globalkeys,
awful.key({modkey}, "F1", function() awful.screen.focus(s) end))
elseif screen_name == "DP-2-2" then
globalkeys = awful.util.table.join(globalkeys,
awful.key({modkey}, "F2", function() awful.screen.focus(s) end))
elseif screen_name == "DP-1-2" then
globalkeys = awful.util.table.join(globalkeys,
awful.key({modkey}, "F3", function() awful.screen.focus(s) end))
end
end
end
모든 화면을 반복하고 관심 있는 화면이 있으면 해당 화면으로 전환하는 키 바인딩을 추가하세요.