About Rainmeter
本打算找一个类似Mac系统下
GeekTool
的桌面工具.
用于在桌面上显示一些常用信息显示,比如系统资源, Todo,服务器性能...
google一波回来, 找到一个大赞的工具 : https://www.rainmeter.net/
Topic
本文不涉及下载安装和基础使用(一路Next即可).
在此, 我们通过应用提供的基础功能,实现一个 ToDo List 工具.
会用到一些简单的Lua
脚本开发.
效果图如下面所示:
How to
本文是完全参考官方文档: https://docs.rainmeter.net/manual/meters/
进行开发的, 这里还是要简单介绍一下插件开发的一些基础概念:
其中, 最基础, 最核心的就是这两个:
- Measures : 将要采集的数据源, 可以是文本,接口, 或者应用提供一些本地API
- Meters : 向桌面进行图形化输出的接口, 可以理解为GUI部分.
Show me the code:
1. 目录结构:
在应用的安装目录下, 创建一个目录
cc
,然后,在此目录下, 创建三个文件:
- cathy.ini 此为 rainmeter的插件代码,都为 ini格式
- todo.lua 本插件采用script方式加载外部文件, 这里通过lua文件进行处理
- todo.md 这个markdown文件,就是将来用于工作的todo文本来源.
2.代码内容:
- 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
代码内容极度简单, 真没啥好解释的..., 只需要留意一下 Meter 和 Measure 相关的设定
- todo.lua
function Update()
io.input("D:\\yourpath\\Documents\\Rainmeter\\Skins\\cc\\todo.md")
t = io.read("*all")
return t
end
来来来, 这里简单说明一下, 通过 lua的 io函数加载外部文件, 把所有内容全部显示到插件界面.
one more thing you should know : Rainmeter 默认刷新间隔是 1秒,
也就是说, 当你修改 todo.md 后, 它会在1秒内刷新到桌面上, 这个默认时间足已.
- todo.md
- Patent review at meeting room 3, 4PM
- Todo : something instresting ...
哈哈, 终于到这里了, 也就意味着, 本文要结束了.
当插件加载后, 只要在需要的时候 , 修改文件 todo.md即可.
也需有同学会说, 那修改文件 也很麻烦呀,
这里安利另一个神器Listary
, 有兴趣的同学, 先自行了解一下.
Good afternoon, everybody
bye