2、Ctrl+D 列表:直接“添加到子菜单”
Ctrl+D 常用文件夹列表,肯定是 TC 中位列前 3 的常用功能。收藏的文件夹增多后,无论出于视觉逻辑,还是热键操作,都应该通过子菜单管理。此前的做法是,先添加目录,再移动到子菜单。TC8 支持直接添加到子菜单功能,操作更加方便:只须点击“添加到子菜单”,便会弹出包含子菜单项的内容,选择即可。
再多做一些分析?
① 此功能增加,属于无需求时无干扰,有需求时更方便,当然很好。注意,这里的“无需求”指某些无需求的“场合”——有时不需要放在子菜单,而需要放在根菜单——并不指存在无需求的“用户”。因为从更主动的意义上讲,用 TC 则应该用 Ctrl+d,用 ctrl+d 则应该用子菜单。
② 本质上,这并不是新功能,而是对操作的简化。原来的多个功能点分布在2步操作中——添加+编辑。现在,把编辑界面的『部分』常用功能,前移到了添加界面。
③ 既然是部分功能的前移,就意味着对高需求用户,影响不大。比如用户是“条理控”,要对目录项进行手工排序,即 Ctrl+d a 一定要 Ctrl+d c,则此单项功能前称的意义并不大。
④ ctrl+d 进入某目录,属于极常用功能,假设频度为1000。而添加目录项,尤其对老用户来说,则并不属于常用操作,其频度应该只有30(即1次设置 vs 30次使用)。而添加之后的整理,则频度更低。视是否有整理习惯,大概在 3-15 左右(即10次收集 vs 1次整理;最多是2次收集 vs 1次整理)。
⑤ 上面分析的1-2项,是产品设计人员在遇到这个需求或想法时,决定“是否改变?如何改变?”。而3-4项分析,则是对受益场景的分析,以衡量所投入的成本。
注:感谢 harnack 网友的分享:“在我看来,最实用的改进是 Ctrl+d 支持子菜单。”所以,今天谈这一改进。
附:history.txt 中相关内容:
19.01.12 Added: Directory hotlist (Ctrl+D): Option to add a new entry directly to a submenu of the list. Will be added at the end of the list, but before any contained submenu (32/64)
22.01.12 Fixed: Adding item to directory hotlist submenu or removing any item could remove all remaining items too (32/64)
22.01.12 Fixed: Adding item to directory hotlist: Selecting submenu not working when opening the submenu twice (32)
01.02.12 Fixed: When adding items to submenu in directory hotlist, use ANSI functions to move entries if the ini is ANSI (32/64)
08.02.12 Fixed: Directory hotlist, add directory to submenu: Handle also malformed menus with more closing markers ‘–‘ than opening markers ‘-menuname’ (32/64)
02.02.12 Fixed: Directory hotlist (Ctrl+D): Error when clicking on “Add” more than 6 times (problem with subclassing of dialog controls) (64)
24.01.12 Fixed: Directory hotlist (Ctrl+D): Dropdown menu with list of submenus was shown too high (64)
06.05.12 Fixed: Ctrl+D – Add current directory didn’t support tabstops in folder names when adding dir to subfolder (32/64)
—- 以下是昨天的旧文 —-
【引言】最近有些时间,开始详细研究 Total Commander v8.0(以下简称 TC8) 的更新与改进之处。虽然总体改进不大,但细微改进仍然很多,所以,每研究一段,就随时发表,欢迎大家反馈、指正。 ★ 下载|中文网站|中文教程|中文帮助
0、TC8 更新与改进总述
从 Total Commander v7.56a 到 TC8,到底有什么变化?用一句话回答,就是『64位平台+N处小改进』。
如果说 TC7.5 的主要意义在于 unicode 支持,则 TC8 的主要意义在于支持 64 位平台。考虑到 TC 一直基于 Delphi 2.0 开发,此迁移的工作量、困难可想而知。否则,也不需要在代码迁移之后,仍要11个月(注1)、26个beta(注2)、2个RC 、修复 668项bug才最终发布!
而这N处小改进,经vim帮助,迅速检查 HISTORY.TXT 可知:TC8 共计 115项新增特性。
这些枯燥的数字,正是成就TC的秘诀!任何产品或程序员,都可以快速复制TC的基本功能,甚至增加更多功能。但是,如果没有和 Ghisler 一样的长期投入,就会在细节方面高下立判。而这种投入,靠“成本-效益”分析、靠“产品经理”的思维,大概是做不到的。要成就它,必须热爱产品、尊重需求、深度理解技术应用。甚至,还需要一点谦卑和迟钝——作品本简单,用别人眼中落后的工具(Delphi 2.0)就能开发。It’s not fashion, but it can work,没必要更换。而到了形势需要,必须转换的时候,采用最笨的办法也无所谓(比如TC7.5对unicode的支持,据说就属于“土法炼钢”)。
聪明的、多想法的、快行动的人越来越多,漂亮、吸引投资及用户的产品/服务也越来越多。但是,用户的幸福并未增多,反而面临过载的迷茫。而让人能受益终生的工具,却仿佛仍然是多年前慢公司、慢开发者的所出的经典。
注1: 2011-06-01~2012-05-23
注2:版本号只到beta25,但中间有一个beta17a
1、采用GDI+,增强图像支持:自动旋转、透明、动画间隔
TC8 的 32 位版本中也采用了 GDI+,由此:
* 内置支持 JPG、GIF、PNG 格式,不再需要插件;
* 更好支持动画GIF的透明色;
* 自动依据jpg EXIF信息旋转图(如不需要,可通过 wincmd.ini [Lister] AutoRotate=0 关闭);
* 可通过 IViewAdditionalTypes 设定Lister 用 Irfanview/Xnview 打开内置已经支持的图片类型(bmp/jpg等)。
* 可设定动画 gif 的最小帧间隔,即设即生效,无需重启。参数为:wincmd.ini [Lister] GifMinDelay=80;单位=毫秒。
对应 HISTORY.TXT 内容:
05.08.11 Added: Lister: Show jpg, gif and png images in Lister without plugins also in 32-bit version, via gdi plus (32)
03.10.11 Added: Use double buffering to draw GDI+ images (JPG, GIF, PNG) without flickering, also handles transparent animated GIFs correctly (32/64)
04.10.11 Added: wincmd.ini [Lister] GifMinDelay=80 minimum delay between animated gif frames in milliseconds (default: 80) – change effective without restart (32/64)
07.11.11 Added: Lister: Auto-rotate jpg images loaded via GDI+ to the angle stored in the EXIF information (32/64)
15.11.11 Added: wincmd.ini [Lister] AutoRotate=0 turns off automatic rotation of JPG images according to the EXIF orientation value (32/64)
16.11.11 Added: Lister (F3): Use Irfanview/Xnview to load internally supported image type (e.g. *.bmp, *.jpg) if it is listed in IViewAdditionalTypes variable (32/64)
(未完,待续)