Firefoxのウィンドウを特定のサイズで開き、シェルコマンドを使用して画面上の場所に表示するようにします。次に例を示します。
firefox myfile.html size 800x600 location bottom-left
そのようなコマンドはありますか?
Firefoxのウィンドウを特定のサイズで開き、シェルコマンドを使用して画面上の場所に表示するようにします。次に例を示します。
firefox myfile.html size 800x600 location bottom-left
そのようなコマンドはありますか?
回答:
これは、ルドルフ・オラが提供した例を組み込んだ、妖怪による答えのコミュニティ版です。
というツールを使用して、xdotool
ウィンドウのサイズと場所を制御できます。それだけでなくbash
、を使用して記述したスクリプトxdotool
は、完全に最大化されたウィンドウで動作するようにセットアップでき、mousemove
and click
コマンドを操作してウィンドウサイズとx:y座標を設定するようにスクリプト化できます。
ウィンドウIDを見つけます。
xdotool search --onlyvisible --name firefox
ウィンドウサイズを設定する
xdotool windowsize $WINDOW_ID_GOES_HERE $WIDTH $HEIGHT
ウィンドウを移動する
xdotool windowmove $WINDOW_ID_GOES_HERE $X $Y
たとえば、firefoxのウィンドウIDが123の場合、次のようにします。
xdotool windowsize 123 800 600
xdotool windowmove 123 0 1080
画面の解像度に基づいて、左下の位置を決定する必要があります。
xdotool
、wmctrl
など。とUbuntu、XFCE(私が持っていること):ウィンドウがすでにフルスクリーンモードで起動している場合、あなたはもうそれを移動することはできません。bugs.launchpad.net/ubuntu/+source/unity/は、 +バグ/ 971147
私の知る限り、Firefoxはウィンドウを制御するコマンドを受け付けないため、これは不可能です。それは(ほとんど)ウィンドウマネージャーの責任でもあるので、それを行うためのパラメーターがあることを疑います。ただし、wmctrlを使用してウィンドウを制御できますが、それは少し難しくなります。
#!/bin/sh
firefox -new-instance -new-window "http://www.reddit.org" &
# Process ID of the process we just launched
PID=$!
# Window ID of the process...pray that there's
# only one window! Otherwise this might break.
# We also need to wait for the process to spawn
# a window.
while [ "$WID" == "" ]; do
WID=$(wmctrl -lp | grep $PID | cut "-d " -f1)
done
# Set the size and location of the window
# See man wmctrl for more info
wmctrl -i -r $WID -e 0,50,50,250,250
もっと賢い方法があるかもしれませんし、Firefoxとの相互運用性の問題もあります(他のインスタンスが実行されていないなど)が、うまくいくはずです。
過去に、Javascriptでウィンドウサイズを設定し、必要なページにリダイレクトするHTMLドキュメントを作成しました。それは愚かなハックですが、ちょっと、それは動作します。
私はいつもこれをしています。ただし、より堅牢であるため、DevilsPie2を使用します。LUAスクリプト言語を使用しますが、それほど難しくはありません。
Thunderbirdのluaスクリプトを次に示します。これは、開いたときに一番左のモニター(ラップトップ画面)で開きたいものです。
if (get_window_name()=="Mozilla Thunderbird") then
pin_window()
set_window_geometry( 50, 10, 1220, 780 )
end
where 50 = X coordinate (for upper-left corner of the window)
10 = Y coordinate ( " " )
1220 = window width
780 = window height
これを設定するには、ホーム構成(Ubuntuのようなディストリビューション)にdevilspie2という名前のディレクトリを作成します(例:/home/$USERNAME/.config/devilspie2)
Thunderbirdの場合、thunderbird.luaを作成しましたが、ファイル名は関係ありません。必要に応じてすべてを1つのスクリプトファイルに入れることができますが、アプリケーションごとに異なるファイル名を持っています。/home/$USERNAME/.config/autostart/devilspie2.desktopなど、ログイン時にdevilspie2が自動的に起動するように設定します
luaスクリプトで使用できるさまざまなオプションに関する優れたページへのリンクを次に示します。https://github.com/gusnan/devilspie2/blob/master/README
注:スクリプトは実行可能である必要はありません。私は664で、正常に動作します。私が制御する他のプログラムのいくつかは、openconnect、pidgin、RecordMyDesktop、timeshift、xeyes、xload、およびyadです。それらにpin_windowを使用して、すべてのデスクトップに加えて、アプリケーションに応じて他のコマンドを表示します。
devilspie2 --debug
)