
私のLinuxボックスでGUIソフトウェアを実行するには、ウィンドウマネージャなしで実行できますが、ウィンドウを最大化する方法が見つかりません。ウィンドウマネージャなしでxサーバーでウィンドウを最大化する安定した方法はありますか?
答え1
X サーバーにはウィンドウを「最大化」する概念はありません。ウィンドウを最大化するには、画面サイズに一致するウィンドウサイズを使用するようにアプリケーションに指示します。xdotool
ウィンドウマネージャなしでウィンドウを選択するのは少し難しいかもしれませんが、それを使うことができます。ウィンドウを列挙して選択する多くの方法は、ウィンドウマネージャに依存します。
dimensions=$(xdpyinfo | sed 's/^ *dimension * : *\([0-9]*x[0-9]*\).*/\1/p')
windowid=…
xdotool windowmove "$windowid" 0 0 windowsize "${dimensions%x*}" "${dimensions#*x}"
答え2
Sublime Textですべてのテキストファイルを開きたいのですが、--maximize
コマンドライン引数をサポートしておらず、Linuxのウィンドウの状態を覚えておらず、常に最大化されていません。
その後、少し調査の最後に次のスクリプトを書いた。
#!/usr/bin/env bash
# run it with /home/user/maximize.sh "Sublime Text" /usr/bin/subl -n
eval "\"$2\" \"$3\" \"$4\" \"$5\" \"$6\" \"$7\" \"$8\" \"${@:9}\""
while [ true ]
do
FocusApp=`xdotool getwindowfocus getwindowname`
if [[ "$FocusApp" == *"$1"* ]];
then
# xdotool key super+Up
wmctrl -ir $(xdotool getactivewindow) -b add,maximized_vert,maximized_horz
break
fi
done
次の 2 つをインストールする必要があります。
sudo apt-get install wmctrl xdotool
XFCE4と競合しているように見えたので、「xdotool」を使用してウィンドウを最大化せず、ウィンドウを最大化解除すると、デフォルトのサイズがフルウィンドウサイズに設定されました。つまり、ウィンドウが最大化されると、ウィンドウのサイズも変更され、一致するように調整されます。フルスクリーンサイズ。
引用:
- ウィンドウフォーカス/フォーカス解除時にコマンドを実行するには?
- 端末からGUIプログラムにキーストローク(F5)を送信するにはどうすればよいですか?
- https://superuser.com/questions/382616/Detecting-currently-active-window
- https://superuser.com/questions/850145/how-to-use-wmctrl-to-activate-window-of-a-given-class
- https://askubuntu.com/questions/703628/how-to-close-minimize-and-maximize-a-specified-window-from-terminal
答え3
最大化されたウィンドウを使用できますxdotool
。
たとえば、ユーザーがログインしたときに最大化されたアプリケーションを実行するには、ユーザーに以下を作成します~/.xsession
。
xrandr --output HDMI-1 --mode 2560x1440
xdotool search --onlyvisible --sync MyPaint windowmove 0 0 windowsize 100% 100% &
mypaint
xrandr
希望のビデオモードを設定してください。次に、一連のコマンドがxdtool
「MyPaint」という名前の最初のウィンドウを検索して左上に移動し、最大サイズにサイズ変更します。適切なウィンドウが表示されるのを待ってから背景に送信するのを待つ--sync
オプションです。その後、アプリケーションが起動します。xdtool
&