我希望使用shell命令以特定的大小和屏幕上的位置打开Firefox窗口,例如:
firefox myfile.html size 800x600 location bottom-left
有这样的命令吗?
我希望使用shell命令以特定的大小和屏幕上的位置打开Firefox窗口,例如:
firefox myfile.html size 800x600 location bottom-left
有这样的命令吗?
Answers:
这是Yokai回答的社区版本,其中包含Rudolf Olah提供的示例。
您可以使用称为的工具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/ + bug / 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存在一些互操作性问题(例如,没有其他实例在运行),但它应该可以助您一臂之力。
过去,我创建了一个HTML文档,该文档将使用Javascript设置窗口大小,然后重定向到所需的页面。这是一个愚蠢的骇客,但是,它确实有效。
我一直都这样做。但是,我使用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,尽管文件名无关紧要。尽管每个应用程序都可以将所有文件放入一个脚本文件,但我对每个应用程序都有不同的文件名。将devilspie2设置为在登录时自动启动,例如/home/$USERNAME/.config/autostart/devilspie2.desktop
这是指向有关lua脚本可用的各种选项的好页面的链接:https : //github.com/gusnan/devilspie2/blob/master/README
注意事项:脚本不必是可执行的。我的是664,工作正常。我控制的其他一些程序是openconnect,pidgin,RecordMyDesktop,timeshift,xeyes,xload和yad。我在它们上使用pin_window,以便它们出现在所有桌面上,以及其他命令,具体取决于应用程序。
devilspie2 --debug
)