Awesome-wm을 사용하여 두 번째 모니터에 애플리케이션을 배치하는 방법은 무엇입니까?

Awesome-wm을 사용하여 두 번째 모니터에 애플리케이션을 배치하는 방법은 무엇입니까?

최근 직장에 두 번째 모니터가 있는데 창 관리자를 사용하여 모든 모니터를 구성하고 싶습니다. 훌륭합니다. 화면의 탭에 일부 앱을 배치하는 데 문제가 있습니다. 예를 들어, urxvt에게 이를 첫 번째 화면의 탭 1에 넣으라고 지시하는 규칙이 있습니다.

              { rule = { class = "URxvt" },
                                     properties = { tag = tags[1][1] }
              }

내 마우스 커서가 첫 번째 모니터에 있는 한 이것은 잘 작동합니다. 커서를 두 번째 화면으로 이동하고 urxvt 인스턴스를 시작하면 두 번째 모니터의 실제 마커에 배치됩니다. 마찬가지로 두 번째 화면의 라벨에 대해 앱을 구성했지만 마우스 커서가 첫 번째 화면에 있으면 앱이 작동하지 않습니다.

이 문제를 어떻게 해결할 수 있나요?

답변1

확장 팩을 사용하여 이를 수행하는 매우 간단한 방법이 있습니다 awful. 일부 배포판에서는 자동으로 번들로 제공되고 다른 배포판에서는 하위 패키지로 제공됩니다. 그런 다음 내장된 awful.client.movetoscreen.

awful.key({modkey}, "o", awful.client.movetoscreen)

즉, 키를 한 번만 누르면 현재 활성화된 탭으로 창을 보낼 수 있습니다(현재 어떤 화면이 켜져 있지 않은지에 관계없이). 화면이 두 개뿐인 경우 화면이 전환되고, 화면이 더 많으면 화면이 순환됩니다.

답변2

이는 사용 중인 Awesome 버전에 따라 다릅니다.

굉장해 1.x

screen규칙에 변수를 설정합니다.

{ rule =
    { class = "URxvt" },
    properties = { tag = tags[1][1] },
    screen = 1
}

굉장하다 2.x

함수에서 screen클라이언트 속성을 설정합니다 hook_manage.

if c.class == "URxvt" then
    awful.client.movetotag(tags[1][1], c)
    c.screen = 1
end

코드 예제에서 보면 Awesome 1.x를 사용하고 있는 것 같습니다. 그런데 1.x는 이제 꽤 오래되었으므로 사용자 정의 구성 형식 대신 Lua를 사용하는 2.x로 업그레이드하는 것이 좋습니다.

답변3

정확한 답변은 아니지만 후속 조치입니다.

이것은 확실히 굉장한 버그입니다. 이를 통해 awesome-3.4.10원하는 방식으로 작업할 수 있습니다. 이제 미리 정의된 탭에서 애플리케이션을 열려면 현재의화면에서 다음과 같이 사용하십시오.

{ rule = { instance = "urxb" },
  callback = function(c)
          c.screen = mouse.screen
          c:tags({tags[c.screen][3]})
  end }

관련 정보