AwesomeWM 在从 rc.lua 更改墙纸时显示加载图标

AwesomeWM shows loading icon when changing wallpaper from rc.lua

我正在尝试做一些类似于 Compiz effect 我非常喜欢 Reddit 的事情。我调整了 rc.lua 的方式,当按下 Super+R 时,每个客户端都被隐藏,墙纸变成模糊的(存储在另一个目录中)并且 Rofi 生成:

所以现在我可以从这里开始:

到这里:

如何复制:

我为此使用的代码如下:

wallpaper.sh: 这个脚本允许我从命令行更改我的墙纸。它还创建了一个模糊版本的墙纸,以便在我每次调用 Rofi 时使用。

#!/bin/bash

if [[  != "" ]] && [ -f  ]; then
    cp  /usr/local/share/awesome/themes/modded/background.png
    convert  -blur 0x6 /usr/local/share/awesome/themes/modded/background-blurred.png
    feh --bg-fill 
else
    echo 'Invalid file!'
fi

rc.lua 函数: 此函数处理击键“Mod4+R”,隐藏所有客户端,模糊壁纸并生成 Rofi:

  awful.key({ modkey }, "r", 
          function ()
              myscreen           = awful.screen.focused()
              commandPrompter    = "rofi -show run -normal-window"    
              blur               = "feh --bg-scale /usr/local/share/awesome/themes/modded/background-blurred.png"
              unblur             = "feh --bg-fill /usr/local/share/awesome/themes/modded/background.png"

              for _, t in ipairs(mouse.screen.tags) do 
                  if client.name ~= "rofi" then
                      awful.tag.viewtoggle(t) 
                  end
              end
                     
              myscreen.mywibox.visible = false
              awful.spawn(commandPrompter)        
              awful.spawn(blur) -- Causes mouse to change to loading icon!!                  
          end),

rc.lua 函数 2: 这个函数位于我的 rc.lua 文件的最后,每当名为“rofi”的客户端关闭时激活(抛出一个 unmanage 信号)。该函数将使一切 return 恢复正常,消除墙纸模糊并切换客户端和 wibox。

--Makes the wibar appear when Rofi exits.
client.connect_signal("unmanage", function(c)
     myscreen = awful.screen.focused()
       if c.class == "Rofi" then
                     for _, t in ipairs(mouse.screen.tags) do 
                                awful.tag.viewtoggle(t) 
                     end
                     awful.spawn(unblur)        -- Causes mouse to change to loading icon!!
                         myscreen.mywibox.visible = true                  
       end
end)

按 Mod4+R 会导致问题出现。

重要细节: 奇怪的是,Gnome 屏幕截图不会显示 'loading' 指针,将其转换为常规箭头。我不得不从我的 phone 中拍照,以便向您显示 真实的 指针。抱歉!

您需要添加false作为awful.spawn的第二个参数。这会禁用协议命令应该执行以通知 window 管理器他们已完成初始化。