如何设置焦点跟随鼠标?

有没有办法在Unity中设置“焦点跟随鼠标”行为?

13.04及更高版本(GUI)

可以使用unity-tweak-tool设置后续对焦设置 安装unity-tweak-tool

在此处输入图像描述

在此处输入图像描述

12.10及更高版本(命令行)

以下控制后续焦点

gsettings set org.gnome.desktop.wm.preferences focus-mode 'sloppy' 

要么

 gsettings set org.gnome.desktop.wm.preferences focus-mode 'mouse' 

使用值'click'重置为标准焦点控制。

注意: 'sloppy''mouse'之间的区别在本答案的底部描述。

此外,您还有以下选项,在设置时,会自动提升窗口以获得焦点:

 gsettings set org.gnome.desktop.wm.preferences auto-raise true 

您可以控制此自动提升function的延迟(以毫秒为单位):

 gsettings set org.gnome.desktop.wm.preferences auto-raise-delay 500 

您可以更改raise-on-click以控制顶部的窗口:

 gsettings set org.gnome.desktop.wm.preferences raise-on-click false 

12.04

12.04的两种方法如下:

方法1

在此处输入图像描述

使用gconf-editor并将显示的焦点模式值更改为mousesloppy

(见下面的注释)

如果没有安装gconf-editor那么可以通过terminal命令安装:

 sudo apt-get install gconf-editor 

此外,您还有以下键,在设置时,会自动将窗口设置为焦点 – auto-raise

您可以通过更改键值auto-raise-delay来控制此自动提升function的延迟(以毫秒为单位)

方法2

使用gnome-tweak-tool

在此处输入图像描述

窗口焦点模式更改为鼠标马虎

(见下面的注释)

“老鼠”vs“马虎”

焦点模式“草率”似乎更好地允许Alt + TAB覆盖焦点。

“鼠标”表示如果鼠标不在窗口中,则无论您以其他方式选择了什么,都不会选择窗口。

窗口对焦模式指示如何激活窗口。 它有三个可能的值; “click”表示必须单击窗口以便聚焦它们,“sloppy”表示当鼠标进入窗口时窗口被聚焦,“鼠标”表示当鼠标进入窗口时窗口被聚焦而当鼠标离开窗口时未聚焦。

控制顶部的窗口

以下窗口选项控制其他窗口(或“顶部”)的窗口。 它与输入焦点的窗口略有不同。 以下描述有助于解释。

提高上点击

一些使用焦点跟随鼠标的用户不喜欢与之交互的窗口到达顶部,除非他们明确地点击窗口的平铺栏。 在使用多个窗口时,这可以提供更精细的控制,但对大多数用户来说可能会令人沮丧。

自动加薪

一些使用焦点跟随鼠标的用户,比如让光标所在的窗口自动升到顶部。 这使窗口全视图,没有其他窗口遮挡它。

自动加注延迟

触发自动提升行为之前等待的时间长度。

这可以通过CompizConfig设置管理器完成。 我已经在11.10,12.04和12.10测试了它,并且Elder Geek在14.04成功测试了它。 和16.04

CompizConfig

选择“焦点和提升行为选项卡”,然后取消选中“单击以进行聚焦”。 确保选中“自动提升”。

更多CompizConfig

如果未安装CompizConfig设置管理器(也称为“CCSM”),则可以从软件中心或命令行执行此操作:

sudo apt-get install compizconfig-settings-manager

然后,您可以从命令行以ccsm启动它,或者从带有“compiz”或“ccsm”的启动器启动它,

以下是运行ccsm的一些一般注意事项:ccsm 的一些问题是什么?

虽然您可以使用gconf-editor或gnome-tweak-tool来执行此操作,但默认情况下不会安装它们。 我也发现了(来自http://blog.bodhizazen.com/linux/gnome-3-focus-follows-mouse的intarwebs):

 gconftool-2 --type string --set /apps/metacity/general/focus_mode mouse gconftool-2 --type boolean --set /apps/metacity/general/auto_raise true gconftool-2 --type integer --set /apps/metacity/general/auto_raise_delay 600 

就个人而言,我不喜欢auto_raisefunction,所以我将第二个选项设置为“false”,并且没有设置auto_raise_delay选项。

但请注意,这最终会“破坏”统一菜单栏(UMB)(当您将正在使用的项目鼠标移到另一个项目上时,统一菜单栏现在可以反映您现在hover的任何内容)。

两个解决方法:

  • 在访问UMB之前将窗口移动到屏幕顶部
  • 按F10键,这将使UMB在焦点窗口中保持打开状态,以便您进行交互

最近测试精确

更多编辑:我在引号中加上“中断” – 是的,它并没有真正破坏 ,但它打破了IMO UMB的意图 ,或者至少使其具有挑战性,正如Reese在评论中正确指出的那样。 国际海事组织,这是“打破简单的可用性,但有一个恼人的解决方法。” 虽然由于Linux专注于提供非常强大的多任务处理(这往往导致“混乱”的桌面),但似乎UMB减少了多任务处理,或者多任务处理削弱了UMB的能力。 我将把这作为练习留给读者来决定……

另一种启用焦点跟随鼠标的方法在最近的12.10安装中为我工作。 目前12.10中存在一个错误 (以及针对该链接的nealmcb的特殊喊叫),这会导致ccsm或gsettings在注销或重新启动时恢复。 我尝试了几种不同的方法来欺骗这个bug,但最终在这篇关于使用Unsettings的post上取得了成功。

如果该页面迁移,该过程可归结为:

 sudo add-apt-repository ppa:diesch/testing sudo apt-get update sudo apt-get install unsettings 

启动取消设置,转到Windows选项卡,然后关闭Click to Focus 。 我重新启动以使其“接受”,但可能只需要注销并重新登录。

为了将来参考,听起来很快就会出现这个错误修复,因此CCSM或gsettings的常规方法应该恢复正常工作。