簡體   English   中英

創建鍵綁定以將主客戶端聚焦在awesome-wm中

[英]Create keybinding to focus master client in awesome-wm

我想創建一個鍵綁定來將焦點切換到主客戶端。 Profjim在這個論壇帖子中注意到:

要獲取當前標記上的主客戶端:

 c = awful.client.getmaster() 

我嘗試了以下操作,但它會導致我的〜/ .config / rc.lua文件被忽略,如果文件中有錯誤,這就是行為。 有誰知道正確的語法?

awful.key({ modkey,          , "e",  awful.client.getMaster()),

注意:如果您具有默認鍵綁定,則“e”不應導致任何沖突。

編輯: / r / awesomewm上的某個人知道解決我問題的語法:

awful.key({ modkey,          }, "e",  function() client.focus = awful.client.getmaster(); client.focus:raise() end), 

讓我們從語法錯誤開始; 從文檔中看來, awful.key是一個表,而不是一個函數。 並且它可能包含key s ...它們是哈希表,而不是序列。

最后你的表語法錯了; 字段可能在語法上不為空,它必須具有列出的值,即使該值為nil

所以基本上你試圖將錯誤的值傳遞給無法調用的東西。


至於如何正確地做到這一點......文檔令人困惑,顯然我並不是唯一一個這么認為的人。

* 深呼吸 *

好吧, awful.new(...) 創建鍵綁定器(?),而awful.key 包含鍵綁定,所以顯然我們必須將第一個結果放到第二個。
鏈接上的代碼只是一個指針,只覆蓋窗口,而不是創建鍵綁定。

看起來你想要這樣的東西:

function do_focus()
    current = client.focus
    master  = awful.client.getmaster()
    if current then
        client.focus = master
        master:raise()
    end
end

table.insert(awful.key, awful.new (modkey, 'e', nil, do_focus) )

請記住,我無法測試上面的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM