X11

有沒有辦法讓它在我的 linux mint destkop 上下雪?

  • July 23, 2019

我真的很想雪落在我的桌面上。

嘗試過Xsnow(使用 Mate/Marco、Mate/Compiz 和 KDE/Kwin),但不起作用。

Compiz 的 Snow 外掛也不再起作用。

KDE 的雪花特性被移除。

有沒有其他方法可以下雪?

xsnow在殺死覆蓋根視窗的桌面應用程序後使用。執行xkill並點擊桌面。這至少在pcmanfm通常處理桌面的 LXDE 中有效,但應該在其他環境中工作,只要它們不需要在後台有桌面視窗並且在它死時不會自動重新啟動它。

我認為 lua 腳本(由Conky啟動)將是完成這項工作的好工具。網際網路上有很多古怪的例子(例如herehere),例如,只有在外面下雪時,它們才能在您的桌面上下雪。

在一個論壇上看到有人發布了一些關於如何編寫煙花和雪的 lua 腳本的影片教程,但不幸的是他已經從 YouTube 上刪除了它們……

然而,有一些剩餘的程式碼可以用作模板,但不幸的是不能單獨工作。

如果我有時間和意願來學習 lua 並自己解決這個問題,我會這樣做:

  1. 安裝conky。Mint 可能在它的包管理器中有它。
  2. 將降雪片段保存在某處(例如~/.conky/lua/snowfall.lua)
  3. 將以下行添加到 ~/.conkyrc

`lua_load /path/to/home/.conky/lua/snowfall.lua

lua_draw_hook_pre snowday 4. 執行conky`。查找錯誤,並在必要時調試/註釋行/添加功能…

這是snowday函式的基礎,可供conky. 我真的很想看到這項工作!

少了什麼東西?和類timerVector至少..

function conky_snowday()
   timer.Stop("fuller")

   local emt2 = ParticleEmitter(Vector(0,0,400))
       timer.Create("fuller", 0.1, 0, function()
       for i=1, 1000 do
           local snowparty = emt2:Add("particle/snow",LocalPlayer():GetPos() + Vector(0,0,1000))
           snowparty:SetVelocity(Vector(math.random(-700,700),math.random(-700,700),math.random(-300,-100)))
           snowparty:SetDieTime(4)
           snowparty:SetStartAlpha(0)
           snowparty:SetEndAlpha(255)
           snowparty:SetStartSize(5)
           snowparty:SetEndSize(math.random(0,3))
           snowparty:SetColor(255,255,255)
           snowparty:SetRoll(math.random(0,360))
           end
       end)
   emt2:Finish()
end

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