Leopardのrsyncは rsync -a -v -A -X でACLやEAを持ってけるのはいいんですが。
sambaごしのTimeMachine保存先から、一気に復元させたくて rsync つかったら、TimeMachine関連のACLとEAを引き継いでしまって一苦労。インストールディスクの復元を使わないといけないような状況に陥ると、sambaごしのTimeMachineというのはアレだな、と思います。
ACLはls -aleRとかで確認できて、chmod -R -N で一気に消せます。
EAはxattr -lで確認できて、xattr -d で消せるんですが、-Rみたいなoptionがないし、たとえばfindでまわしたりすると遅い。python script書けばいいんでしょうけども... あえてrubyで書くとすると
http://rubyforge.org/projects/xattr/
が使えます。こっちはxfs用なので違う。
2008-05-03
2008-03-28
TimeMachine with Samba (CIFS?)
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1ってしとけばSambaでも使える雰囲気なんですが、失敗します。
で、
hostname_MACaddress.sparsebundleってイメージ作っとけばいいらしいんですが、ディスクユーティリティでSambaに作ろうとしても失敗します。
ので、ローカルディスク上に作ってからmvしたら、TimeMachineが動いてしまいました。1日使ってみたけど今のところ大きな問題はなさそう。
でも不安。
2008-03-03
PrivatePortfile iTerm, vim on Leopard
素のLeopardで試してみました。
iTermは元々の問題なんですね。
http://d.hatena.ne.jp/yellowback/20080227/1204088120
vimで +ruby がコンパイルできない件は、/usr/bin/rubyのコンパイル用環境から -arch i386 -arch ppc が入ったLDFLAGSを引き継いでしまうので、configureでの試しcompile時にuniversalじゃないライブラリをリンクできなくなるのが問題かなと。ncursesとかも +universal で入れとけばいけるかもしれません。
あ、/usr/lib/ruby/1.8/universal-darwin9.0/rbconfig.rb によれば、
ってすればいいんかもしれません。
iTermは元々の問題なんですね。
http://d.hatena.ne.jp/yellowback/20080227/1204088120
vimで +ruby がコンパイルできない件は、/usr/bin/rubyのコンパイル用環境から -arch i386 -arch ppc が入ったLDFLAGSを引き継いでしまうので、configureでの試しcompile時にuniversalじゃないライブラリをリンクできなくなるのが問題かなと。ncursesとかも +universal で入れとけばいけるかもしれません。
あ、/usr/lib/ruby/1.8/universal-darwin9.0/rbconfig.rb によれば、
export RC_ARCHS=i386ってすればいいんかもしれません。
2008-01-25
vim 7.1.241
vim 7.1.241に追従しました。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FVim
searchまわりにさらに変更が入ったのでmigemoまわりをあわせて変更(kaoriyaさんにメールで報告済み)しました。
+ruby でbuildできないという件を調べてみたのですが、手元では再現できませんでした。なんでしょう。
MacVimは何やら興味深い更新があったのですが、実際にinstallしてみるとあんまり変わってない印象です。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FMacVim
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FVim
searchまわりにさらに変更が入ったのでmigemoまわりをあわせて変更(kaoriyaさんにメールで報告済み)しました。
+ruby でbuildできないという件を調べてみたのですが、手元では再現できませんでした。なんでしょう。
MacVimは何やら興味深い更新があったのですが、実際にinstallしてみるとあんまり変わってない印象です。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FMacVim
2008-01-09
不思議なこと解決 iTerm編
[ 1867339 ] decode_utf8 always looks the lead byte for getting reqbyte
表示文字列がUTF-8だった場合、文字の先頭バイトを見て、それが何バイト分の文字(「あ」は3byte、「×」は2byteとか)なのか判定するとこがあるのですが、そこが常に文字列の先頭バイトを見てるので、3byte,2byte混在文字列(「○×」とか)においておかしな挙動になるわけですね。
PrivatePortfileもpatchが取込まれるまでの暫定処置として更新しました。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FiTerm
ターミナルもiTermも option + y でバックスラッシュが入力されるのは何がどうなってるんだろう。
あとLeopardでiTermが落ちる現象は未確認です。Tigerでも急に落ちる時は落ちます...
表示文字列がUTF-8だった場合、文字の先頭バイトを見て、それが何バイト分の文字(「あ」は3byte、「×」は2byteとか)なのか判定するとこがあるのですが、そこが常に文字列の先頭バイトを見てるので、3byte,2byte混在文字列(「○×」とか)においておかしな挙動になるわけですね。
PrivatePortfileもpatchが取込まれるまでの暫定処置として更新しました。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FiTerm
ターミナルもiTermも option + y でバックスラッシュが入力されるのは何がどうなってるんだろう。
あとLeopardでiTermが落ちる現象は未確認です。Tigerでも急に落ちる時は落ちます...
2008-01-08
不思議なこと1つ解決
http://homepage.mac.com/nand/macosx/emacs_jis_keyboard.html
ことえりの環境設定で「JISキーボードの¥キーで入力する文字」を「\(バックスラッシュ)」にするのが良さそう。
ことえりじゃない環境であれば、KeyRemap4MacBook で変換するのがよいと思います(要改造ですかね)。
(追記 2008/1/10)
kimurawさんとこにCocoaアプリでの切り替え方法が掲載されてます。
http://kimuraw.txt-nifty.com/d/2008/01/swp_yen_bslash.html
英語キーボードでも option 押しながら入力するとASCII以外が打てることに気づきました。
option + y で簡単に ¥ が打てます。
¥¥¥¥¥¥¥¥
vim 7.1.211 に追従。searchitの引数がかわってkaoriyaパッチあてに失敗するので一時的に対策。
ことえりの環境設定で「JISキーボードの¥キーで入力する文字」を「\(バックスラッシュ)」にするのが良さそう。
ことえりじゃない環境であれば、KeyRemap4MacBook で変換するのがよいと思います(要改造ですかね)。
(追記 2008/1/10)
kimurawさんとこにCocoaアプリでの切り替え方法が掲載されてます。
http://kimuraw.txt-nifty.com/d/2008/01/swp_yen_bslash.html
英語キーボードでも option 押しながら入力するとASCII以外が打てることに気づきました。
option + y で簡単に ¥ が打てます。
¥¥¥¥¥¥¥¥
vim 7.1.211 に追従。searchitの引数がかわってkaoriyaパッチあてに失敗するので一時的に対策。
2008-01-05
辞書その3
- Problem:
- Some applications do about 90% of what I want.
- Solution:
- Develop my own applications.
- Better Solution:
- Patch the application myself... ← いまココ
RubyInjectは早々にあきらめ、SIMBLを使ってみます。
com.apple.Dictionary をフックするbundleを作ります。右上の検索入力欄はどうみてもNSTextFieldなので、NSTextFieldをposeAsClassでのっとります。NSTextFieldは、ふつうdelegateで変更を通知するはずなので、setDelegateをのっとって検索文字列変更時にどのインスタンスに通知するか覗いてみます。どうやら BrowserWindowController が相手のもよう。のでNSTextFieldインスタンスをもったNSWindowControllerの子クラスを作って、そのインスタンスをNSTextFieldのdelegateに設定してみます。
これで検索文字列決定時にcontrolTextDidEndEditingが呼ばれるようになりました!
#import
@interface MyNSTextField : NSTextField
{
}
@end
@interface MyNSWindowController : NSWindowController
{
id _textField;
}
@end
@implementation MyNSTextField
+ (void)load
{
[self poseAsClass:[NSTextField class]];
NSLog(@"MyNSTextField::load");
}
- (void)setDelegate:(id)anObject
{
if ([@"BrowserWindowController" isEqualToString:[anObject className]]) {
MyNSWindowController *windowController =
[[MyNSWindowController alloc] init];
[windowController set:self];
[super setDelegate:windowController];
}
}
@end
@implementation MyNSWindowController
- (void)set:(id)textField
{
NSLog(@"MyNSWindowController set");
_textField = textField;
}
- (void)controlTextDidEndEditing:(NSNotification *)aNotification
{
NSLog(@"controlTextDidEndEditing");
NSLog([_textField stringValue]);
}
@end
こんな感じですね。setDelegateを奪い取ってる気がしますが、一応動いてます。
あとは検索文字列をオンライン辞書ででも検索して発音音声を返せば念願達成。こっから先はRubyCocoaで繋ぐつもり。
辞書その2
光明が見えた方向に進んでみたが、辿り着いた場所には扉があったものの、それは固く閉ざされていた...
って感じですか。
辞書.appの検索入力をフックできればいいんとちゃいますか。
いくつか方法があると思いますが、まずは、気になっていたRubyInjectで。
machレベルで関数上書きすると。最近はtext segmentが書き込み禁止にされてしまって寂しいですが、それはそれとしてインストールしてみます。
でもって、Dictionary.app起動してpsとかでプロセスIDを調べて
とすると irb が起動して、いろいろできます。
辞書.appの右上のNSTextFieldっぽいところの文字列を引っこ抜ければよいと思うので探してみます。
環境設定ウィンドウの文字列と同じものを見つけたので、setStringValue したら書き換えることができました!
しかし、右上のNSTextFieldらしきのにはどうも辿り着けない。うーん。
って感じですか。
辞書.appの検索入力をフックできればいいんとちゃいますか。
いくつか方法があると思いますが、まずは、気になっていたRubyInjectで。
machレベルで関数上書きすると。最近はtext segmentが書き込み禁止にされてしまって寂しいですが、それはそれとしてインストールしてみます。
$ xcodebuild SYMROOT=/tmp
$ cp -r /tmp/Release/RubyInject.framework /Library/Frameworks
でもって、Dictionary.app起動してpsとかでプロセスIDを調べて
sudo ruby inject.rb プロセスID
とすると irb が起動して、いろいろできます。
辞書.appの右上のNSTextFieldっぽいところの文字列を引っこ抜ければよいと思うので探してみます。
require 'osx/cocoa'
include OSX
def walk(d)
instance = d[1]
NSLog d[0]
NSLog instance.class.to_s
begin
NSLog instance.stringValue.to_s
rescue
end
NSLog " "
begin
instance.subviews.count.times do |i|
walk [d[0] + ".subviews[#{i}]", instance.subviews[i]]
end
rescue
end
end
NSApp.windows.count.times do |i|
walk ["NSApp.windows[#{i}].contentView", NSApp.windows[i].contentView]
end
環境設定ウィンドウの文字列と同じものを見つけたので、setStringValue したら書き換えることができました!
しかし、右上のNSTextFieldらしきのにはどうも辿り着けない。うーん。
辞書
Leopardの辞書.app
インクリメンタル検索できるし、内容も充実。
ただ欲を言えば発音音声が欲しい。
ということで、発音音声付き辞書アプリケーションを得るべく、自分でアプリケーションを作ってみる方向で、辞書を検索する方法を探してみました。
http://numata.designed.jp/?plugin=numa_diary&file=Diary&title=日記&date=20071029
によればDictionary ServicesというAPI群があるらしい。何故かCarbon API。
さっそくこのAPIを使ってObjective-Cで辞書.appもどきを作ってみました。
http://prdownloads.sourceforge.jp/splhack/28808/EDict_test.tbz2
Leopard以降用です。ソースコードのみ。Xcodeでビルドできます。
作ってみて気づいたこと。
うーん。
インクリメンタル検索できるし、内容も充実。
ただ欲を言えば発音音声が欲しい。
ということで、発音音声付き辞書アプリケーションを得るべく、自分でアプリケーションを作ってみる方向で、辞書を検索する方法を探してみました。
http://numata.designed.jp/?plugin=numa_diary&file=Diary&title=日記&date=20071029
によればDictionary ServicesというAPI群があるらしい。何故かCarbon API。
さっそくこのAPIを使ってObjective-Cで辞書.appもどきを作ってみました。
http://prdownloads.sourceforge.jp/splhack/28808/EDict_test.tbz2
Leopard以降用です。ソースコードのみ。Xcodeでビルドできます。
作ってみて気づいたこと。
- インクリメンタル検索ができない。
- 取得できるデータがプレーンテキスト(リッチテキストじゃない)
- リッチテキストで表示できるAPI(HIDictionaryWindowShow)もあるけど、これは辞書.appが起動して表示することになる
うーん。
2007-11-27
cf.sourceforge.jpでMacVim
作ってみた。cfはsshとhttpくらいしか外に出れないので、gitはhttpのリポジトリを指定しないと取れない。http://よりgit://の方が速いかな。
そういえばrsync出れないとmacports更新が面倒かも。portsはsvn upすればいいとしても、tclのライブラリとか。baseをsvn upしてmake installしなおすか。
でMacVimですが、やはり10.5だとインライン入力のフォント幅がおかしいです。build環境じゃなくて実行環境によると。vim-cocoaのmergeが待たれる今日この頃。
そういえばrsync出れないとmacports更新が面倒かも。portsはsvn upすればいいとしても、tclのライブラリとか。baseをsvn upしてmake installしなおすか。
でMacVimですが、やはり10.5だとインライン入力のフォント幅がおかしいです。build環境じゃなくて実行環境によると。vim-cocoaのmergeが待たれる今日この頃。
2007-11-26
cf.sourceforge.jp続き (dylibの謎)
10.5だから動かないというわけではなく、
って環境変数を設定してたのが原因でした。なんか作業中に設定してしまった模様。
同じ名前で中身が違うshared libraryがDYLD_LIBRARY_PATHで先に読まれてしまったのが原因。今回の場合はDYLD_FALLBACK_LIBRARY_PATHで足らなかったら読むようにすれば解決。
だけだと面白くないですね。追ってみます。
syscallをおっかけられるktraceで見てみると
...
いやさ10.5ならktraceじゃなくてdtrace!
こんなんでopen syscallの第一引数を逐次表示。よくわからんスクリプトだなぁと思ってましたが、awkと思えばスッキリ。
DYLD_LIBRARY_PATH=/opt/local/lib を指定してると
DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib を指定していると
ほらこの通り。って、なんか全然足らないですね。carbonげなdylibとかまったく読まれてない。DYLD_PRINT_LIBRARIES= も付けて実行すると読み込まれたすべてのdylibが表示されるので、dtraceでもここまで表示されて欲しい。
syscall::"*":entryで見てみるとstatで/usr/lib/libobjc.A.dylibとか触ってる。システム系のshared libraryはsystem callで読まれないのかなぁ、とか一瞬思ってしまいましたが、こりゃcacheですね。man dyldで発見。
DYLD_SHARED_REGION=avoid DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib なら
解決! でも/opt/local/lib/libncurses.5.dylibとか使ってる状態で、さらにこれやってもopenで読まれるのはなんでだろう。何かcacheされる条件があるんかな。
ということでdtraceは面白いという話でした。awkみたいなスクリプト以外にrubyとかで書けたら便利かも。あとhookして挙動いじれたり。openしたつもりが別のファイルをopenしてたりとか。system callの中身をrubyで書いたりとか。jailな感じ。
DYLD_LIBRARY_PATH=/opt/local/libって環境変数を設定してたのが原因でした。なんか作業中に設定してしまった模様。
同じ名前で中身が違うshared libraryがDYLD_LIBRARY_PATHで先に読まれてしまったのが原因。今回の場合はDYLD_FALLBACK_LIBRARY_PATHで足らなかったら読むようにすれば解決。
だけだと面白くないですね。追ってみます。
syscallをおっかけられるktraceで見てみると
...
いやさ10.5ならktraceじゃなくてdtrace!
sudo dtrace -n syscall::open"*":entry'/execname == "Vim"/{printf("%s", copyinstr(arg0))}'こんなんでopen syscallの第一引数を逐次表示。よくわからんスクリプトだなぁと思ってましたが、awkと思えばスッキリ。
DYLD_LIBRARY_PATH=/opt/local/lib を指定してると
CPU ID FUNCTION:NAME
1 17600 open:entry /opt/local/lib/libncurses.5.dylib
1 17600 open:entry /opt/local/lib/libiconv.2.dylib
1 17600 open:entry /opt/local/lib/libintl.8.dylib
1 17600 open:entry /opt/local/lib/libmigemo.1.dylib
1 17600 open:entry /System/Library/Frameworks/Python.framework/Versions/2.3/Python
1 17600 open:entry /opt/local/lib/libruby.dylib
1 17600 open:entry /opt/local/lib/libz.1.dylib
1 17600 open:entry /opt/local/lib/libxslt.1.dylib
1 17600 open:entry /opt/local/lib/libPng.dylib
DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib を指定していると
0 17600 open:entry /opt/local/lib/libncurses.5.dylib
0 17600 open:entry /opt/local/lib/libiconv.2.dylib
0 17600 open:entry /opt/local/lib/libintl.8.dylib
0 17600 open:entry /opt/local/lib/libmigemo.1.dylib
0 17600 open:entry /System/Library/Frameworks/Python.framework/Versions/2.3/Python
0 17600 open:entry /opt/local/lib/libruby.dylib
ほらこの通り。って、なんか全然足らないですね。carbonげなdylibとかまったく読まれてない。DYLD_PRINT_LIBRARIES= も付けて実行すると読み込まれたすべてのdylibが表示されるので、dtraceでもここまで表示されて欲しい。
syscall::"*":entryで見てみるとstatで/usr/lib/libobjc.A.dylibとか触ってる。システム系のshared libraryはsystem callで読まれないのかなぁ、とか一瞬思ってしまいましたが、こりゃcacheですね。man dyldで発見。
DYLD_SHARED_REGION=avoid DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib なら
0 17600 open:entry /opt/local/lib/libncurses.5.dylib
0 17600 open:entry /opt/local/lib/libiconv.2.dylib
0 17600 open:entry /opt/local/lib/libintl.8.dylib
0 17600 open:entry /opt/local/lib/libmigemo.1.dylib
0 17600 open:entry /System/Library/Frameworks/Python.framework/Versions/2.3/Python
0 17600 open:entry /opt/local/lib/libruby.dylib
0 17600 open:entry /usr/lib/libobjc.A.dylib
0 17600 open:entry /usr/lib/libSystem.B.dylib
0 17600 open:entry /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound
0 17600 open:entry /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
...
解決! でも/opt/local/lib/libncurses.5.dylibとか使ってる状態で、さらにこれやってもopenで読まれるのはなんでだろう。何かcacheされる条件があるんかな。
ということでdtraceは面白いという話でした。awkみたいなスクリプト以外にrubyとかで書けたら便利かも。あとhookして挙動いじれたり。openしたつもりが別のファイルをopenしてたりとか。system callの中身をrubyで書いたりとか。jailな感じ。
2007-11-25
cf.sourceforge.jp
そういえばsourceforge.jpに10.4 ppc環境が用意されてたなぁ、とcf.sourceforge.jpを試してみました。いざ10.4用Vimバイナリ作成。
MacPorts-1.5.0-archive.tar.bz2 を展開してbaseで
とかでmake; make install。+universal入れると-isysrootがリンカに渡らないとかいくつか問題がありましたが、なんとかvimまでinstallに成功。
cf上ではコンソール版がちゃんと動作しました。GUI版は動かせません。Xvncみたいな仕組みがあればいいんですけども。
で10.4 intel環境でも動作確認。特に問題なし。
んが、10.5で実行すると
うむむ。要調査。
MacPorts-1.5.0-archive.tar.bz2 を展開してbaseで
./configure --prefix=$HOME/opt --with-install-user=ユーザー --with-install-group=グループ --with-tclpackage=$HOME/opt/Library/Tclとかでmake; make install。+universal入れると-isysrootがリンカに渡らないとかいくつか問題がありましたが、なんとかvimまでinstallに成功。
cf上ではコンソール版がちゃんと動作しました。GUI版は動かせません。Xvncみたいな仕組みがあればいいんですけども。
で10.4 intel環境でも動作確認。特に問題なし。
んが、10.5で実行すると
dyld: Symbol not found: __cg_png_create_info_struct
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /opt/local/lib/libPng.dylib
うむむ。要調査。
2007-11-14
MacVim
vim-cocoa用にIM制御パッチ送ったらMacVimに取込まれました。よかった。インライン入力部分も改善されました! (Leopardでは未確認)
ということでそれに合わせてパッチ修正しました。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FMacVim
gitのrevisionだと思ってたのがどうも違ってたようなのでバージョンは日付にしました。
それはそれとして。10.5で作ったcarbon/cocoa vimバイナリを10.4で動かしてみました。
Leopardで+pythonでbuildすると /System/Library/Frameworks/Python.framework/Versions/2.5/Python に依存してしまう。これはTigerにはないので動かず。逆に2.3に依存させるとクリーンインストールのLeopardで動かない予感。libruby.dyldみたく-framework pythonじゃなくて-lpythonにしちゃってdyld持っちゃうか。
でも、そこを抜けたとしても、EXC_BAD_ACCESSで落ちる。-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 でいけるかな。はたして。
ということでそれに合わせてパッチ修正しました。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FMacVim
gitのrevisionだと思ってたのがどうも違ってたようなのでバージョンは日付にしました。
それはそれとして。10.5で作ったcarbon/cocoa vimバイナリを10.4で動かしてみました。
Leopardで+pythonでbuildすると /System/Library/Frameworks/Python.framework/Versions/2.5/Python に依存してしまう。これはTigerにはないので動かず。逆に2.3に依存させるとクリーンインストールのLeopardで動かない予感。libruby.dyldみたく-framework pythonじゃなくて-lpythonにしちゃってdyld持っちゃうか。
でも、そこを抜けたとしても、EXC_BAD_ACCESSで落ちる。-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 でいけるかな。はたして。
2007-11-12
GetScriptManagerVariable/KeyScript 続き
Carbon版はIM onにするとき
一応フィードバックしました。PrivatePortfileですでにあててるパッチですけども。
でTISSelectInputSource。何を指定してIM onにすればいいのかよくわかってません。マニュアル読んでないだけですが。
いまLeopardのAPI使って10.5専用にするには時期尚早て感じで動機が薄いというのもあったり。
KeyScript(smKeyRoman);ってやってるわけですが、コードだけ見ると、ローマ字だけの感じがします。が、ぐぐるとだいたいこの例で使ってるんですよね。ローマ字onというより日本語入力onという意味なんでしょうか。それはそれとして日本語以外の環境ではどうなってるんだろう?一応フィードバックしました。PrivatePortfileですでにあててるパッチですけども。
でTISSelectInputSource。何を指定してIM onにすればいいのかよくわかってません。マニュアル読んでないだけですが。
いまLeopardのAPI使って10.5専用にするには時期尚早て感じで動機が薄いというのもあったり。
GetScriptManagerVariable/KeyScript
vim-cocoaでIM制御できない話がMLで出てるのでフィードバックしようと思って調べ直してたら、Carbon版で使ってるCarbon APIのGetScriptManagerVariableがDeprecated in Mac OS X v10.5.ですよ。普通deprecatedなので代わりにこれ使ってね、とか書いてあるものなのに書いてないし...
で、LeopardでIMの状態をアプリごとに記憶するInputSwitcherというものをVoluntasさんとこで発見。しかもソース付き。
ありがたく見させていただくと、Text Input Source Services ReferenceのTISCopyCurrentKeyboardInputSourceで記憶、TISSelectInputSourceで設定、というのがわかりました。これでパッチ作ってフィードバックします。Leopard以上と以下でifdefかな。
なんでもかんでもCocoaってわけにはいかんのですね、というかそういう住み分けか。
で、LeopardでIMの状態をアプリごとに記憶するInputSwitcherというものをVoluntasさんとこで発見。しかもソース付き。
ありがたく見させていただくと、Text Input Source Services ReferenceのTISCopyCurrentKeyboardInputSourceで記憶、TISSelectInputSourceで設定、というのがわかりました。これでパッチ作ってフィードバックします。Leopard以上と以下でifdefかな。
なんでもかんでもCocoaってわけにはいかんのですね、というかそういう住み分けか。
2007-11-07
jailはなかったけど
security.mac.seatbelt.debug: 0
security.mac.seatbelt.profile_refcount: 31
security.mac.seatbelt.qtnstate_refcount: 1
security.mac.seatbelt.cred_label_refcount: 23
これは気になる。
http://www.opensource.apple.com/darwinsource/10.5/
APSL 2.0はフリーソフトウェア・ライセンス(http://slashdot.jp/mac/article.pl?sid=03/08/07/0745222)
jail
iPhoneでjail環境用意できてるんだからOS Xでできてもいいんじゃないかと。
Leopardでsysctl -Aしたらjailとかでてきたりしないかな。
ついでに10.4用のframeworkしか使えないようなjail環境も用意してくれるとうれしい。
で、iPhoneでいうところのjailってFreeBSDのjailと同じ意味?
Leopardでsysctl -Aしたらjailとかでてきたりしないかな。
ついでに10.4用のframeworkしか使えないようなjail環境も用意してくれるとうれしい。
で、iPhoneでいうところのjailってFreeBSDのjailと同じ意味?
2007-11-02
MacVim on Leopard
なーんか、あやしい。インライン入力まわり。ついでに何故かDockでMacVimのアイコンが踊り続ける。この数日でLeopard関連のbugfixがいくつかあったので、それを動作確認してからバイナリ作ります。今の状態だと前につくったものの方が良いなぁ。
安定して使えるCarbon版Vim.appと、MacVim版を両方同時に入れられるようにする。
透明度の意味が違うのでMacVimの値のままだとCarbon版が見えなくなる罠。これはgvimrcで分岐させる。
安定して使えるCarbon版Vim.appと、MacVim版を両方同時に入れられるようにする。
透明度の意味が違うのでMacVimの値のままだとCarbon版が見えなくなる罠。これはgvimrcで分岐させる。
2007-10-31
2007-10-27
iTerm
LeopardでTerminal.appがマシになりましたが、wcwidthのせいでまだまだ。http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.cのwcwidthを提供するshared library作ってpreloadという手もとれそうですが、ここはiTermで。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FiTerm
http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/PrivatePortfile/aqua/iTerm/?root=splhack
10.5のSDKだと通らないところもpatchあててます。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FiTerm
http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/PrivatePortfile/aqua/iTerm/?root=splhack
10.5のSDKだと通らないところもpatchあててます。
登録:
投稿 (Atom)