최근 직장에 두 번째 모니터가 있는데 창 관리자를 사용하여 모든 모니터를 구성하고 싶습니다. 훌륭합니다. 화면의 탭에 일부 앱을 배치하는 데 문제가 있습니다. 예를 들어, 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 }