i3バインディングを使用してスクリプトを実行します。
#!/bin/sh
i3-msg workspace web
/bin/chromium --start-fullscreen
sleep 5
i3-msg fullscreen disable
最後の2行は全画面を無効にすることです(節電が必要かどうかわかりません)。 i3フルスクリーンはChromeパラメータの副作用として有効になります(その目的は単にアドレスバーなどを隠すことです)。ただし、何らかの理由で機能せず、全画面表示は無効になりません。 $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'
または、あなたが望むならクロムこのウィンドウは常にワークスペース「Web」に表示され、ワークスペースでディレクティブを使用し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
必要な理由だ。