2006年 11月 01日

QuickSilver

なんかよくわかんないけど、いつのまにか登録したスクリプトが実行できなくなったりする。あとアイコンがおかしくなったりとか……
QS を再起動すればなおるけどうーん。

Finder

Enter 押すと rename になるのが気になるんだけど挙動変えられないのかなぁ。

Greasemonkey

GM は .user.js で終わっているからって HTML のページをインストールしようとするなよ><
content-type を読んで欲しい。あと ? 以降は無視してほしい。あとでソース読んでみよう。

Google Code Search Auto Pager

http://svn.lab.lowreal.net/lowreal/c/userjs/googlecodesearchautopage.user.js
あとでちゃんと lowreal.net にあげる……

Creammonkey をいぢる

ソースを含んでいるのでいぢれる

cd
cd src
cp -r /Volume/Creammonkey/Source Creammonkey
cd ~/Library/InputManagers
ln -s ~/Creammonkey/build/Release/Creammonkey .

で Xcode でプロジェクト開いてビルドすればいいみたい? よくわかんない。

でもってページロード時に毎回ユーザ JS をリロードするパッチ

--- /Volumes/Creammonkey/Source/CMController.m	2006-07-05 23:28:50.000000000 +0900
+++ CMController.m	2006-11-01 16:02:52.000000000 +0900
@@ -234,6 +234,7 @@
     }
 	
     // Eval!
+	[self reloadUserScripts: nil];
 	NSArray* ary = [self matchedScripts: url];
 	int i;
 	for (i = 0; i < [ary count]; i++) {

これだけ。ホントはメニューに Debug とかいうのを作って、それに応じて毎回読むかどうか決める方がいいんだろうけど、Safari は常用してないのでいいやって感じ。あとで簡単にできそうだったらやってみよう

Objective-C

vim の ft は objc

#import <stdio.h>
#import <objc/Object.h>

@interface HelloObj : Object
{
	char* name;
}

- (id) initWithName: (char*)yourname;
- (void) hello: (char*)yourname;
- (void) hello;

@end

//-----

@implementation HelloObj

- (id) initWithName: (char*)yourname {
	// self->name = yourname; // same
	name = yourname;
	return self;
}

- (void) hello: (char*)yourname {
	printf("Hello World! %s\n", yourname);
}

- (void) hello {
	[self hello:name];
}

@end

int main() {
	id obj = [[HelloObj alloc] init];
	// id obj = [HelloObj new];
	[obj hello:"Satoshi"];
	[obj free];

	id obj2 = [[HelloObj alloc] initWithName:"Taro"];
	[obj hello];
	[obj2 free];
	return 0;
}

無駄にクラス使った Hello World!

ところで、iconv が \n を含んだ文字列でエラー吐くのはなんなんだろう。

iconv \n

$ echo '\\n' |iconv -f utf-8 -t shift-jis
iconv: (stdin):1:0: cannot convert

nkf 使いましょう