全局 GTK+ 热键

全局 GTK+ 热键

理想情况下,我想使用 gtk 在所有应用程序中绑定一个热键。

我已将 Ctrl+Shift+p 绑定到 urxvt 中的选择缓冲区粘贴,这通常意味着我可以在不将手从键盘上移开的情况下完成所有操作(vim 可以感知 X 缓冲区,并且我有一个 tmux 钩子可以将复制的文本放入该缓冲区)但是,当我转到 Firefox 等时,我必须将手移到鼠标上才能进行中键单击。

是否可以在 gtk textentry 小部件的上下文中绑定这样的全局行为?

答案1

GTK+ 2 允许通过文件自定义键盘绑定(以及其他内容)gtkrc,例如~/.gtkrc-2.0。(似乎没有任何相当于 GTK+ 3 程序。

不幸的是,我找不到任何方法粘贴基本的选择,仅来自剪贴板选择(默认情况下已经CtrlV分配,​​因此此自定义将毫无用处):

binding "custom-text-entry"
{
    bind "<ctrl><shift>p" { "paste-clipboard" () }
}
class "GtkEntry" binding "custom-text-entry"

然而,真正的 GTK+ 程序已经有一个键盘快捷键,ShiftIns用于从基本的选择,而 Firefox不是纯 GTK+ – 它使用的许多控件在 Firefox 本身中重新实现。您可能需要编辑一些内部文件更改其快捷方式。

相关内容