アプリケーションの起動時にアプリケーションを最大化するスクリプト

アプリケーションの起動時にアプリケーションを最大化するスクリプト

この質問が重複していることがわかります。
コマンドラインを介して画面上のアプリケーションのウィンドウサイズと位置を設定するには?
コマンドラインで最大化されたウィンドウのサイズ変更

最初のリンクで問題を解決できました。しかし、私はBash言語を学ぶつもりですが、次のスクリプトにどのような問題があるのか​​知りたいです。

#!/bin/bash

xfce4-settings-manager & sleep 0.1
xwininfo -name "xfce4-settings-manager" | grep xwininfo: | awk {'printf$4'}
wmctrl -i -r $1 -b add,maximized_vert,maximized_horz &

スクリプトを実行したら、「xwininfo」がアプリケーションに異なるID値を使用していることを確認してください。理由がわからない。誰でもこの問題を解決するのに役立ちますか?

よろしくお願いします。

ベストアンサー1

あなたが探しているツールは悪魔の勢力(バージョン1でも2でも全く異なる設定言語を使用しています。)このサイトには、次のような多くの例があります。1 2 サム 4

スクリプトに問題があることが確認されましたジェフ・シャラーコメントから:出力が抽出される行はxwininfo呼び出しを挿入しませんwmctrl。スクリプトでコマンド出力を使用するには、次のようにします。コマンドの置き換え

windowid=$(xwininfo -name "xfce4-settings-manager" | awk '$1 == "xwininfo:" {printf $4}')
wmctrl -i -r "$windowid" -b add,maximized_vert,maximized_horz &

行が長すぎるのを防ぐために中間変数を使用しましたが、すべての操作をインラインで実行することもできます。

wmctrl -i -r "$(xwininfo -name "xfce4-settings-manager" | awk '$1 == "xwininfo:" {printf $4}')" -b add,maximized_vert,maximized_horz &

また、grepとawk呼び出しを組み合わせて単一のツールを使用する方が簡単であることがわかりました。

xwininfoルックアップウィンドウIDを使用する必要はありません。wmctrlウィンドウ名を渡すだけです。

wmctrl -r "xfce4-settings-manager" -b add,maximized_vert,maximized_horz &

おすすめ記事