善用佳软/TC学堂/正文

第8讲:Total Commander 界面美化与定制

作者:shanny
首发:http://www.shannycn.com
最后更新:请到shanny主页查看最新版

xbetaTC学堂之邀,特撰此文,为TC推广聊尽微薄之力。

目录
1 引言
  1.1 Total Commander 7.0 界面
  1.2 TCEE 界面
  1.3 准备工作
2 设置篇
  2.1 外观界面
  2.2 字体设置
  2.3 配色方案
3 图标篇
  3.1 工具栏图标
  3.2 主程序及文件图标
  3.3 驱动器栏图标
  3.4 鼠标光标
4 制作篇
  4.1 素材收集
  4.2 加工制作
  4.3 打包集成
5 总结

一、引言

作为Windows下最好用的文件管理器,Total Commander (简称TC)以其强大的功能而广受称道,唯其界面,却屡遭诟病。TC 作者 Ghisler 是个实用主义者,一概漠视用户对界面的需求,从第一个32位版本3.0(1996)开始,到 7.0 之前的 6.x(2006),整整十年,TC的功能不断增强,唯有图标界面几乎一成不变,一直顽固地坚持着土土的 win3.x 风格。于是,TC那简陋到丑陋的界面,几乎成了很多TC用户们华丽的Windows XP、Vista上的一景,这着实也吓跑了不少跃跃欲试的潜在用户。

1. Total Commander 7.0 界面

幸好,Ghisler还不是彻底的老顽固,十年之后,终于推出了TC 7.0(2006),新版本实现了更多的界面功能,如文件夹树窗口,菜单图标等;同时还更换了全套图标,新图标清新淡雅,令人耳目一新,我们的TC终于不那么丑了:)

2. TCEE 界面

其实对TC Fans来说,7.0图标界面的更新并不是最重要的。

因为在7.0之前,TC就支持了不少界面定制的功能,比如允许用户配置配色,改变显示风格,使用自己的图片、图标等等。这使得用户在一定程度上可以更换默认的图标,美化定制TC的界面,打造属于自己的个性化TC。在此基础上,不少TC Fans纷纷推出自己的美化版,增强版,比较具有代表性的如国内的TC美化版TCEE,张学思增强版,国外的TCUPTC PowerPack等。

其中,本人的TC美化版TCEE (Total Commander Embellished Edition) 就是国内最早的TC美化版本,TCEE共有三种风格各异的界面主题,分别为水晶主题,XP主题和卡通主题。下图就是水晶主题的TCEE界面:

如图所见,虽然与TC7.0相比,很难说TCEE就一定更漂亮,这实在是个见仁见智的问题。然而,相对于TC6及之前版本,TCEE的美化效果还是比较明显的,当时制作TCEE的初衷就是为了吸引那些因界面原因而放弃TC的用户。事实上,从2002年推出至今,TCEE也确实发展了不少TC用户,而本人也在期间积累了些许美化定制的心得,本文将毫无保留地与大家分享这些经验。我们会从TC7.0的默认界面开始,一步一步通过配置实现与TCEE相同的界面,并且学习如何制作图标资源库,让大家能够DIY出属于自己TC版本。

注意:TC的配置文件设置会因版本(16位/32位)及环境(单色/彩色显示)不同而有所变化,本文以32位版本及彩色显示为准,不考虑16位单色情况。

3. 准备工作

在开始之前,我们需要先安装一个原版TC版本,然后下载一些TCEE所用的美化资源TCEE_Resource.zip(387KB,http://www.shannycn.com/download/TCEE_Resource.zip),并把它解压到TC的安装目录,其中TCscheme.exe为切换TC界面主题的工具,Themes目录下是美化所需的图标资源,Language目录则存放TCEE的简体中文语言包,为了讲解描述语言的统一 ,请将TC的语言设置为该目录下的Wcmd_chs.lng:在配置对话框单击语言(Language),然后选中“简体中文(Simplified Chinese) Shanny 版”确定即可。如下图所示:

好,下面我们就开始TC的定制美化之旅!

二、设置篇


1. 外观界面

首先,我们通过“菜单->配置->选项”打开TC的配置对话框,来设置一下TC的外观界面,决定显示哪些界面元素。

我们看到,TC几乎允许用户设置所有的界面元素的显示与否,除了菜单和文件列表。也有用户极端到连菜单都隐藏了的,不过这不在本文讨论之列。我们还是从易用性出发,保留绝大部分界面元素,只隐藏“功能键按钮”,因为实际使用时按快捷键比按这些按钮来得更方便,我们没必要让它们占用宝贵的屏幕空间。

另外,TCEE还显示了默认隐藏的“驱动器按钮”,勾选上“显示驱动器按钮”及“浮动图标”,这些驱动器按钮可以让用户方便直观地在各个驱动器之间切换。

TC的所有设置都保存在配置文件里,界面相关的所有改动也都可以通过直接修改配置文件wincmd.ini来实现,在TC窗口点击“菜单->配置->编辑配置文件...”即可打开文件编辑。刚才我们所作的修改等价于以下配置:

; TC 屏幕布局
[Layout]
; 显示两个驱动器按钮栏
DriveBar1=1
DriveBar2=1
; 不显示功能键按钮
KeyButtons=0

注意,与通过配置对话框设置不同,修改配置文件后无法直接生效,必须重启TC才看到改动效果。

2. 字体设置

在配置对话框的“字体”页面,用户可按自己喜好分别为文件列表、窗口标题栏及对话框设置合适的字体。

TC的初始字体用的是"Microsoft Sans Serif"及其粗体(若系统无该字体则用"MS Sans Serif"),该字体尤其是粗体在很多时候并不耐看,TCEE使用的则均是Tahoma 8号常规字体。配置文件如下:

; TC 屏幕分辨率
[1024x768 (8x16)]
; 文件列表字体
FontSize=8
FontName=Tahoma
FontWeight=400
; 窗口标题栏字体
FontSizeWindow=8
FontNameWindow=Tahoma
FontWeightWindow=400
; 对话框字体
FontNameDialog=Tahoma

值得注意的是,TC允许为不同的屏幕分辨率设置不同的显示字体(上例中为1024x768),因此我们在修改配置文件时,需要先确定当前屏幕分辨率。

3. 配色方案

在“颜色”页面,用户能定制TC文件列表窗口的配色方案,可以设置显示的文字,标记,光标等等的颜色,还可以设置两种背景色并交错显示。页面右边的示例则实时显示当前配色的效果,但实际上由于字体的不同,示例与真实的效果并不完全一样,建议设置后点“应用”按钮查看实际效果。
下面是两个不同配色方案的实际效果,可以看到,不同的配色能使文件列表呈现了完全不同的风格。

方案1

实际效果

方案2

实际效果

配置文件如下:

; 方案1
[Colors]
; 颜色
ForeColor=0
BackColor=-1
BackColor2=16119285
MarkColor=8388608
CursorColor=16744448
CursorText=16777215
; 不使用反色光标
InverseCursor=0
; 反转选择
InverseSelection=1
; 文件夹树的线条颜色(在对话框中不可配置)
TreeLineColor=15263976

; 方案2
[Colors]
; 颜色
ForeColor=14671839
BackColor=0
BackColor2=0
MarkColor=8396800
CursorColor=8453888
CursorText=16777215
; 不使用反色光标
InverseCursor=0
; 反转选择
InverseSelection=1

另外,在“颜色”页面点击“按文件类型设置颜色...”,TC还能按特定的要求为各类文件设置不同的颜色,例如,最近2小时内修改的文件,文件大小不到4KB的文件,甚至是某位歌手的Mp3等等,只要想得到,TC都能做到。如下图所示,

具体设置方法在TC学堂里已有讲解,本文在此不再赘述。

三、图标篇

图标是Windows软件界面中最为重要的元素之一,一套图示明确,图像美观,风格统一的图标能为整个软件增色不少,令界面看起来赏心悦目。所以,尽管TC7.0之前的版本不甚美观,但通过替换图标,还是达到了较好的美化效果。

目前的TC版本支持用户替换绝大部分图标,如工具栏图标,文件列表中的文件图标,驱动器栏图标(其实是图片),甚至还包括TC的主程序图标和鼠标光标(姑且也归为图标吧)。

1. 工具栏图标

下图是TC7.0的初始工具栏,

工具栏的图标替换是最简单直接的,在其右侧空白处点出右键菜单选择“更改”,就能弹出自定义工具栏的对话框:

我们先来设置一下右上区域的“图标外观”,把“大小”(图标按钮的大小)改为20,然后取消勾选“小图标”(按指定大小显示图标,不选则按按钮大小显示图标),这两项是TCEE所用的优化配置,既增加了单行工具栏显示图标的数量,又保证了图标的美观性。当然这两处修改也可以用配置文件完成:

; TC 工具栏
[Buttonbar]
; 工具栏高度,为所设置的图标按钮大小+5
Buttonheight=25
; 不使用小图标
SmallIcons=0

我们再来看自定义工具栏的对话框,从对话框的第一行“工具栏文件”就能看出,TC中工具栏的配置定义,包括其按钮命令,所用图标等等,其实是以单独的*.bar文件形式保存的,而不存放在之前我们修改的wincmd.ini里,选择不同的bar文件就使用不同的工具栏。大家可以在备份TC安装目录下的default.bar文件之后,按“工具栏文件”右侧的">>"把工具栏指定成TC目录下的DftCst.bar文件,然后按两次“确定”就能看到如下水晶风格的工具栏:

我们看到,不仅工具栏图标完全不同了,连工具栏按钮的数量和功能等也发生了变化,我们再次打开自定义工具栏的对话框:

可以看出对话框下方的图标文件路径改变了,下面显示的图标也不一样了,改变工具栏图标其实就是选择特定的图标资源文件内特定的图标,非常简单。图标资源文件可以是ico,icl,或dll,exe等任何包含图标资源的文件,并且最好能同时提供16x16和32x32大小的图标。

值得一提的是,上图中我们把按钮的“命令”指定到了另一个bar文件,这样按下该按钮就能切换到那个工具栏,从而能使TC支持多个不同的工具栏。

TCEE有三组不同风格的工具栏,除了刚才水晶风格的工具栏之外,还有如下XP风格和卡通风格:

TCEE还提供了一个TC界面主题切换工具TCscheme,该工具也可以从刚才下载的美化资源文件中找到,只要解压到TC安装目录,就可以在各种风格的主题之间方便地切换。

2. 主程序及文件图标

替换TC的主程序及文件列表中的文件图标也相当简单,但该操作无法通过设置对话框完成,必须手动修改配置文件,只需要在wincmd.ini里更新或添加如下键值即可:

; TC 配置
[Configuration]
; 指定TC使用的图标资源库路径
IconLib=%COMMANDER_PATH%\Themes\FileCst.dll

修改后重启TC,TC的主程序图标和文件图标就都变成水晶风格的了,当然这里所使用的图标资源库必须得符合一定条件,各个图标的对应关系及大小要求说明如下(TCWiki上相关部分说明有误,以本文为准),其中大小中16指图标大小为16x16,32则指32x32,具体使用哪种图标则取决于TC的设置。

图标 序号 说明 大小
 
1
TC主程序图标
16, 32
2
标准文件夹图标
32
3
未使用
32
4
DOS程序图标,为默认可执行程序图标
32
5
未关联文件图标,为默认文件图标
32
6
共享文件夹
32
7
打开的文件夹
32
 
8
打开的压缩文件
16, 32
 
9
压缩文件
16, 32
10
隐藏/系统文件
32
 
11
上级目录
16, 32
12
隐藏/系统文件夹
32
 
13
指向无图标及未关联文件或目录的快捷方式
16, 32
14
标准文件夹
16
15
未关联文件图标,为默认文件图标
16
16
隐藏/系统文件夹
16
17
共享文件夹
16
18
打开的文件夹
16
19
隐藏/系统文件
16
20
未使用
16
21
DOS程序图标,为默认可执行程序图标
16
22
未被关联的.B64, .UUE, .MIM及.XXE文件
32
23
未被关联的.B64, .UUE, .MIM及.XXE文件
16

TC及TCEE三种风格的文件图标显示效果及对应图标资源库文件如下,大家同样可以使用TCscheme来切换。

TC

TCEE 水晶风格

FileCst.dll

TCEE XP风格

FileXP.dll

TCEE 卡通风格

FileCtn.dll

3. 驱动器栏图标

与替换文件图标类似,驱动器栏图标的替换也是通过修改配置文件实现的,配置如下:

; TC 配置
[Configuration]
; 指定TC驱动器栏使用的图标资源库路径
drivelib=%COMMANDER_PATH%\Themes\DrvCst.dll

同样地,在修改后重启TC,驱动器栏的图标就会变成水晶风格,其实驱动器栏的图标在图标资源库内部是以16x16大小的BMP图片形式存放的,各图片对应关系说明如下:

图片 名称 说明 大小
DISK35.BMP
3.5"软驱
16
DISK525.BMP
5.25"软驱
16
DISKCDROM.BMP
光驱
16
DISKFTP.BMP
FTP站点
16
DISKHDD.BMP
硬盘驱动器
16
DISKNET.BMP
网络硬盘驱动器
16
DISKNETHOOD.BMP
网上邻居
16
DISKNETX.BMP
断开的网络硬盘驱动器
16
DISKRAM.BMP
RAM硬盘驱动器
16
DISKREMOVE.BMP
可移除的硬盘驱动器
16

TC及TCEE三种风格的驱动器栏图标显示效果及对应图标资源库文件如下,大家同样可以使用TCscheme来切换。

TC
TCEE 水晶风格
DrvCst.dll
TCEE XP风格
DrvXP.dll
TCEE 卡通风格
DrvCtn.dll

4. 鼠标光标

随着TC版本的更新,TC中允许用户自定义的界面元素也越来越多。TC7.01就新增了替换部分拖放光标的功能,不过该功能在配置文件中并无独立的键值,而是与文件图标共享同一个键值,也是修改[Configuration]下的IconLib:

; TC 配置
[Configuration]
; 指定TC使用的光标库路径
IconLib=%COMMANDER_PATH%\Themes\FileCst.dll

也就是说,用来替换的光标和文件图标必须分别作为Cursor和Icon资源存放在同一个资源文件中。以下是TC7中拖放操作的鼠标光标(TCEE目前无自定义光标),但其中光标23在7.02a中尚不支持自定义:

光标 序号 说明 大小
21
禁止停放
32
22
拖放为新标签
32
23
访问URL
32
24
拖放标签
32
25
拖放复制
32
26
拖放移动
32

四、制作篇

大家看到,TC的界面美化其实是相当简单的,只需要通过配置文件改一些设置,指定几个符合要求的图标资源库就行了。但是,如果我们要真正地实现DIY,就必须能够自己DIY这些图标资源库,因为它们才是TC美化中最本质的东西,决定了最终TC上的显示效果。

制作TC图标资源库,大致可分为素材收集,加工制作,打包集成这几步,下面简单介绍一下各步过程及相关工具,关于各工具的具体用法,请参考相应教程,本文不展开叙述。

1. 素材收集

工具:纯手工

要制作图标资源库,首先必须得有图标素材。当然,如果有一定平面设计功底,大家也可以自己绘制整套图标。然而对于我们大多数人,可能图标素材的来源还是在于平时收集,网上就有不少图标论坛或者网站,有时候发布的图标很不错,像TCEE中水晶风格和卡通风格的图标基本就取自Everaldo

关于选用图标的标准,虽然是仁者见仁,智者见智,但大体上应该是图示明确,图像美观,风格统一,同时避免太过花哨,毕竟TC是一个需要天天面对的工具软件,太花哨会晃眼的,呵呵。

2. 加工制作

工具:Axialis IconWorkshop / Microangelo Creation,Photoshop

收集到合适的图标素材之后,需要用Axialis IconWorkshop转换成合适的ICO图标文件,Axialis IconWorkshop是一款专业的图标设计软件,可以与Photoshop无缝连接,它能方便地编辑、转换和发布图标。另外,Microangelo Creation也是一套比较好用的图标工具,而且还能编辑鼠标光标。

转换图标时需要注意两点,一是图标的大小,TC所用图标一般为16x16,32x32或者同时包括16x16和32x32,具体要求详见上文;二是图标的色深,Windows XP或Vista用户可以使用32位色,这种图标带透明的Alpha通道,看起来更漂亮,但Windows 2000及98等较早的系统无法正常显示Alpha通道,所以这些用户使用16位色的图标就够了。

另外,由于这些图标原本不是为TC量身定做的,所以很难完全满足TC的要求,一般总会缺少那么几个。这时候就需要用图标工具或Photoshop亲自设计了,我们可以在已有图标基础上修改,也可以从头绘制,只要注意保持与其他图标的风格一致就行。TCEE中部分水晶风格和卡通风格,以及大部分XP风格的工具栏图标就是这样加工出来的。

至于TC驱动器栏所用的BMP图片文件以及CUR光标文件,都与ICO图标文件类似,也需要用Photoshop和Microangelo Creation加工成指定大小,在此不再赘述。

3. 打包集成

工具:Axialis IconWorkshop / Microangelo Creation,Visual C++

在所有的ICO图标、BMP图片、CUR光标准备完毕之后,我们就可以把它们打包成图标资源库文件了。

只包含ICO图标的ICL图标库可以用图标工具Axialis IconWorkshop 或 Microangelo Creation生成,另外还包含BMP图片或CUR光标的DLL资源文件则需要用Visual C++制作,事实上我们也可以把这三种不同的资源(主程序及文件图标,驱动器栏图标以及鼠标光标)都打包在同一个DLL资源文件里。

需要注意的是,TC中主程序及文件图标、以及鼠标光标在图标资源库中必须按指定序号排列,其内部图标或光标的名称则可随意指定;而驱动器栏的BMP图片必须按指定名称保存。

图标资源库制作完成之后,我们就可以编辑TC的配置文件然后重启,让TC显示我们自己的图标了!

五、总结

好,到此为止,我们不但通过配置实现了与TCEE相同的界面,还学习了如何制作自己的图标资源库,现在,我们就可以DIY自己的TC版本了!

说起来,TC界面的美化定制其实没有什么难度,只不过要做一个好的图标资源库,实在需要太多的时间和精力。现在网上流传的TC图标资源库并不多,真正美观实用的更是凤毛麟角。可能是因为有些有时间的用户不知道怎么做,而知道怎么做的用户又没有时间。希望本文能让更多的用户一起来参与TC界面的美化定制,共同制作出更多经典的TC图标资源库。(完)