Archive for the ‘Mac’ Category

Safari 3 Beta: Mac + Win

June 12th, 2007
Tags: , , | Posted in Application, Mac, Web, Windows | 1 Comment »

昨天的 WWDC 2007 内容除了众所周知的 Mac OS X Leopard 之外,Apple 还提供了 Safari 3 Public Beta —— Mac、Win 两种版本

从 Safari 2 来看,Safari 3 除了 WebKit 版本的更新之外,并没有太多重大的功能改变,而更多的是对现有功能的增强。而一些新功能,比如制作 Web Clip Widget,增强的 PDF 阅读器则可能要到 Leopard 中的 Safari 3 才能看到。

Safari 3 宣传最多的还是它的速度:根据 Apple 的说法,Safari 3 的速度是其他浏览器的 2 倍之多。而且根据 Jeff 的测试报告来看,Apple 也没有吹牛。

Overall Speed:
Safari 3.0 (Win): 398.6 ms
Safari 3.0 (Mac): 412.4 ms
OmniWeb 5.5.4 (Mac): 814 ms
Opera (Mac): 829 ms
Camino 1.5 (Mac): 1415.6 ms
Firefox 2.0 (Mac): 1755.8 ms
Firefox 2.0 (Win): 1768.6 ms
IE 7 (Win): 2101 ms
IE 6 (Win): 2109.2 ms
Safari 2.0 (Mac): 2727 ms

在 Web 应用日益丰富网络连接速度也越来越快的今天,页面渲染速度以及 Javascript 的执行速度对 Web Browser 的影响也越来越大。而许多第三方编译的 Firefox 优化版本也是以优化 JavaScript 执行速度为优化手段之一,让 Firefox 来更从容的面对越来越重型的 Web Aplications。可以说 Safari 3 在这些测试中表现出来的结果还是相当不错的。

Safari 3 Beta 新特性

Beta 版本中的新特性在 Mac 和 Windows 版本中 没有差别,如果 Windows 中的 bug 不算新特性的话。如果一直有在用 Webkit Nightly,可能这些功能并不陌生,但是对于 Safari 2 来说这些小的改变还是能让操作更便捷,比如我期盼已久的标签拖拽功能1

标签拖拽
这是一个我期盼已久的功能,标签可以用拖拽的方式来排列顺序(就像在 MyIE、Firefox 中)。不仅仅是如此,还可以用把标签“拖出”标签栏的方法,将标签页放到一个独立的窗口中。而在 Window 菜单中,也有相对应的“Merge All Windows”选项来把所有独立的窗口放到同一个窗口中以标签形式浏览。
文字搜索框
Safari 3 不再使用 Mac OS X 系统的文字搜索框,而是自立门户内建了另一个。看起来好像是 Firefox 中的文字搜索框,不过 Safari 将它放在了页面上边。键入搜索内容后 Safari 会将搜索到的文本高亮显示(页面其他部分变暗,关键字以橘色底白色字显示),在点 Next, Prev 的时候还会缩放一下文字来提醒你。
多标签退出提示
简单的小功能,在多标签浏览的时候,关闭窗口或者按 Command + Q 退出时会提示你还有其他标签。似乎也有人不喜欢这样的功能,可以在 Perferences 里关掉。
拖动改变文本输入框大小
HTML 中的文本框都会像窗口一样,可以在右下脚拖动缩放。说实在的,我没觉得有很大用处。╮(▔▽▔”)╭
为标签组添加书签
窗口中有多个标签时,Bookmarks 菜单中会有 Add bookmarks for these x tabs…。还算时蛮实用的一个功能,不过用到的机会似乎不多。新的 bookmarks 组默认是在当前窗口打开所有书签的(Auto-Click),在 Manage Bookmarks 中可以改。
设置图片为桌面背景
图片的关联菜单中有了 Use Image as Desktop Picture。刚刚从 Firefox 跳船到 Safari 时我很想念这个功能。现在?不太确定。因为已经习惯了把壁纸放到 Wallpapers 文件夹里再设置为壁纸。也许现在我可以先设置为壁纸看看效果,之后再决定是否要保存起来。

WebKit 渲染的改变

其实 WebKit Nightly 总是变来变去,就先说几个和 Safari 2 相比起来显而易见的吧。

  • 中文字体可以显示“粗体”、“斜体”等风格
  • HTML 元素(按钮、下拉选框、文字框等等)会以 CSS 定义的样式显示,而不是全都套用系统样式(Aqua 按钮,或者是 ShapeShifter 定义的样式)

关于第一点,心里有一些又爱又恨。能够显示文字风格固然很好,但是华文黑体变粗以后看起来真的是很……健壮。尤其是在粗体用得很多的论坛上,一向清秀的页面突然如此五大三粗让我有些不适应。

值得一提的是安装了 Safari 3 Public Beta 之后其他的程序也将使用新版本的 WebKit。

Other side: Win

早起的鸟儿有虫(Bugs)吃。何况是早晨的苹果,bugs 更是在所难免。早上 King 和我交流了一下,发现的 Bug 差不多都一样,不知道是不是和使用系统有关2

  1. 无法正常显示 CJK 字符,经常会出现掉字的现象。这个问题有点像 Firefox 早起版本在 Mac OS X 中运行的情况。
  2. 点“书签”按钮之后程序会当掉。
  3. 渲染页面的时候可能会有破损。

如果你发现了其他 Bug 也欢迎留言告诉我们。

仅凭第一点,Safari 3 Beta 目前对东亚用户来说就是无用的。(ー_ー )ノ” 在文字渲染方面 Safari 没有使用 Windows 自己的 Clear type,而是在选项中设置了 3 个等级(Light, Medium, Strong)。而(可以显示出来的)文字的字体也像极了 Mac OS X 中的日文字体。

相较 Mac 版本来说,这个 Windows 版本的 Safari 3 Beta 还是很 buggy 的一个程序——就像 iTunes 刚刚移植到 Windows 的时候。不过这么大的 Bug 相信在 Mac OS X Leopard 正式发售之前一定会有修正。╮(▔▽▔”)╭

Apple 想干什么

Safari 要移植到 Windows 在几年前就有传闻,但是一直到 WWDC 2007 之前都没有真正的动作。Google CEO Eric Schmidt 加入了 Apple 的董事会,iPhone 使用 Web 2.0/Ajax 的方式提供第三方支持,iChat 在 Leopard 的截图中表示可能会直接支持 Google Talk(不同于 Jabber)服务,AppleTV 将支持 YouTube,好像 Apple 正在用这种多媒体+网络+服务的方式来占领服务市场。将 iTunes 移植到 Windows 是在为 iPod 和 AppleTV 铺路,那么将 Safari 移植到 Windows 是不是在为即将发售的 iPhone 铺路呢?如果 iPhone 真的是用 Web2.0/Ajax 实现第三方程序的支持,无疑移植 Safari 到 Windows 会便于更多的 Developer 能够针对 iPhone 中包含的 Safari 开发第三方程序。


  1. 我很喜欢将标签页放到一个新的独立窗口中这个功能。因为总要打开许多网页,而我并不喜欢把所有的页面都放在一个窗口中——我只在同一个窗口里放内容相关的网页。这样在收集资料的时候我就不必在眼花缭乱的标签中拣出到底哪个标签是和当前页面相关的。 

  2. 我和 King 用的都是简体中文 Windows XP Professional + SP2 

1 Comment »

用 Quicksilver 来提醒新 E-mail

April 24th, 2007
Tags: , , , | Posted in Application, Mac | No Comments »

yea yea yeah,我真的是离不开 Quicksilver 因为它几乎能完成我所要求的一切功能(也许是我要求的太少?;-))在 Blacktree 爬来爬去,总能碰到好玩的东西。比如这个由 Brian Donovan 所写的 applescript_mail.app_new mail_notification,就可以通过 AppleScript 在 Quicksilver 中提醒 Mail.app 中的新邮件。

Mail notification via Quicksilver

不过大概 Script 写成的时间比较早,AppleScript 的某些用法有了一些改变,所以直接 copy/paste 过来也是不行的。在对脚本稍微做了一些修改之后,已经可以使用了。

我做了:

  • 修正 Notification 方式的一个小 Bug
  • 增加 Large Type 显示方式
  • 为每一条消息之间增加了 2 秒间隔时间,现在我能看清每一条的内容了

使用方法

  1. 秘密基地下载脚本,或者把代码复制到 Script Editor 中自己存一下。
    下载的压缩包包括两个脚本,notifyviaquicksilver_largetype.scpt 以 Large Type 显示提醒(Bezel),notifyviaquicksilver_notification.scpt 以 premier 方式来提醒。
  2. 在 Mail 预置中的规则(Rules)页增加新规则:为 every message 执行 Run AppleScript,选择一个脚本。

已知的 Bug 和原版本相同:Mail.app 可能会在检查是否为垃圾邮件之前执行规则,所以可能会把新收到的垃圾邮件也提醒一遍。另外,如果在这个新设立的规则之前有另外的“移动”、“删除”之类的规则,新规则不会对这些邮件有效。

下载 notifyviaquicksilver.zip

Links

No Comments »

AppleScript 试做:在 Growl 显示 iTunes 音量变化

April 18th, 2007
Tags: , , , | Posted in Application, Mac | No Comments »

平时我习惯在 Quicksilver 控制 iTunes 的音量,歌曲控制,评分等等等等。没错,我爱 Quicksilver,我的生活不能没有 Quicksilver。:P 言归正传,我在 Quicksilver 中的 iTunes Trigger 设置是这样(所有数字都代表小键盘上的数字):

  • 播放、暂停:ctrl + cmd + 5
  • 前一首:ctrl + cmd + 4
  • 后一首:ctrl + cmd + 6
  • 增大 iTunes 音量:ctrl + cmd + 8
  • 减小 iTunes 音量:ctrl + cmd + 2
  • 增加评分:ctrl + cmd + Numpad+
  • 减少平分:ctrl + cmd + Numpad-
  • 显示信息:ctrl + cmd + 0
  • iTunes 静音:ctrl + cmd + Numpad*

对我来说,这真是一个很顺手的键位,也喜欢推荐给别人使用。但是 Quicksilver 中 iTunes Plugin 的并不能显示现在 iTunes 的音量到底是多少,这多少让我有一些遗憾。好在我有 Growl,看了看 Growl 网站上的 documents 好像还很简单嘛,祭出 ScriptEditor + TextMate 开始胡搞瞎搞,最后变成了这个样子:

growl+itunes+quicksilver
使用 Growl 的 Bezel Style

好吧好吧,我知道这个有点丑,而且也不是什么高科技的玩意儿。但是,谁能忍心取笑一个新手呢?;-) 在 Quicksilver 找到 Increase iTunes Volume,Decrease iTunes Volume 这两个命令(其实是两个小脚本),Reveal,在 Finder 中替换他们就可以。

下载 Increase_and_Decrease_iTunes_Volume.zip

No Comments »

试驾 Twitterrific 2.0 Beta4

March 27th, 2007
Tags: , | Posted in Application, Mac | No Comments »

试用了 IconFactory 发布的 Twitterrific Beta 4,感觉很好,比起 1.1.1 有了一些明显的进步。


Twitterrific 2.0 Beta4 的新界面

首先,tweet 的显示方式由原来固定的紧凑模式改为可以设定到“扩展模式”(展开每一个好友写的 tweet 而不是只显示名字)。对于我这样在 Twitter好友很少的人来说很适合。不过说到好友很少,今天 1 上午我就收到了四五个好友邀请,不知道以后是不是我还要把 Twitterrific 改回到紧凑模式呢?

其他的一些显著变化发生在发布 tweet 的方法上。首先,输入框可以通过拖拉边框来扩大啦~比起以前单行的输入框我觉得 3 行的高度更适合书写。同时,在偏好设定中还可以令 Twitterrific 在更新 tweet 的同时更新 IM 的 status message(iChat,Adium)。另外,回复某人的 tweet 也有了快捷键:

  • Cmd + 2 回复选定的 tweet
  • Cmd + D 回复 Direct Message 给选定 tweet 的作者

另外新增的功能还有,通过界面上的按钮直接标记“Fav.”,自动贴到屏幕边缘等等等等。据说有 22 项改进,不过我常用的功能好像就只有这么多。

我打算用 Twitter 做什么

准备把 Twitter 的 RSS 放到首页下边代替 Tumblelog。现在写 Twitter 可以用 IM,浏览器,Quicksilver,终端等各种方式,更符合 Tumblelog 的需求。

现在不爽的地方就是 Twitter 服务器问题还是很多,经常会抽筋,只有耐心等等了。另外,iLemoned 今天给我看了 V2EX 的 Ing 服务,和 Twitter 思路有些像,不过不知道和 IM,软件,电话的整合性能会怎样,静观其变吧。

No Comments »

转换-rmvb-到-divx

February 12th, 2007
Tags: , , , | Posted in Application, Mac | No Comments »

既然 Realplayer 也有 Universial Binary 版本,为什么要转换 RMVB 到其他格式?

  1. Realplayer 很慢
  2. RMVB 不能编辑
  3. RMVB 不能用其他播放器打开

恼人的是在国内似乎 RMVB 是最流行的格式:从 BitTorrent 到电驴,甚至还有人分享几百兆的 DVD-RMVB-Rip——如果你想要高图像质量又不在乎文件大小,为什么不用 MP4 或者 DivX?!所以我很坚决的决定把硬盘里的 RMVB 都变成 DivX。

准备好武器

子曰: 工欲善其事, 必先利其器。

大概 Windows 上有很多软件可以转换 RMVB(因为我 google 到的方法大都是 Windows 上的软件),但 Mac 上不是。完成这个工作我们需要 3 样东西:

  1. 一个 RMVB 文件
  2. ffmpegx (Universal Binary),以及同页面下的 mencoder and mplayer binariesmpeg2enc binary
  3. RealPlayer 10 (Universal Binary)

ffmpegx 是 unix 工具 ffmpeg 的图形化界面,可以转换多种音频、视频文件,也可以从音频、视频文件中截取片断。

实做

首先要安装 ffmpegx。如果是第一次运行 ffmpegx,启动时会问你要 mencoder,mplayer binary,以及 mpeg2enc binary 的位置,并且 copy 相关的东西到 /Library/Application Supports/ffmpegx/。设置好之后,先关掉它。

然后,在某处建立文件夹 reallib 备用。找到 realplayer.app,ctrl + 鼠标 选择“Show Package Contents”,转到 Contents -> Frameworks -> HXClientKit.framework -> Helix Plugins -> Codecs。复制其中所有的文件(12 个)到 reallib 文件夹,再把 reallib 丢到 /Library/Application Supports/ffmpegx/ 中。

完成!现在就可以打开 ffmpegx,把 RM,RMVB 文件转换为 DivX 了。然后就可以在 Quicktime 中随便搞啦。但是转换的过程还是有几点要提醒的东西:

  1. 只能用 mencoder DivX 来转换 RMVB——如果需要其他格式只能再转换一遍了
  2. 转换 RMVB 文件的时候不会有进度条——只能看到蓝白相间滚动的进度条,但是在点 Get Info 或者 Open a terminal window 的时候可以看到进度

No Comments »

TextMate 内的中文字符显示与输入

December 25th, 2006
Tags: , , , , , | Posted in Mac | 1 Comment »

TextMate 是 Mac OS X 下著名的编辑器,相信很多看过 Ruby on Rails Screencast 的开发者都对它有深刻的印象 —— 流畅的生成固定格式代码(Snipper),方便的 Project 管理,以及像老牌编辑器 BBEdit 一样使用 unix 命令来过滤文本内容。但是 TextMate 对于在开发过程中使用中、日、韩文字的开发着来说却有一些麻烦。

  • 无法正确显示 CJK 字符
  • 无法正确输入 CJK 字符

好在 Hetima 提供了两种可以间接解决问题的办法:

显示 CJK 字符

大多数 CJK 字体都是 2 字宽,在 TextMate 下会和后边的 CJK 字符重叠在一起。(没有使用标准的 NSView?)对于这个问题 Hetima 提出了用 缩小日文字体宽度 的办法来解决,不过实际上最后的效果有点见仁见智。我照猫画虎的用中文字体做了一些实践,下面把大致的步骤写一下。

字体变形有许多选择:从超贵的 FontGrapher 到开放原始码的 FontForge,按照 Hetima 的介绍我们用 FontForge 就可以。用 FontForge 读取 .dfont 或者 .ttf 文件,然后用 Scale()MergeFonts() 方法来变形、合并字体。要注意的是 FontForge 需要 X11 环境的支持,如果你在安装 Mac OS X 的时候没有安装过,可以在第一张安装盘中的 Optional Install 中安装。脚本中使用了 2 款字体,都是可以在 Mac OS X 中找到的(/System/Library/Fonts/)。如果你想要“华文黑体”(STHei.ttf)而不是“黑体”(Hei.dfont),那你需要 动一点小手脚 —— STHei.ttf 受 FSType/2 保护,FontForge 在脚本中是动不到它的。当然你也可以用任意两种免费的中英文字体进行组合。

把 Hei.dfont 和 Monaco.dfont 两款字体复制到同一文件夹中,(比如 ~/tmfont/)然后建立文本文件 tmfont.pe:

#!/usr/local/bin/fontforge -script

#中文字体处理
Open(”Hei.dfont”); #中文字体
SelectAll()
foreach
Scale(60, 100, 0, 0) #横0.6,纵1.0
endloop
Generate(”temp.ttf”, “”, 0×14)
Close()

#Monaco 字体合并
Open(”Monaco.dfont”); #英文字体
MergeFonts(”temp.ttf”);
SetFontNames(”TextMate-Regular”, “TextMate”, “TextMate Regular”, “Regular”, “”)
Generate(”TextMate.ttf”, “”, 0×14)
Close()

这样就差不多了。开启 X11 环境(/Applications/Utilities/),在 term 中赋予 tmfont.pe 执行权限并执行:

chmod +x tmfont.pe ./tmfont.pe

之后,你应该能在目录下找到 TextMate.ttf,安装这个字体就可以啦。

CJK in TextMate
使用了自定义字体的 TextMate

输入 CJK 字符

相比显示 CJK 字符来说简单多了:下载安装 Hetima 的 CJK-Input.tmplugin。(Kudos to Hetima again.)

Links

TextMate 的主页上称 TextMate 2.0 将使用 Leopard 中的 CoreText(也就是说想用 2.0 就必须要买 10.5 :-|),作者承诺届时 CJK 支持问题将得到彻底解决。 我在写代码的时候不常用到中文,也许写注释给别人看的时候会用到。虽然这个方法显示的文字略显小,不过聊胜于无,希望对同样使用 TextMate 的朋友有所帮助。

1 Comment »

在 Automator 合并 PDF

November 20th, 2006
Tags: , , , | Posted in Mac | No Comments »

不是高科技,但是我今天才用到。因为想要把几个零散的《地海巫师》PDF 合并成一个以后慢慢看,所以想到了 Automator 中有 Combine PDF Files 的脚本。最后完成的 Workflow 可以在桌面生成一个新的合并过的 PDF,并且用默认程序打开。

  • 首先,在 Automator 中选择 Library 中的 Finder,把 Get Selected Finder Items 拖到右边。
  • 然后,把 Sort Finder Items 也拖过来,对选择的文档进行一下排序。
  • 之后在 Library 中选择 PDF,拖 Combine PDF Pages 进来。
  • 顺便也把 Compress Images in PDF Document 也拖进来压缩文档中的图像。
  • Combine PDF Pages 有点诡异不会问你生成的 PDF 的保存路径,所以这个 action 不会显示任何结果。我们要自己 Copy 出来。选 Finder 中的 Copy Finder Items。如果你需要还可以加点改名之类的操作⋯⋯
  • 把 Finder 中的 Open Finder Items 拖到最后。
  • Done!

最后大概是这个样子的:

Combine PDF Pages in Automator

最后把这个 workflow 存为 Finder 的 Plug-in。这样在 Finder 中选中多个文件以后,就可以选择 Automator 菜单中的 Combine PDF Pages,然后 Boom! 一个完整的 PDF 文档就在你的面前打开了。

之后我在 MacOSXHints 也看到 不用 Automator 的办法。因为 Automator 中的 Combine PDF Pages 说白了也就是一个名字叫做 join.py 的 python 脚本(并且还有参数的用法:join [--output <file>] [--append] [--shuffle] [--preview] [--verbose]),所以可以这样:

$ python '/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py' -o '/path/to/output.pdf' '/path/to/input1.pdf' '/path/to/input2.pdf'

不过我不是时刻都开着 terminal 的人,还是用 Automator 比较适合我。

其他可以合并 PDF 文档的软件:

  • Combine PDFs 2.1
    一个开放原始码的用 REALBasic 写成的合并 PDF 软件
  • PDFLab
    用 Java 写成的合并 PDF 的软件

No Comments »

« Older Entries || Newer Entries »

Recent Comments

Flickr Photos (view all)

~看枫叶~~看枫叶~~看枫叶~~看枫叶~~看枫叶~~看枫叶~

About

Me

Zhen (Jon) Sun is a programmer and a blogger. >:-)

Some services I'm using: