我正在尝试做类似于我在Reddit中非常喜欢的Compiz effect。我调整了rc.lua
的方式,当按下Super + R时,每个客户端都被隐藏,壁纸变为模糊的(存储在另一个目录中),Rofi会产生:
现在我可以离开这里了:
到此处:
如何重现:
我用于此的代码如下:
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) -- Causes mouse to change to loading icon!!
end),
rc.lua函数2:此函数位于我的rc.lua
文件的最末端,只要客户端调用" rofi"关闭(抛出unmanage
信号)。该功能将使一切恢复正常,不会破坏壁纸并切换客户端和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屏幕截图无法显示“正在加载”的内容。指针,将其转换为常规箭头。我不得不从手机拍照,以便向您显示真实的指针。遗憾!
答案 0 :(得分:1)
您需要添加false
作为awful.spawn
的第二个参数。这个禁用协议命令应该实现,以通知窗口管理器它们已经完成初始化。