引言:前面介绍了HTC HOME今日插件的修改,安装新的插件,也许有机友想自己来做一个桌面,不是一切讲究DIY精神吗。这里介绍rlToday和强大的PPC解释程序MortScript(作者原话:interpreter)。rlToday同样是一个今日插件,本身并不复杂。它可以从头开始自定义桌面。
其实rlToday对桌面的美化功能有限,要实现复杂的应用如:桌面切换、分页,横屏控制都要通过MortScript。所以与其说rlToday是一个桌面美化工具,不如说它更侧重于应用。为什么这里要介绍rlToday呢?其他的软件如PPX、WDA也可以做到桌面的自定义。rlToday与它们的区别在于,
PPX、WDA建立的桌面,不管简单还是复杂,都会一次调入内存中,不管用页也好不分页也好,占用的是内存。rlToday占用的是存贮空间,每次切换都是重新载入一个Skin.xml文件,对内存占用少是它的优点。果真如此吗?就我个人感觉来说,rlToday不占内存,
牺牲的是它本身的速度而不影响其他程序运行(即桌面切换慢),而PPX、WDA
牺牲的是内存,自已运行快,但系统整体运行速度不佳。Spb Mobile Shell和后者也是一样的。从桌面制作的便捷性来说,rlToday还不如WDA或者PPX。但使用rlToday让我们有一个学习机会,去学会怎么控制系统,真正了解桌面程序的核心。
闲话少说,言归正题:
1)下载:说是最新版,但也是去年4月份了。对于rlToday这样需要自己写东东的软件我一般用原版。
2)安装:解压后是一个CAB文件,才300K,单击安装,建议安装在手机上。
3)运行:安装后在“今日”设置里有rlToday插件,勾选就可以了。默认介面如图。长按桌面在弹出的菜单中选“options”进入设置介面。
General页是可以选择的皮肤(现在只有一个default);
Times页是时区,放时钟时会用到,有几个时区就可以放几个时钟;
Apps页面是桌面的快捷按钮,可以增删,以后会讲到如何用;
Calenderd页是设置桌面日历表头星期的表示方法,如下左图中 “M”表示星期一。
4)工作机制:安装rlToday后(默认在手机里),在—— 我的设备/Program Files/rlToday/ ——目录下只有两个文件(如下图左),rlToday.dll就是今日插件的主程序文件,rlToday.ini是配置文件,用词本打开可以发现,在Options里面的更改记录在这个文件中,可直接用记事本更改。[
General]项下面是默认的皮肤文件夹名称,当在这个目录下新建一个文件夹,就会在设置介面里的
General页里看到,并可以选择。我已经有许多皮肤了,所以有多个文件夹。rlToday的工作机制便是读取INI文件,进入
General节定义的文件夹,再读取该文件夹下的skin.xml文件执行,就这么简单。
5)Skin.xml文件解析,较长,小心头昏。注释中
兰色表示标签,
橙色表示属性
引用:
<?xml version="1.0" ?>
<!-- today标签,其他内容都在此标签内,height 定义插件的高度-->
<today height="235" refresh="100">
<!--Image标签,x,y定义图片的位置。source定义文件位置-->
<Image x="5" y="5" source="bg.png" />
<!-- AnalogClock标签(模拟时钟),可放多个,timezone引用rlTodady.ini文件中定义的时区,clockface定义时钟所用的图片文件位置-->
<AnalogClock timezone="0" x="9" y="9" clockface="clockface.png" />
<Image x="85" y="5" source="bg.png" />
<Image x="90" y="25" source="line.png" />
<!-- Date标签(日期),format定义格式,color定义RGB色彩,Font标签定义字体和大小以及格式(加粗、倾斜),Onclick标签定义单击时执行文件-->
<Date x="120" y="10" format="MMMM" Alignment="Center" color="RGB(160, 160, 160)">
<Font size="12" weight="bold" font="Tahoma" />
<OnClick File="\Windows\Calendar.exe" />
</Date>
<Date x="120" y="30" format="d" Alignment="Center" color="RGB(230, 230, 230)">
<Font size="20" weight="bold" font="Tahoma" />
<OnClick File="\Windows\Calendar.exe" />
</Date>
<Date x="120" y="55" format="ddd" Alignment="Center" color="RGB(160, 160, 160)">
<Font size="10" weight="bold" font="Tahoma" />
<OnClick File="\Windows\Calendar.exe" />
</Date>
<Image x="165" y="5" source="bg.png" />
<!-- CalendarHeader标签,offset定义相对当前月份偏移量,-1为前一个月,0为当前,1为下一个月-->
<CalendarHeader x="200" y="7" format="MMM yyyy" offset="-1" color="RGB(230, 230, 230)" Alignment="Center">
<Font size="9" weight="bold" font="Tahoma" />
<OnClick File="\Windows\Calendar.exe" />
</CalendarHeader>
<!-- Calendar标签,saturdaycolor、sundaycolor分别定义星期六、天的颜色-->
<Calendar x="167" y="19" rasterx="9" rastery="8" offset="-1" color="RGB(230, 230, 230)" saturdaycolor="RGB(0, 0, 230)" sundaycolor="RGB(230, 0, 0)">
<Font size="7" font="Tahoma" />
<OnClick File="\Windows\Calendar.exe" />
</Calendar>
<Image x="165" y="85" source="bg.png" />
<CalendarHeader x="200" y="87" format="MMM yyyy" color="RGB(230, 230, 230)" Alignment="Center">
<Font size="9" weight="bold" font="Tahoma" />
<OnClick File="\Windows\Calendar.exe" />
</CalendarHeader>
<Calendar x="167" y="99" rasterx="9" rastery="8" color="RGB(230, 230, 230)" saturdaycolor="RGB(0, 0, 230)" sundaycolor="RGB(230, 0, 0)" todayimage="tm.png">
<Font size="7" font="Tahoma" />
<OnClick File="\Windows\Calendar.exe" />
</Calendar>
... <!-- 省略1个CalendarHeader、Calendar标签-->
<Image x="5" y="85" source="bg_s.png" />
<Text text="SMS" x="26" y="87" alignment="Center" color="RGB(160, 160, 160)" >
<Font size="16" weight="bold" font="Tahoma" />
<OnClick File="\Windows\tmail.exe" />
</Text>
<!-- Registry标签(系统注册表),Key用于读取注册表值,看到这机友应该明白插件中显示电量,未读短信数等在注册表哪个位置了-->
<Registry key="HKEY_CURRENT_USER\System\State\Messages\sms\Unread\Count" unknown="0" x="27" y="103" alignment="Center" color="RGB(230, 230, 230)">
<Font size="20" weight="bold" font="Tahoma" />
<OnClick File="\Windows\tmail.exe" />
</Registry>
... <!-- 省略以下3个Registry、image、Text标签-->
<Image x="5" y="137" source="bg_s.png" />
<Image x="58" y="137" source="bg_s.png" />
<Image x="111" y="137" source="bg_s.png" />
<Image x="5" y="190" source="bg_s.png" />
<Image x="58" y="190" source="bg_s.png" />
<Image x="111" y="190" source="bg_s.png" />
<!-- Application标签,用来显示rlToday.ini文件中[Files]节中定义的程序快捷方式。AppName标签中,appnumber表示对应的快捷方式的序号,从0开始-->
<Application x="11" y="139" appnumber="0" />
<AppName x="27" y="172" appnumber="0" alignment="Center" color="RGB(230, 230, 230)">
<Font size="7" font="Tahoma" />
</AppName>
<Application x="64" y="139" appnumber="1" />
<AppName x="80" y="172" appnumber="1" alignment="Center" color="RGB(230, 230, 230)">
<Font size="7" font="Tahoma" />
</AppName>
... <!-- 省略以下4个Application标签-->
</today>
[
本帖最后由 Neo_ 于 2008-5-3 15:57 编辑 ]