OS X: 配置完了,小研究一下
Google 了无数次,也找到了一些安装显卡驱动的方法,但在我的机器上就是不管用... 所以到现在还没有硬件加速,这个本来没什么,少一些特效而已,但是发现 OS X 里播放视频是需要硬件加速的...
大概研究了一下 OS X 下的程序,标准的 OS X 程序都是一个名字以 .app 结尾的文件夹,里边一般只有一个文件夹叫 Contents,这个程序的一切都在这个文件夹里,包括图标,配置(有些比较底层的会在 /Library 和 /System 里面放配制)语言文件等等。比较爽的是,OS X 和它里面的程序都是极端脚本化的,不仅配置一律是 xml,而且控件的摆放(!),图片的位置,dock 图标,甚至部分逻辑都是 xml,对于我们这些喜欢没事瞎改的人来说,这样的系统基本上就是天堂了~~。举个简单的例子,无论在什么操作系统里,只要有一个图形界面的文件管理器,你在里面新建一个目录的时候都有一个默认的目录名,比如在 Windows 里叫“新建文件夹”,这是被硬编码的,没有源代码的人改不了;在 OS X 里叫 untitled name,这个可以在 /System/Library/CoreServices/Contents/Resources/English.lproj 中修改,这个 .lproj 是一个语言文件,会被其他的 xml 调用。貌似现在达到这种境界的基本上就只有 wxWindow 了(用 xml 来摆控件)。
OS X 里面是有 python 的,不过是 2.3 版,严重不爽,于是装了一个 2.5(装好以后还要手动做符号连接...),开始考虑有什么程序可以写~~。想了半天,决定写一个批量删除语言文件的东西,把机器里的那些非人类语言都删掉,可以节省数百 MB 的硬盘~~,代码(用法看开头的注释):
:::Python
#!/usr/bin/env python
#   
# Usage:
#     kill-lang.py app_list
#   
# eg: kill-lang.py mail.app aquamacs.app
#     ls -1 | awk '{print "\""$0"\""}' | xargs kill-lang.py
import os
import sys
import re
import shutil
ReservedLang = ["English", "zh_CN"]
if len(sys.argv) == 1:
    usage()
    sys.exit(1)
def usage():
    print(' '.join(["Usage:", sys.argv[0],
                    "application_names (with \".app\")"]))
    return
def handleRmError(function, path, excinfo):
    sys.stderr.write(''.join(["Error deleting ", path, ", err:\n", str(excinfo), "\n"]))
def killLang(app):
    # Get the path where language files are located.
    App...剩余内容已隐藏