About Rainmeter
本打算找一個(gè)類似Mac系統(tǒng)下
GeekTool
的桌面工具.
用于在桌面上顯示一些常用信息顯示,比如系統(tǒng)資源, Todo,服務(wù)器性能...
google一波回來, 找到一個(gè)大贊的工具 : https://www.rainmeter.net/
Topic
本文不涉及下載安裝和基礎(chǔ)使用(一路Next即可).
在此, 我們通過應(yīng)用提供的基礎(chǔ)功能,實(shí)現(xiàn)一個(gè) ToDo List 工具.
會(huì)用到一些簡(jiǎn)單的Lua
腳本開發(fā).
效果圖如下面所示:
How to
本文是完全參考官方文檔: https://docs.rainmeter.net/manual/meters/
進(jìn)行開發(fā)的, 這里還是要簡(jiǎn)單介紹一下插件開發(fā)的一些基礎(chǔ)概念:
其中, 最基礎(chǔ), 最核心的就是這兩個(gè):
- Measures : 將要采集的數(shù)據(jù)源, 可以是文本,接口, 或者應(yīng)用提供一些本地API
- Meters : 向桌面進(jìn)行圖形化輸出的接口, 可以理解為GUI部分.
Show me the code:
1. 目錄結(jié)構(gòu):
在應(yīng)用的安裝目錄下, 創(chuàng)建一個(gè)目錄
cc
,然后,在此目錄下, 創(chuàng)建三個(gè)文件:
- cathy.ini 此為 rainmeter的插件代碼,都為 ini格式
- todo.lua 本插件采用script方式加載外部文件, 這里通過lua文件進(jìn)行處理
- todo.md 這個(gè)markdown文件,就是將來用于工作的todo文本來源.
2.代碼內(nèi)容:
- cathy.ini
[LoadLua]
Measure=Script
ScriptFile=todo.lua
[TextStyle]
FontFace=Inconsolata
FontColor=51,255,51,255
SolidColor=0,0,0,1
StringAlign=Left
AntiAlias=1
[TodoList]
Meter=String
MeterStyle=TextStyle
MeasureName=LoadLua
X=0
Y=0
W=450
H=500
FontSize=12
代碼內(nèi)容極度簡(jiǎn)單, 真沒啥好解釋的..., 只需要留意一下 Meter 和 Measure 相關(guān)的設(shè)定
- todo.lua
function Update()
io.input("D:\\yourpath\\Documents\\Rainmeter\\Skins\\cc\\todo.md")
t = io.read("*all")
return t
end
來來來, 這里簡(jiǎn)單說明一下, 通過 lua的 io函數(shù)加載外部文件, 把所有內(nèi)容全部顯示到插件界面.
one more thing you should know : Rainmeter 默認(rèn)刷新間隔是 1秒,
也就是說, 當(dāng)你修改 todo.md 后, 它會(huì)在1秒內(nèi)刷新到桌面上, 這個(gè)默認(rèn)時(shí)間足已.
- todo.md
- Patent review at meeting room 3, 4PM
- Todo : something instresting ...
哈哈, 終于到這里了, 也就意味著, 本文要結(jié)束了.
當(dāng)插件加載后, 只要在需要的時(shí)候 , 修改文件 todo.md即可.
也需有同學(xué)會(huì)說, 那修改文件 也很麻煩呀,
這里安利另一個(gè)神器Listary
, 有興趣的同學(xué), 先自行了解一下.
Good afternoon, everybody
bye