有没有办法从命令行在后台打开浏览器中的页面,并且不聚焦?

有没有办法从命令行在后台打开浏览器中的页面,并且不聚焦?

对于熟悉 OSX 的人来说,我正在寻找的行为是open -g http://google.com,它将在后台的默认浏览器中打开一个谷歌网页,而根本不将焦点切换到它。

我一直在使用 Chrome 测试 Natty 原生版本(Gnome、Unity……),然后将 Firefox 设置为默认浏览器。我尝试过gnome-open http://google.comxdg-open http://google.com,无论是否附加&>/dev/null &到末尾,浏览器窗口总是会获得焦点。唯一会出现浏览器没有获取焦点是在默认为 Firefox 并且已经打开了 Firefox 窗口时。我也尝试过直接调用firefoxgoogle-chrome,但都不起作用。

是否有一些命令组合或软件包可以用来更可靠地获得所需的行为,无论默认浏览器是 Chrome 还是 Firefox,或者是否已经打开了窗口?这是用于安装在其他人的机器上的软件,因此修改他们的浏览器配置文件并不是真正的解决方案...

答案1

据我所知,大多数在 X 下运行的应用程序都接受命令行上的选项,允许您修改行为,我发现两个可能有用的选项:

-xrm 资源字符串

还可以从命令行指定资源。资源字符串是单个资源名称和值,如上所示。请注意,如果字符串包含 shell 解释的字符(例如星号),则必须用引号引起来。

-标志性的

此选项表示用户希望应用程序的窗口最初不可见,就像窗口被用户立即图标化一样。窗口管理器可以选择不遵守应用程序的请求。

第一个选项将允许您在命令行上设置属性,唯一的问题是我找不到正确的字符串来防止焦点或最小化窗口。

第二个选项应该以最小化的方式启动该程序,然而在我有限的试验中,我无法让 Firefox 遵守 XFCE 下的图标选项,这使我相信该标志的实现依赖于该程序。

最好的选择是研究使用 xrm 设置 Xresources,如果我找到 xrm 的好选择,我会更新此帖子。

边注: 从 UI/UX 的角度来看,有一篇关于焦点窃取的好文章,请不要夺走我的注意力 Jeff Atwood 著如果你还没有读过,它介绍了一种很好的聚焦方法。

相关内容