スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

携帯電話のSDカードのファイルをMacで管理するアプリケーション

スマートフォン全盛の時代にこんなものを公開するのもどうかと思うが。 タイトルの通りのアプリケーション(のソースコード)をgithubで公開した→https://github.com/minoki/keitaisdeditor。 ドコモのフィーチャーフォンを想定している。

開発を始めた時点では、Windows用の同様のアプリケーションはあったがMac用がないという状況だった。今はどうなっているか知らない。

開発は2年前ぐらいからやっていたが、ここ1年ほど放置していて、これ以上更新することもなさそうなので(ソースコードを)公開することにした。 SDカード内のファイルの追加ぐらいはできるはず。

もちろん、完全に無保証である。SDカードのファイルが壊れても知らない。

スポンサーサイト

テキストファイルのエンコーディング(com.apple.TextEncoding)を設定するコマンドを作った

Mac OS Xでは、テキストファイルのエンコーディングを拡張属性com.apple.TextEncodingに格納できる。テキストエディットなどでそのファイルを開くと、ファイルがcom.apple.TextEncodingで指定されたエンコーディングで読み出される。誤判定の多いエンコーディングの自動判別機能に頼る必要は無い。

テキストエディットなどでファイルを作成すればこの拡張属性は自動的に設定されるのだが、外部から取得したファイルなどにはこの拡張属性は設定されていないことが多い。そこで、任意のファイルに拡張属性com.apple.TextEncodingを設定するコマンドを書いた→https://github.com/minoki/setTextEncoding

使い方は

$ setTextEncoding エンコーディング名 ファイル(複数可)…

とすればよい。CFStringEncodingの値はエンコーディング名から自動で求めてくれる。また、エンコーディングの表記にぶれがあったとしても、

$ setTextEncoding euc-jp
euc-jp;2336
$ setTextEncoding eucjp
euc-jp;2336
$ setTextEncoding eucjp
euc-jp;2336

のようにIANA名に規格化される。

入力ソースを設定するコマンドを作った

Mac OS Xの入力ソース(ことえりやGoogle日本語入力など)をCUIで設定(有効/無効/選択)できるコマンドを作った→https://github.com/minoki/InputSourceSelector

入力ソースをいじるには、Mac OS X 10.5以降であればCarbonのText Input Source Servicesを叩けばいい。入力ソースのID(例:com.apple.inputmethod.Kotoeri.Roman)から入力ソースを取得するにはTISCreateInputSourceListを呼び出す。この関数は名前の通り入力リストのリストを返すが、第一引数にプロパティリストを渡す事で入力ソースを絞り込む事ができる。帰ってきたCFArrayRefから入力ソース(TISInputSourceRef型)を取得しTISEnableInputSourceTISSelectInputSourceを呼び出せば、それぞれ入力ソースを有効化、選択できる。

プログラム中でTISCreateInputSourceListから帰ってきた入力ソースの配列を走査するのにFast Enumerationを使っているが、TISInputSourceRef型はObjective-Cのid型と互換性がないため、ループを

for (TISInputSourceRef inputSource in inputSources) {
    ...
}

と書くことはできない。しかし、__attribute__((NSObject))を使えばid互換の型として扱ってくれるようだ。

for (TISInputSourceRef __attribute__((NSObject)) inputSource in inputSources) {
    ...
}

さて、このコマンドの使い方だが、

$ InputSourceSelector list

と打てば入力ソースのIDと名前の一覧が表示される。list-enabledとすれば現在有効になっている入力ソース飲みが表示される。これで調べたIDに対して

$ InputSourceSelector enable (調べたID)

と打てばその入力ソースが有効化される(右上のメニューの入力ソース一覧に現れる)。また、

$ InputSourceSelector select (調べたID)

と打てばその入力ソースが現在の入力ソースとして選択される。

テーマ : プログラミング | ジャンル : コンピュータ

OS X Lionを入れた

OS X Lionがリリースされたので早速入れた。トラブルや気付いたことを書く。

インストール時に困ったところ

  • パーティションをいじってあるとインストール先として選べないかも
    以前、Macintosh HDのパーティションを切ってUbuntuを入れたことがあり、その時のパーティションがそのままになっていた。焦らずディスクユーティリティを起動して該当パーティションを削除(一筋縄では行かなかったが、Linux Swapと一緒に選択して消去したらいけた)。なぜかLinux Swapはあっても問題無いようだ。

実際に使ってみて困ったところ・困っているところ

  • ログオン画面での入力方式
    SL時代はログオン画面もDvorakにして快適だったのに、Lionにしてから勝手にQWERTYに戻ってしまうことがある。パスワードが数十文字あるので打ち直しになると辛い。
  • ことえりでの「c」
    ローマ字でか行・さ行を打つ時に「c」が使えなくなった。Dvorakなので不便。
  • iSyncがなくなった
    ガラケーの電話帳とカレンダーをMacと同期させるのに携帯シンクを使っていたのだが、Lion導入後同期してみようと思ったらなんとiSyncが無い。ググったらLionでiSyncがなくなったとか。上書きインストールだとそのまま残る(実際は残らなかったけど)という情報をヒントにして、Time Machineのバックアップから復活させた。Lionでも動作はするようだが、たまにクラッシュする。
  • デスクトップのバックグラウンド
    SLの時は「ピクチャを変更」して一定時間ごとに壁紙を切り替えていたのだが、Lionにしてから勝手に銀河の画像に変わってしまう。よく分からん。

Lionにして良くなったところ・良かったと思うところ

  • スクロールバーが目立たなくなった
    SL以前のスクロールバーは正直目障りだった。Lionになって目立たなくなったので良い。
  • Mail.appでケータイの絵文字が表示される
    携帯電話から送られたメールの絵文字がUnicodeの絵文字として表示される。Unicodeに入らなかった絵文字は表示されないようだ。
    キャリアは送信者を見て判別しているのだろうか。
    ちなみに、Macから絵文字入りメールを送信しても携帯電話側では化ける。
  • 「ネットワーク」環境設定でAirMac→Wi-Fi
    これで混乱する人が多少減るはず。

MacBook(Early 2008)を診てもらった

メモリを換装した次の日にApple Storeに行き、Genius BarでMacBookを診てもらった。Apple Storeに行ったのは初めて。

パームレストのひび割れは、トップパネルの無償交換で対応。バッテリーはもう寿命だとのことで、有償での交換。でもバッテリーを単体で買うよりは安かった(1万円以内)。

トップパネルは在庫を切らしてて、修理に4~5日かかるとか言われたが、その翌日に修理完了したとの連絡が来た。最初の見積もりは何なんだ。

割れた当時:

P7310081.jpg

交換後:

P4170705.jpg

交換前のバッテリー情報:

充電量情報:
  残りの充電量(mAh):	3641
  完全充電時の容量(mAh):	3751
状態情報:
  充放電回数:	170
  状態:	バッテリーを確認
交換後:
充電量情報:
  残りの充電量(mAh):	4556
  完全充電時の容量(mAh):	5223
状態情報:
  充放電回数:	1
  状態:	正常
この日記を書いている現在:
充電量情報:
  残りの充電量(mAh):	5270
  完全充電時の容量(mAh):	5281
状態情報:
  充放電回数:	2
  状態:	正常

プロフィール

minoki

Author:minoki
好きなプログラミング言語:
Haskell,Lua
GitHubアカウント
Twitter

最新記事
月別アーカイブ
カテゴリ
検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。