i3에서 Wayland로 전환했는데 이전에 작성한 스크립트 하나를 제외하고는 모든 것이 잘 작동합니다. 스크립트는 i3-msg를 사용하여 클래스 이름이나 ID(i3-msg 트리의)로 창에 초점을 맞춥니다. Sway에는 swaymsg -t get_tree
i3과 동일한 작업을 수행하는 명령이 있습니다 . 이 명령을 사용하여 명령줄에서 id
, app_id
또는 window
기타 데이터를 추출할 수 있습니다.pid
swaymsg -t get_tree | jq -c -r '..|try select(.focused == true) | [.id]' | tr -d "[]"
(속성에 따라 .id
물론 올바른 쿼리로 대체됩니다).
특정 창에 집중하기 위해 컨테이너 정보를 이용하려고 할 때
swaymsg for_window -r [id=10] focus
아이디가 맞는지 확인했는데 아무 일도 일어나지 않네요. 해당 -r
옵션 덕분에 swaymsg
출력도 가능합니다(플래그는 아무 일도 일어나지 않는다는 사실에 영향을 미치지 않습니다).
[
{
"success": true
}
]
그러니 이상이 없는 것 같습니다. 내가 읽은 다른 소스에서 app_id
창이나 컨테이너와 상호 작용할 때 Wayland로 이동하는 방법인 것처럼 보이는 여러 매개 변수를 시도했지만 swaymsg
아무 일도 일어나지 않습니다. 또한 터미널이나 브라우저와 같은 다른 프로그램을 사용하여 명령을 실행해 보았지만 아무런 변화가 없었습니다. 매뉴얼에는 swaymsg
명령 주위에 따옴표를 넣으라고 나와 있지만 그것도 도움이 되지 않습니다. 오류가 발생하지 않아서 디버깅 방법이 혼란스럽습니다.