Awesome wm에서 특정 화면으로 변경

Awesome wm에서 특정 화면으로 변경

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

모든 화면을 반복하고 관심 있는 화면이 있으면 해당 화면으로 전환하는 키 바인딩을 추가하세요.

관련 정보