当前位置: 首页>>技术问答>>正文


如何根据鼠标设置焦点?

, , , ,

问题描述

有没有办法在Unity中设置“关注鼠标”行为?

最佳解决方法

13.04和更高版本(GUI)

Follow-on-focus设置可以使用unity-tweak-tool

unity,mouse,window-manager,focus,ubuntu

unity,mouse,window-manager,focus,ubuntu

unity,mouse,window-manager,focus,ubuntu

12.10及更高版本(命令行)

以下控件为follow-on的重点

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

要么

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

使用值'click'重置为标准focus-control。

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

另外,您有以下选项,在设置时自动提升窗口的焦点:

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

您可以控制此auto-raise功能的延迟(以毫秒为单位):

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

unity,mouse,window-manager,focus,ubuntu

使用gconf-editor并将focus-mode值更改为鼠标或马虎

(见下面的注释)

如果没有安装gconf-editor,则可以通过终端命令进行安装:

sudo apt-get install gconf-editor

此外,您还可以在设置以下按键时自动提高窗口的焦点 – auto-raise

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

方法2

使用gnome-tweak-tool

unity,mouse,window-manager,focus,ubuntu

将Windows对焦模式更改为鼠标或马虎

(见下面的注释)

“mouse”与”sloppy”

对焦模式”sloppy”似乎在允许Alt + TAB覆盖焦点方面效果更好。

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

The window focus mode indicates how windows are activated. It has three possible values; “click” means windows must be clicked in order to focus them, “sloppy” means windows are focused when the mouse enters the window, and “mouse” means windows are focused when the mouse enters the window and unfocused when the mouse leaves the window.

控制顶部的窗口

以下窗口选项控制在其他窗口的前面(或”on top”)。它与具有输入焦点的窗口略有不同。以下说明稍作解释。

raise-on-click

一些使用focus-follows-mouse的用户不喜欢与之交互的窗口到达顶端,除非他们明确地单击窗口的窗口栏。这可以在使用多个窗口时提供更精细的控制,但对于大多数用户来说却可能令人沮丧。

auto-raise

一些使用focus-follows-mouse的用户喜欢将其光标的窗口自动放到顶部。这使整个视窗中的窗口,没有其他窗口超越它。

auto-raise-delay

在触发auto-raise行为之前等待的时间长度。

次佳解决方法

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

unity,mouse,window-manager,focus,ubuntu

选择“聚焦和放大行为选项卡”,然后取消选中“点击聚焦”。确保”Auto-Raise”被选中。

unity,mouse,window-manager,focus,ubuntu

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

sudo apt-get install compizconfig-settings-manager

然后,您可以通过命令行中的ccsm或”compiz”或”ccsm”的启动程序启动它,

以下是运行ccsm的一些注意事项:what are some of the issues with ccsm?

第三种解决方法

虽然您可以使用gconf-editor或gnome-tweak-tool来执行此操作,但默认情况下不会安装它们。我还发现(来自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选项。

但是,请注意,最终”breaks”统一菜单栏(UMB)(将鼠标悬停在另一个菜单上时,统一菜单栏现在反映了您现在盘旋的任何内容)。

两种解决方法:

  • 在访问UMB之前将窗口移到屏幕的顶部

  • 按F10,这将保持聚焦窗口上的UMB打开,供您与之交互

最近测试Precise

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

第四种方法

另一种启用focus-follows-mouse的方式在最近的12.10版本中为我工作。有currently a bug in 12.10(和链接nealmcb的特殊shout-out)导致用ccsm或gsettings进行的更改在注销或重启时恢复。我尝试了几种不同的方式来欺骗这个bug,但最终还是成功了this post about using Unsettings.

在页面迁移的情况下,该过程归结为:

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

启动取消设置,转到Windows标签,然后关闭Click to Focus。我重新启动以获得”take”,但可能只需要注销并重新登录即可。

为了将来的参考,这听起来像这个错误修正将很快可用,所以CCSM或gsettings的正常方法应该回到正常工作。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/354.html,未经允许,请勿转载。