コマンドラインでウィンドウを最大化する(Keepassx2)

コマンドラインでウィンドウを最大化する(Keepassx2)

私はArch-Linuxのインストールにi3wmKeepassx2を使用しています。i3ウィンドウクラスを含むウィンドウを"Keepassx2"特定のワークスペースに自動的に移動するように設定しました$WSKP$mod+P実行も設定しましたKeepassx2。今実行するカスタムスクリプトを作成したいと思います$mod+P。スクリプトは次のことを行う必要があります。

  • Keepassx2現在実行中の他のインスタンスがない場合に開始
  • すでに実行中のインスタンスがある場合は、Keepassx2特定のワークスペースにフォーカスを最大化して移動します。$WSKP

Keeppass-Workspaceが常に開いている必要はなく、ワークスペースを切り替えるときに不要なキーストロークを再度必要としないので、これが必要です。

実行中のインスタンスがすでに存在することを確認するのは簡単です。

if [ $(pidof keepassx2) ]; then 
    # maximize the running instance and move focus with i3-msg
fi;

しかし、実行中のインスタンスを最大化する方法は?

答え1

i3には「最大化」機能はありません。ウィンドウに焦点を合わせ、ウィンドウをフルスクリーンで表示したい場合があります。

次のスクリーンショットを使用できます。

winid="$(printf "%u\n" $windowid 2>/dev/null)
i3-msg "[id=\"$winid\"] "focus; fullscreen"

windowidpidからインポートする方法を説明します。この質問には

関連情報