githubでforkしてみた+自分の理想のIME環境が出来た

最近流行りのgithubですが、アカウントを作って人のソースをforkして、かつ自分の理想とするIME環境を作ってみました。なかなか骨が折れました^^

– githubアカウントの作成
↑たいへんなので省略します…けっこう面倒。この辺が参考になるかと→(http://d.hatena.ne.jp/shim0mura/20111212/1323660740)。

実際、80%ぐらいの人がssh key(pubの方)の登録で躓く気がするなぁ。プログラマでもsshしたことない人とか当たり前にいますし(私も半年前までそうでした)。githubはデザインは格好良いけれど、UIが(゚д゚)マズーという感想。私ならパスワード認証にするなぁ、セキュリティリスクは分かっているけれども、敢えて。まあgit自体分かりにくいですけどねー。

– fork
↑人様のレポジトリ(ある人が作ったソースコードの集まりの置き場)を使って、機能を加えたりバグ取りしたりすることをforkと言うそうです。forkしてpush(自分の書いたコードを、リモートの置き場(この場合はgithub。自分でgitサーバーを作ったりもできます)に置くことです)してみましたよ。

ssh -T git@github.com -i ./github_id_rsa
# ↑導通確認。↓こんなのが出ればおk
# Hi kawa-! You've successfully authenticated, but GitHub does not provide shell access.
# Connection to github.com closed.

git config --global --unset user.name
# ↑名前を削除(デフォルトだとマシン名の名前が入力されるはず)

git config --global --unset user.email
#  ↑上記の理由同様に削除しとく

git config --global user.name "KAWAMORITA Mitsuaki"
# ↑名前を入力します(もちろん自分の名前を入れてください)

git config --global user.email "kawa[* at sign *]hongo.wide.ad.jp"
# ↑メアドの入力(もちろん自分のメールアドレスを書いてください)

git config --global --list
# ↑確認してみる

cd ~/my_repos
# ↑my_reposという名の、git用ディレクトリを作りましょう

git clone --depth 10 https://github.com/tekezo/DrasticInputSourceStatus.git
# ↑ソースを落としてきますよ

nano MenuBarOverlayView.m
# ↑ちょろっと修正(これは自分がやってみた場合ですから無視してください)

git add MenuBarOverlayView.m
# ↑addしてみる

git commit -m "MBP13inch(Middle 2009)の環境下にて同色にした場合color0とcolor1の間に1pxぐらいのブランクが出来たのでやっつけ仕事した"
# ↑commitしてみる。メッセージ長すぎた。72文字以内が推奨なんだとさ。

nano PreferencesController.m
# ↑ちょろっと修正

git add ./Classes/PreferencesController.m
# ↑addしてみる

git commit -m "IMEの状態が、メニューバーだけでなく画面全体に反映されるようにやっつけコード書いた。メニューバーだけ、画面全体だけってモードを作りたいところだが、xibの触り方を知らないので諦める"
# ↑commitしてみる。またもメッセージが長すぎ^^;

git remote add DIS git@github:kawa-/DrasticInputSourceStatus.git
# ↑DIS=git@github:kawa-/DrasticInputSourceStatus.git という意味です。毎回毎回、git@github:kawa-/DrasticInputSourceStatus.gitって打つのはたるいので、DISって別名、つまりはエイリアスをつけます。もちろん、git@github:あなたのID/プロジェクト名.gitです。

git remote -v
# ↑DIS=git@github:kawa-/DrasticInputSourceStatus.git となっているか確認

git push DIS master
# ↑githubに反映させます。DISの代わりに、git@github:kawa-/DrasticInputSourceStatus.git でもOKだと思います。ブラウザでgithubの自分のアカウントを訪れて確認してみましょう。masterってのは現在進行中のプロジェクトのこと。「現在進行中」ってことは脇道にそれるものも存在するのです(branchというらしい…よく知らない)

↑まあこんな感じです(分かりにくいですね…。ちなみに思うところがいくつかあって、
  • gitってソースを一つ修正したら git add hoge して git commit -m “hogeを修正” ってやらないとダメなのだろうか?いちいち面倒くさい。いろんなファイルを修正してから、一つ一つのファイルにコメントを付けたい。一つのファイルを書いたら、’git add .’して、’git commit -am “fix hoge'”、ならちょっとだけ楽?
  • gitではコメントが72文字以内ってのが推奨らしいけれども、短すぎる。個人的には短いコメントは具体性がなくて分かりにくいので好きでない。たとえば、”fix bug.”に何の情報量があろうか?差分見れば分かるっていうけどいちいちdiffする・見るのかったるい。不老不死者ならいいけどさ、普通の人はそうじゃないでしょ。コードに人生掛けているわけじゃないんだし。
  • gitは実にオタク向けで、vimとかemacsみたいな印象を受けた。実用的だけど…最初の壁が…

– 自分の理想のIME環境が出来た
さて、次に、何を修正・追加したか書いていきます。端的に言えば、↓です。


↑つまり、IMEが日本語の時に画面全体に薄く色がかかるようにしてみました。英語入力のときはもちろん色無しです。ちなみに設定方法は↓こんな感じです。



誰もが一度は、日本語を打っていると思ったら英語だった、英語を打っていると思ったら日本語だった、という経験があると思います。そういうのを、無くすためのものです。Windowsだと、caretのところに色を付ける、setcaretcolorというソフトがあります。ただ、非対応のソフトも少なくなく、残念な感じです。Macだと、ImageUpや、言わずと知れたKeyRemap4MacBook(←これは神ソフトです。これがないと私は生きていけません)の作者のtekezoさんのDrasticInputSourceStatusがあります。ただし、これらも、メニューバーの当りの色が変わる程度ですので、何となく周辺視野で捉えている感があるにしても、間違えたりします。

Macでは、白黒反転機能があります(control + option + command + 8 を押してみてください)。最初はそれを使おうと思っていたんですが、白黒反転の状態や設定を行うapiを見つけることが出来ず諦めました。

しかしいろいろとぶらぶらネット上を散策していると、DrasticInputSourceStatusという、ImageUp代替ソフトを見つけました。しかもオープンソース!と言うわけでさっそく落としてきて修正して、↑の画像のようなことになるよう修正してcommitしました。元のコードが綺麗なので、色の範囲指定などを簡単に見つけて改造することが出来ました。やはり綺麗なコードは大事ですね。

出来ればソフトを直接動く形で公開したいのですが、ライセンス等問題ある気がするので、公開はしないでおきます。代わりに、インストール方法を書いておきます↓。
git clone https://github.com/mitsuakikawamorita/DrasticInputSourceStatus.git
cd DrasticInputSourceStatus/
make package
# ↑ Mac OS 10.6の方はこれで行けます。同じディレクトリに、.dmgファイルが出来ていますので解凍してアプリケーションフォルダにコピーして、クリックしてみてください。ちなみに、10.8だとmake packageだとエラーがダメでした。10.7の人は分かりません。10.6の人はここで終了です。

# 以下、10.8の人や、10.7で楽観的な人は、↓のコマンドを打ってみます。`は、'ではなく、@のキーをshiftを押しながら押すと出てくる記号です。
open `pwd`

とすると、finderが開きます。最新のXcodeをまずインストールします。App Storeのアプリケーションをクリックして、検索欄でXcodeと打ちます。4GB程度ある大きなソフトなのでダウンロードに時間が掛かります。

次に、先ほどの操作によりfinderで見えている、DrasticInputSourceStatus.xcodeproj というものをダブルクリックします。すると、Xcodeが立ち上がります。左上の、「Run」を押します。すると、

「The run destination My Mac 64-bit is not valid for Running the scheme ‘DrasticInputSourceStatus’ 以下略」と出てきますので、OKを押します。次に、真ん中の上の方に、「Project 三角マーク 2」と出ています。黄色っぽい三角マークです。そこをクリックします。すると、左の方に黄色三角マークがついたものが出てきます。そのうち、「Validate Project Settings」をダブルタップします。そしてウィンドウが出てくるので、右下の、「Perform Changes」をクリックして、またウィンドウが出てくるので「Enable」をクリックします。

次に、また、左上の「Run」を押します。しばらくしてコンパイルが終わり、成功すると思います。「英数」や「かな」を押して画面に色が反映されることを確認してください。これで修正完了です。左上の、Runの隣の「Stop」を押してから、command+qしてXcodeを閉じます。

ターミナルに戻ります。↓を打ちます。
cd ~/my_repos/DrasticInputSourcesStatus/
make package

すると、同じディレクトリに、dmgファイルが出来ていますので、finderで見てダブルタップします。そして出てきたDrasticInputSourcesStatusを、アプリケーションディレクトリに入れて、DrasticInputSourcesStatusをクリックすれば出来上がりです…

書くの大変過ぎて(ヽ’ω`)

「空白行や行頭スペース・タブ、全角スペースの削除ツール」にコピーボタンを付けた

空白行や行頭スペース・タブ、全角スペースの削除ツール
http://mitsuakikawamorita.com/software/app_of_deleting_blank_lines_and_spaces/


を以前、個人的に作った。JavaScript と正規表現を使ったささやかなものではあるが、私はこれを毎日使っており、割とキラーアプリと化している。よく使う故に不満も出てきていて、ちょびちょびと改良している。今回は、コピーボタンを導入してみた。出力された結果を、いちいち Ctrl + a, Ctrl + c してコピーするのは面倒だし間違えが生じる(Ctrl + a してから、以前コピーしていた内容を、誤って Ctrl + v してしまったりすると出力内容が消えてしまう)からである。

コピーボタンは思った以上に難航した。プログラミング全般に言えることだが、簡単そうに見えることでも実装となると非常に苦労する。ちなみに ZeroClipboard という flash を使った。便利な時代である。

というわけで、使いたい人は使ってみるといいのではないか。記事の引用で改行コードやらタブやらを取り除きたいときなどに用いると捗る、はず。