我以前用的是 OS X,水银和 AppleScripts 来为常见操作创建全局快捷键。我最常用的一个快捷键是在 Chrome 中打开新标签并聚焦多功能框,这样我就可以进行网页搜索等,Chrome 补全功能为我做了很多有用的工作。
我想要一个类似的设置。我正在使用 compiz 和 unity,所以我已经发现 ccsm 允许我设置命令的键盘快捷键,所以我所需要的只是一个将重点放在新 Chrome 选项卡上的命令。
我已经尝试过xdg-open about:blank
,它几乎可以满足我的要求,但它在 URL 栏中留下了“about:blank”,并且光标无法选择它,所以我还必须按 ctrl-A。还有一个 Chrome 网址,chrome://newtab
但 xdg-open 会在 Firefox 中打开它。
因此基本上,任何实现这一点的方法都会受到赞赏,无论是通过 D-Bus、XDG 还是 X11 事件注入(但要稳健)。
答案1
为什么chrome://newtab
用 Firefox 打开?这可能是您可以更改的。
如果我理解正确的话,一个更简单的解决方案就是使用类似突触启动网址 - 这是一个很多就像 QuickSilver。
方法是,ctrl+space
无论您身在何处,按下 并开始输入网址。然后按 Enter 键,如果 Chrome 已设置为您的默认浏览器,它将自动在 Chrome 中打开页面。
顺便说一句,synapse 不仅适用于这种特定的场景,而且通常也是一个很好的安装工具,一旦你习惯了它,就可以大大提高你的工作效率。
如果你正在使用 Kubuntu(就像我一样),那么你可以用 KRunner 做同样的事情
答案2
在研究了 xdg-open(它使用 chrome url 处理程序通过 url 运行 google-chrome)并使用 xprop 获取前窗口后,我得到了这个命令行(感谢 xte 提示@Seth):
/opt/google/chrome/google-chrome about:blank ;
count=20;
while [ $count -gt 0 ] \
&& ! xprop -id $(xprop -root _NET_ACTIVE_WINDOW | awk '{print $NF}') WM_NAME \
| grep -q about:blank; do
let count--;
sleep 0.1;
done;
if [ $count -gt 0 ]; then
xte 'keydown Alt_L' 'keydown D' 'keyup Alt_L' 'keyup D';
fi
虽然不是最好的方法,但确实有效。如果 Gnome 上有像 AppleScript 那样的应用程序脚本就太好了……