두 화면 모두에서 Awesomewm 클라이언트를 순환합니다.

두 화면 모두에서 Awesomewm 클라이언트를 순환합니다.

저는 Awesomewm을 사용하고 있으며 모니터가 두 개 있고 현재 화면의 창 사이 Mod4+j만 순환합니다. Mod4+k정상적으로 작동하도록 모든 화면의 모든 창/클라이언트를 반복하는 방법이 있습니까 Alt+Tab?

답변1

약간의 탐색을 마친 후잘못된 모듈 문서화해결책을 찾았습니다. 해키지만 내가 원하는 방식으로 작동합니다.

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),

이 기능은 현재 화면의 클라이언트를 반복하여 표시하고, 모두 표시되면 다음 화면으로 이동합니다. 단계별로 일어나는 일은 다음과 같습니다.

"마크"가 무엇을 의미하는지 전혀 모르기 때문에 이것은 재밌습니다. 플래그가 지정된 고객은 태그가 없는 고객과 시각적으로나 행동적으로 다르지 않은 것으로 보입니다.

다중 화면 Alt-Tab처럼 간단한 기능을 얻으려면 10줄의 함수를 작성해야 한다는 것이 이상합니다. 과한 짓을 했을 수도 있음)

답변2

물론!

.rc의 키 바인딩은 awesome실제로는 스크립트인 rc 파일에 의해 제어됩니다 lua. 키 바인딩은 바로 키를 루아 함수에 바인딩하는 것입니다. 이 기능을 자유롭게 사용할 수 있습니다어느당신은 그들이 그러기를 바랍니다.

귀하의 경우, 현재 초점을 맞춘 화면뿐만 아니라 모든 화면의 활성 탭을 변경하는 기능에 이러한 키를 바인딩하려고 합니다.

이제 구성에 다음과 같은 몇 줄이 있을 것입니다.

awful.key({ modkey }, "j", awful.tag.viewprev )

...겉모습과 거의 똑같습니다.

당신이 원하는 것은 이들을 간단한 명령 호출에서 멋진 API로 변경하여 몇 가지 명령을 순서대로 실행하는 작은 함수로 만드는 것입니다. awful.tag.viewprev()함수는 aweful.tag.viewnext()어느 화면에서 작업할지를 나타내기 위해 선택적 인수를 편리하게 사용합니다. 기본적으로 현재 항목에 적용되지만 이를 재정의할 수 있습니다.

예를 들어 화면 1과 2에서 동일한 작업을 실행하려면 위 줄이 다음과 같이 변경될 수 있습니다.

awful.key({ modkey }, "j", function () awful.tag.viewprev(1); awful.tag.viewprev(2) end)

귀하의 환경은 약간 다를 수 있음을 명심하십시오. 다양한 구조(예: 괄호, 중괄호 등)의 열기 및 닫기 위치와 쉼표가 있는 목록의 일부인 끝 줄을 기록해 두십시오. 필요에 따라 프로필에 맞게 조정하세요.

관련 정보