.bashrcで端末を最大化するときのwmctrlの一貫性のない動作

.bashrcで端末を最大化するときのwmctrlの一貫性のない動作

私はこれを持っています

wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz

.bashrcで端末を開くときに最大化するようにします。奇妙なことに、ランダムに動作しているようです。時には全画面端末が表示されたり、そうでない場合もあり、識別できるパターンはありません。開いている端末に上記のコマンドを入力すると、常に成功します。

私はコマンドですxdotool windowsize $(xdotool getactivewindow) 100% 100%これ答え)、同様の効果を得て.bashrcに配置すると、同じ散発的な動作が発生します。また、すでに開いているプロンプトで実行すると常に機能します。もっと遠く、時々このコマンドが機能しない場合は、最初のプロンプトの前に次のエラーメッセージが表示されます。

XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1)
xdo_get_active_window reported an error
There are no windows in the stack
Invalid window '%1'
Invalid argument count, got 3, expected 2
Usage: windowsize [--sync] [--usehints] [window=%1] width height
If no window is given, %1 is used. See WINDOW STACK in xdotool(1)
--usehints  - Use window sizing hints (like font size in terminals)
--sync      - only exit once the window has resized

これにより、現在アクティブなウィンドウを見つけるのにバグ全体がバランスを取っていると考えられます。

私はMint 19.3とXFCE4を使用しており、端末はurxvtです。この一貫性のない動作の原因は何ですか?

ベストアンサー1

これはそうだXYの問題。表示された端末と端末を見つけてサイズを変更するシェル起動スクリプトとの間に競合があります。 OPは、sleep 0.1ウィンドウがアクティブウィンドウとして検索されるのに十分であることを発見しました。

ただし、正しい方法は、端末をデフォルトのサイズに開き、サイズを変更するのではなく、正しい初期サイズで端末を開くことです。初期サイズは、Xサーバーにデフォルト値をロードするか(通常プログラムを使用して)、ターミナルxdbエミュレータの標準コマンドを使用して指定できます。-geometry

おすすめ記事