Awesome

如何在很棒的 wm 中跳轉到歷史上的上一個視窗?

  • January 15, 2021

我是很棒的 wm 的新手,我想設置一個快捷方式,讓我回到上一個視窗(在歷史中),無論它是在目前標籤上、另一個標籤上還是在另一個螢幕上(比如Alt+Tab在 Gnome 或 Windows 中) .

預設情況下,有Super+Tab返回但僅在同一個標籤上。

並且Super+Esc可以返回到以前的活動標籤。

如果沒有轉到上一個視窗(全域)的功能,我可以自己寫rc.lua(如果我知道 Lua)嗎?

您可以通過直接使用歷史列表 awful.client.focus.history.list

表格的第一個元素是目前關注的客戶,所以 2 是前一個

從客戶端獲取第一個標籤來查看這個標籤

然後將客戶提升到頂部

function ()                                                                                                  
   local c = awful.client.focus.history.list[2]                                                             
   client.focus = c                                                                                         
   local t = client.focus and client.focus.first_tag or nil                                                 
   if t then                                                                                                
       t:view_only()                                                                                        
   end                                                                                                      
   c:raise()                                                                                                
end  

所以你可以從 rc.lua 改變

   awful.key({ modkey,           }, "Tab",
       function ()
           awful.client.focus.history.previous()
           if client.focus then
               client.focus:raise()
           end
       end,
       {description = "go back", group = "client"}),

   awful.key({ modkey,           }, "Tab",
       function ()
           local c = awful.client.focus.history.list[2]
           client.focus = c
           local t = client.focus and client.focus.first_tag or nil
           if t then
               t:view_only()
           end
           c:raise()
       end,
       {description = "go back", group = "client"}),

引用自:https://unix.stackexchange.com/questions/623337