有沒有辦法在Unity中設定「焦點跟隨滑鼠」行為?
答案1
13.04 及更高版本 (GUI)(也適用於 Ubuntu Unity 22.10)
可以使用以下命令設定跟焦設置統一調整工具
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
選擇“對焦和抬起行為標籤”,然後取消勾選“點選對焦”。確保選取“自動升起”。
如果您沒有安裝 CompizConfig 設定管理員(也稱為「CCSM」),您可以從軟體中心或命令列執行此操作:
sudo apt-get install compizconfig-settings-manager
然後,您可以從命令列使用 as 啟動它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 測試
更多編輯:我在引號中添加了“中斷” - 是的,這並不是真的破碎的,但它打破了我認為意圖UMB 的一部分,或至少使得使用變得具有挑戰性,正如 Reese 在評論中正確指出的那樣。 IMO,這是“破壞了簡單的可用性,但有一個煩人的解決方案。”儘管考慮到 Linux 專注於提供非常強大的多任務處理(這往往會導致桌面「混亂」),但似乎 UMB 會削弱多任務處理能力,或者多任務處理會削弱 UMB 的功能。我將把它當作練習留給讀者來決定...
答案4
在最近的 12.10 安裝中,另一種啟用焦點跟隨滑鼠的方法對我有用。有目前12.10中的一個錯誤(以及特別感謝 nealmcb 的連結)這會導致使用 ccsm 或 gsettings 所做的更改在登出或重新啟動時恢復。我嘗試了幾種不同的方法來欺騙這個錯誤,但最終取得了成功這篇關於使用取消設定的文章。
如果該頁面遷移,該過程可歸結為:
sudo add-apt-repository ppa:diesch/testing
sudo apt-get update
sudo apt-get install unsettings
啟動取消設置,前往 Windows 選項卡,然後關閉點擊對焦。我重新啟動以使其“接受”,但可能只需要登出並重新登入即可。
為了將來的參考,聽起來這個 bug 修復很快就會可用,所以 CCSM 或 gsettings 的正常方法應該可以恢復正常工作。