如何设置焦点跟随鼠标?

如何设置焦点跟随鼠标?

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

答案1

13.04 及更高版本(GUI)(也适用于 Ubuntu Unity 22.10)

可以使用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

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

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并将显示的焦点模式值更改为老鼠或者马虎

(见下文注释)

如果尚未gconf-editor安装,那么您可以通过终端命令安装:

sudo apt-get install gconf-editor

此外,您还有以下键,设置后可自动提升窗口以获得焦点 - auto-raise

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

方法 2

使用gnome-tweak-tool

在此处输入图片描述

改变窗口焦点模式老鼠或者马虎

(见下文注释)

“鼠标”与“马虎”

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

“鼠标”的意思是如果鼠标不在窗口中,则无论你用其他什么方式选择了什么,都不会选择该窗口。

窗口聚焦模式指示窗口如何被激活。它有三个可能的值:“click”表示必须单击窗口才能聚焦,“sloppy”表示当鼠标进入窗口时窗口聚焦,“mouse”表示当鼠标进入窗口时窗口聚焦,当鼠标离开窗口时窗口不聚焦。

控制哪个窗口位于最顶部

以下窗口选项控制哪个窗口位于其他窗口的前面(或“在顶部”)。这与哪个窗口具有输入焦点略有不同。以下描述有助于稍微解释一下。

点击提升

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

自动加注

有些使用焦点跟随鼠标功能的用户喜欢让光标所在的窗口自动升至顶部。这样可以使窗口完全可见,而不会被其他窗口遮挡。

自动提升延迟

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

答案2

这可以通过 CompizConfig 设置管理器完成。我已经在 11.10、12.04 和 12.10 上测试过,并且老年怪人在 14.04. 和 16.04 上成功测试

Compiz配置

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

更多 CompizConfig

如果您没有安装 CompizConfig 设置管理器(也称为“CCSM”),您可以从软件中心或命令行进行安装:

sudo apt-get install compizconfig-settings-manager

然后,你可以ccsm从命令行启动它,或者从启动器使用“compiz”或“ccsm”来启动它,

以下是运行 ccsm 的一些一般注意事项:ccsm 存在哪些问题?

答案3

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

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_raise功能,因此我将第二个选项设置为“false”,并且没有设置auto_raise_delay选项。

但是请注意,这最终会“破坏”统一菜单栏 (UMB)(当您将鼠标从正在使用的项目移开并移到另一个项目时,统一菜单栏现在会反映您现在悬停的内容)。

两种解决方法:

  • 访问 UMB 之前将窗口移至屏幕顶部
  • 按 F10,这将使 UMB 在焦点窗口上保持打开状态,以便您与之交互

最近进行了 Precise 测试

更多编辑:我把“中断”放在引号中 - 是的,事实并非如此破碎的,但它打破了 IMO意图UMB 的缺点,或者至少让它难以使用,正如 Reese 在评论中正确指出的那样。在我看来,这是“破坏了简单的可用性,但带来了一个令人讨厌的解决方法”。尽管考虑到 Linux 专注于提供非常强大的多任务处理(这往往会导致桌面“混乱”),但似乎要么是 UMB 削弱了多任务处理,要么是多任务处理削弱了 UMB 的功能。我将把这留给读者作为练习来决定……

答案4

在最近的 12.10 安装中,另一种启用焦点跟随鼠标的方法对我有用。目前是 12.10 中的一个错误(特别感谢 nealmcb 提供的链接)会导致使用 ccsm 或 gsettings 所做的更改在注销或重启时恢复。我尝试了几种不同的方法来解决这个问题,但最终成功了这篇关于使用 Unsettings 的帖子。

如果该页面迁移出去,则该过程归结为:

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

启动取消设置,转到 Windows 选项卡,然后关闭点击聚焦。我重新启动以使其“生效”,但可能只需要注销并重新登录。

供将来参考,听起来这个错误修复很快就会推出,所以 CCSM 或 gsettings 的正常方法应该可以恢复正常工作。

相关内容