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

我正在尝试做一些我在Reddit上喜欢的Compiz effect的类似物。我已经通过一种方式调整了我的rc.lua,当按下Super+R时,每个客户端都会隐藏,壁纸会更改为模糊的(存储在另一个目录中),并引发Rofi:

现在我可以从这里开始:

enter image description here

转到这里:

enter image description here

如何重现:

我用于此的代码如下:

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

#!/bin/bash

if [[ $1 != "" ]] && [ -f $1 ]; then
    cp $1 /usr/local/share/awesome/themes/modded/background.png
    convert $1 -blur 0x6 /usr/local/share/awesome/themes/modded/background-blurred.png
    feh --bg-fill $1
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) -- 导致鼠标变为加载图标!
          end),

rc.lua功能2:此功能位于我的rc.lua文件的结尾,并在名为“rofi”的客户端关闭(抛出“unmanage”信号)时激活。该函数将使一切恢复正常,不模糊壁纸以及切换客户端和wibox。

--当Rofi退出时使wibar出现。
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)        -- 导致鼠标变为加载图标!
                         myscreen.mywibox.visible = true
       end
end)

按下Mod4+R将造成问题出现。

enter image description here

重要细节:奇怪的是,Gnome截图不会显示“加载”指针,将其转换为常规箭头指针。我必须用手机拍照才能向您展示真正的指针。对不起!

点赞
用户1672598
用户1672598

您需要在awful.spawn的第二个参数中添加false。这将禁用协议命令,这些命令应该实现以通知窗口管理器它们已初始化完成。

2018-02-07 21:08:31