i3 바인딩을 사용하여 스크립트를 실행합니다.
#!/bin/sh
i3-msg workspace web
/bin/chromium --start-fullscreen
sleep 5
i3-msg fullscreen disable
마지막 두 줄은 전체 화면을 비활성화하는 것입니다(절전이 필요한지 모르겠습니다). i3 전체 화면은 크롬 매개변수의 부작용으로 활성화됩니다(그 목적은 단지 주소 표시줄 등을 숨기는 것입니다). 그러나 어떤 이유로 작동하지 않으며 전체 화면이 비활성화되지 않습니다. $mod+f 바인딩을 사용하여 수동으로 전체 화면을 전환하는 경우에만 비활성화됩니다. 스크립트는 왜 이것을 할 수 없습니까?
(전체 화면을 비활성화하려는 이유는 chromium-vim을 사용하여 외부에서 텍스트 필드를 편집할 때 전체 화면이 비활성화될 때까지 gvim이 이를 표시하지 않기 때문입니다.)
답변1
이유는 간단합니다. 실행하면 chromium
완료될 때까지, 즉 닫은 후에 반환되지 않습니다.크롬. 따라서 sleep
및는 i3-msg
창이 사라진 후에만 실행됩니다.
이 문제를 해결하려면 chromium
백그라운드에서 시작하면 됩니다. &
명령에 추가하면 됩니다. 필수 입니다 sleep
. 이 항목이 없으면 i3-msg
이전에 실행될 수 있습니다.크롬심지어 창을 초기화합니다. 5초는 약간 길 수도 있지만 얼마나 빠른지에 따라 다릅니다.크롬시스템에서 엽니다.
i3-msg
또한 어떤 용도로든 사용할 수 있도록 .를 추천합니다.크롬실제로는 바람직하지 않을 수 있는 현재 초점이 맞춰진 창이 아닌 창크롬창(분명히 이것은 원하는 동작이 아닐 수도 있습니다.크롬창 전체 화면).
#!/bin/sh
i3-msg workspace web
/bin/chromium --start-fullscreen &
sleep 2
i3-msg '[instance="^chromium$"] fullscreen disable'
또는, 네가 원한다면크롬이 창은 항상 작업 공간 "웹"에 나타나며 작업 공간에서 지시문을 사용 assign
하고 for_window
구성 할 수 있습니다.i3작업을 완료하기 위한 구성:
assign [instance="^chromium$"] web
for_window [instance="^chromium$"] exec "sh -c 'sleep 2; i3-msg \[instance=chromium\] fullscreen disable'"
이렇게 하면 더 이상 스크립트가 필요하지 않으며 실행할 때마다chromium
i3"네트워크"에 놓고 2초 후에 창이 전체 화면에서 종료됩니다.
노트:fullscreen disable
이론적으로는 direct 와 함께 사용하는 것이 가능하지만 for_window
에서는 작동하지 않습니다.크롬창이 실제로 전체 화면으로 실행되기 때문입니다.크롬불행히도 매우 빠르게 전체 화면을 활성화하십시오.i3달릴 때 더욱 빨라집니다 for_window
. 그래서i3이전에는 전체 화면이 사용 중지되었습니다.크롬활성화해 보세요. 달리기 sleep
와 i3-msg
우회가 exec
필요한 이유다 .