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