カテゴリー別アーカイブ: プログラミング系

最近のプログラミング状況まとめメモ

・foxhistory
…と名付けた。
Firefoxの履歴を複数のPCで共有する拡張です。
サーバ側をPerlで作ることにしたんですが謎すぎ…

・MultiWallpaper
メモリ不足のエラーに対処作業中…
GC.Collect();しても効果なし…
ちびちび画像処理するのはめんどくさいし出来るかどうかも分からない…

・NEditor3
ツールバーのコピーボタンが変なとこにあるのを修正。
Footy2コントロールの新しいのを使えるようにしようかと思いましたが…自分でFooty2かManagedFooty2の方を弄らないと現在使っている機能の維持は出来なさそう…
問題がある訳じゃないし古いバージョンのFooty2で良いかなぁ…

・DiscCollector
DiskCatalogManagerがちまちましたバージョンアップでかなり使いやすくなっていたので、こちらを使わせてもらいます。
PowerDriveというかDacal社製のディスク管理ハードへの対応は…諦めますか…
Dacal社様にいただいたAPIで、PC上から直接番号指定しての取り出しとか内蔵DVDドライブへの読み込みとかが出来るようになったのでDiskCatalogManagerで十分な気がしました。

Firefoxの拡張機能を作るどー!…いつになることやら

 メッセでとある星の人に聞かれたんですが、Firefoxの履歴を共有する拡張機能はないかと。
自分も欲しい機能ですが、見つからないんですよねぇ…
ブックマークはFoxmarksで共有できていますが、こんな感じで履歴も共有したいです。
どなたかご存じでしたら教えてください。

 んでまあ見つからないから春休みの時間があるときにでも作ろうかなと。
最悪Foxmarksをちょっと弄ればできるはずです(悪)
まあそんなことしなくても、Placesを見て差分をアップロードダウンロードするだけで基本的にはいけるんじゃないかなあと予想。
Firefoxを複数の場所で同時に起動してたらどうするかとかいつ更新するかとかは考える必要がありそうですが…

MultiWallpaperとSimple MultiWallpaper Changerをバージョンアップ

 バグ修正と、やっと最新のMultiWallpaperの設定をSimple MultiWallpaper Changerでも読み込めるようにしました。

 SQLiteで保存するようにしようとか言っていましたが、SQLは全然分からなくて面倒なため諦めました。
MultiWallpaperで設定を書き出して、それをSMWCで呼び出すのが普通ですが、壁紙の組み合わせを保存してある配列(3次元ジャグ配列)を保存して読み込むというのはめんどくさいしミスも起こりそうだと思い、何か良い方法はないかなぁと考えていたところ、プロセス間で配列のまま送り、SMWC側でシリアル化すれば楽という気がしてきました。
気がしたのでやってみましたが…そう楽でもなかったです…

 うちの環境ではそれほどとは思いませんでしたが、環境によってはMultiWallpaper終了時にだいぶ時間がかかるかもしれません。
MultiWallpaperを終了しようとしてから、
SMWCを起動→SMWCから起動OKを送る→MultiWallpaperから配列を送る→MultiWallpaper終了
と普段より処理が増えています。
「配列送られたOK」も送ろうかと思いましたが、少しでも早いほうが良いかと言うことで省略。
動作確認はしていますが、もし動かないようなことがあれば連絡ください。

MultiWallpaper ver.1.1公開

 組み合わせリストにフォーカスが当たっていなくても、選択されているものが分かるようにしました。
てかプロパティ変えるだけでこうできたのね…
作り直しているMultiWallpaperでは、ドラッグ&ドロップでリストを並べ替えられるようにしたいと思っています。
これもプロパティひとつでできたり…しませんよね?
まあできたところでデータの方の並べ替えが今のままでは面倒なので作り直し待ちですが…

 リトルビッグプラネット届いたものの…オンラインが不安定…
発売されたばかりだからだとは思いますがイヤン。

たまにはプログラミングネタ その2 マルチモニタの状態を描画してみる

 何かちょうど一週間ぶりでした。
新バージョンのMultiWallpaperで一番変化が大きい、SQLite関連を色々やっていましたが疲れたので後回し。
今日はMultiWallpaperのメイン部分であるマルチモニタの状態を描画するところを書き直してみました。
2006年1月に作ってから手を加えていなく、自分でも何が何だか分からなくなったので…
以下にC#のソースを示します(pbxPreviewという名前のPictureBoxに描画します)

続きを読む

たまにはプログラミングネタ

 MultiWallpaper ver.1.0で設定をシリアライズしたファイルに保存するようにしたんですが、そうすると他のソフトから読み込めないためにSimple MultiWallpaper Changerからも読み込めない。
ということで組み合わせは別のファイルに保存するようにします。
ちょっと大げさな気もするけどSQLiteをC#から使えるようにできる物があったのでそれを試してみようかと思います。
構成を考え中…
最初から作り直そうと思っているので…いつになることやら。

C#のTabPagesをマウスで並べ替えられるように…

 NEditor3をタブを移動出来るようにバージョンアップしました。
しましたが…ちょっと重いです。
C#はタブの順番を変えることができないっぽく、タブを削除して追加してという風に順番を変えているのでタブが増えると辛いです。
というか超高速でマウスを動かすとホールドしてるタブが入れ替わります…仕組み上右移動のみですが…
マウスを放したときにタブが移動するんじゃなくて、マウスを移動してるときでもタブが移動するのが好みなのでそうしてみましたが…放したときにするべきだったかなぁと公開してから後悔。
何か良い方法が欲しいところ…

NEditor3バージョンアップ

 バグを修正したらその修正により他の場所の動作がおかしく…
以前からおかしかったのかもしれませんけど…

 NEditor3の方はまだソースきれいなんですが、MultiWallpaperはかなり汚いんですよね…
少し作り直していますが、メモリ使用量を減らしたり処理時間を減らしたりするつもりです。できれば。
ただその前に何やってるか自分でもすぐ分からないところが多いんで時間がかかります…コメントなんて全然書いてないし…
まあちまちま作っていきたいと思います…

Firefox拡張作成…nsIWebBrowserPersistねぇ

 作りたい拡張機能(更新チェッカ)を作るのに大事なページのダウンロードについて。

 ScrapBookとかFiregesturesとかFoxage2chとかすばらしい拡張機能を作られているGomita氏(で良いのかな)のブログのXPCOMカテゴリに大量に役立ちそうな記事がまとまっているのを発見したので使わせて貰いました。(ありがとうございます)
…んですけど動かない。
今回は「nsIWebBrowserPersist の基本的な使い方 (1) ~ 基本形」という記事を参考にさせていただいたんですが、全然環境そろえてないのでAlertを使ってどこまで実行できたか確認してみると、URLのオブジェクトを作るところで失敗している模様。
特権の取得とか必要なのかな…ここら辺がちょっと分からない。
ここら辺で今日は終了。
次はいつだろう…

Firefox拡張機能開発開始…なんだけど

 以前Software Designに掲載された記事が配布されたんで参考にさせていただきました。(頒布されているページ
非常に分かりやすくまとまっていますので、今まで適当に理解していたところも良く理解できました。

 …が最終的に自分が作りたい機能を作るのはかなり面倒な感じ。
あることをするのにどのXPCOMをどう使うかを調べるのが検索で英語しかない…みたいな。
まあある程度なら日本語の情報もあるっぽいですが…
ちまちま作っていきたいところです。
そんな時間取れそうじゃないですが…