[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 19:50 / Filesize : 131 KB / Number-of Response : 419
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【2画面ファイラ】 内骨格 Part1 【Python拡張】



1 名前:ミスター外骨格 [2007/10/24(水) 04:02:04 ID:ENN/kcvg0]
CraftLaunchの作者が今度はファイラー界へ殴り込みだ!
hp.vector.co.jp/authors/VA012411/cfiler/doc/index.html

>内骨格には以下の特徴があります。
>・キーボードで操作
>・マウスではほとんど操作できない
>・あふ(www.h5.dion.ne.jp/~akt/)に強い影響を受けている
>・スクリプト言語Pythonを内蔵しており、Pythonで拡張が可能
>・テキストビューアを内蔵
>・イメージビューアを内蔵
>・ミュージックプレイヤを内蔵

236 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/16(水) 14:17:41 ID:QqWfCBpq0]
弄り途中のconfig.pyをupしてみた。
www-2ch.net:8080/up/download/1216185153903730.i11rmq

ジャンプリストにデスクトップ等を追加したり、IPアドレスでジャンプリストを変更したりとか
キーを押したらすぐに実行/ジャンプするメニューとか、
標準では付いてない選択を反転させるコマンドとか思いついた物を適当に書いてます。

237 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/22(火) 03:06:57 ID:GbWJybTm0]
それなりに期待して起動してみたんだが・・・無茶苦茶重いのな。
ソース見たら殆んどPython・・・そりゃ更新も早かろうよ。
上の方でなぜかC++製ってことになってるけど騙されないよう注意な。

238 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/22(火) 14:21:03 ID:5PhRs6Mq0]
【2画面ファイラ】 内骨格 Part1 【Python拡張】

239 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/22(火) 15:03:51 ID:eA8/peTS0]
>>237
内骨格より軽くて高機能かつ拡張性が高い2画面ファイラをあげてくれ。


240 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/22(火) 15:10:52 ID:5PhRs6Mq0]
ま、あふで十分だな

241 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/22(火) 17:12:09 ID:eA8/peTS0]
軽さで比較すると、ウチではあふも内骨格も変わらんが。
まあ基本あふ使いだけどさ。


242 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/22(火) 18:55:08 ID:rHbzusF30]
1 .47 - 2008/07/22
- Ctrl + ↑↓キーの際、ファイルが選択されていないときは、ブックマークにカーソル移動するようにした。

- テキストビューアのカスタマイズ機能を追加 (実験的)
config.py の configure_TextViewer() を呼び出す。

- ホットキー設定ウインドウで、キーコード入力部品にフォーカスを持っていった際に、エラーが発生するのを修正

- Grep機能でアクセス権のエラーが発生したときに、Grepが続行しなくなっていたのを修正。ファイルをスキップして続行するようにした。

- デフォルトの設定ファイルで フィルタクラスに与えるパターン文字列をユニコード形式にした。(ユニコード形式ではないまま日本語を使用したときにエラーが発生するため)

- 存在しないパスにジャンプしようとしたときに、適切なエラーメッセージを表示するようにした。

- ジャンプリスト中のファイルパスがUNICODE形式でなかった場合はエラー処理するようにした。

243 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/22(火) 21:12:14 ID:33UdUKYf0]
わしょーい

244 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/22(火) 21:38:40 ID:49J+wrsW0]
ソースパッケージにはpythonの標準配布物とpy2exe以外は全部含めておいて、
python setup.py py2exeできちんとcfiler.exeが出来る構成にしておいて欲しいなぁ。



245 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/23(水) 06:07:14 ID:SuNEQowl0]
1 .48 - 2008/07/22
- config.py のなかに、configure_TextViewer() が定義されていないと、テキストビューアを開いたときに、エラーメッセージが表示されるのを修正。

- Bookmarkの順序が、起動のたびに逆転しているのを修正

- diffviewerでCtrl-Upしたとき、マイナスの行番号として、ファイルの末尾が見えてしまうのを修正

246 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/28(月) 02:38:44 ID:+/tgBrZJ0]
1 .49 - 2008/07/27
- 補完候補ウインドウが、画面の下にはみ出る場合は、画面の上方向に配置するようにした。

247 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/28(月) 22:37:47 ID:vJVsXiIa0]
削除が出来ない
なにこれ

248 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/29(火) 00:09:57 ID:8xA3mwNq0]
だがそれがいい

249 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/29(火) 11:14:47 ID:szHxeaQq0]
1 .50 - 2008/07/29
- Filter、Select、Search、の履歴を残すようにした。
- 露骨なエラーメッセージが出ていた箇所を調整。

250 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/05(火) 20:36:10 ID:RcS7rvto0]
1 .51 - 2008/08/05
- 補完候補ウインドウの右と下のフレーム部分が、再描画されずにゴミが残ることがあったのを修正

- 再描画をすこし高速化

- WindowsXPでクラシックテーマを使用したときに、ウインドウの一部が再描画されないまま残ってしまう、WindowsXPの問題 (support.microsoft.com/kb/436093/ja) を回避するオプションを設定メニュー2に追加

251 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/07(木) 07:13:44 ID:IyAnfIhH0]
1 .52 - 2008/08/07
- GREPの検索パターンを履歴に残すようにした。

- ファイルのコピー時に、上書き対象のファイルがオープンできなかった場合の動作がおかしかったのを修正。
(上書き対象が削除されようとして、削除も失敗していた。)

- 今後の品質向上のため、Pythonのインタプリタが1秒間以上ロックしたままになったことを検出するデバッグ機能を追加。
内骨格が長時間操作を受け付けなくなる現象を排除していくための技術的な情報を収集するため。
( ini ファイルの [DEBUG] セクションの detect_block を 1 に設定すると有効になる。)

252 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/09(土) 15:19:32 ID:oPiru59g0]
w2k
ショートカットで実行時の大きさに最大化を選んで起動して内骨格を終了すると
Errors occurred
See the logfile 'X:\tools\cfiler\cfiler.exe.log'for details
とダイアログがでる。

logファイルは
Traceback (most recent call last):
File "cfiler_mainwindow.pyo", line 553, in _onSize
AttributeError: 'MainWindow' object has no attribute 'left_window_width'

253 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/10(日) 17:26:00 ID:AAZLgpPX0]
1 .53 - 2008/08/09
- テキストビューアに検索機能を追加。Fキーを使って検索ダイアログを表示し、スペースキーで次の検索を実行する。

- テキストビューアにステータスバーを追加。ステータスバーに、行数、スクロール位置、文字エンコーディングを表示するようにした。

- 画像ビューアにステータスバーを追加。ステータスバーに、画像サイズ、画像フォーマット、画像モードなどを表示するようにした。

- 画像ビューアのカスタマイズ機能を追加 (実験的)
config.py の configure_ImageViewer() を呼び出す。

254 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/10(日) 17:26:30 ID:AAZLgpPX0]
1 .54 - 2008/08/10
- インクリメンタルサーチにMigemoを使用できるようにした。(設定メニュー2)

- 画像ビューアのステータスバーにズームポリシーと倍率を表示するようにした。

- 画像ビューアのデコード処理が多数キューイングされたときに、すこし挙動がおかしいのを修正。ひとつずつデコードするようにした。

- 画像ビューアでズームインしたとき、画像がステータスバーの上に重なってしまうのを修正。(1.53で混入した問題)

- 画像ビューアのリサイズ時に、ステータスバーの文字が上方に残ってしまうのを修正。(1.53で混入した問題)

- 画像ビューアのズームポリシーがオリジナルモードのとき、ウインドウのリサイズ時にステータスバーが追従しないのを修正。(1.53で混入した問題)



255 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/15(金) 14:57:04 ID:FZlAF8vx0]
キーバインドをあふ互換に出来るようにして欲しいな

256 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/15(金) 21:13:00 ID:wldYzL/u0]
>>255
Ctrl+z → キー割り当て

257 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/16(土) 10:59:15 ID:RCpkmBfC0]
早くメジャーなソフトになって欲しい

258 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 17:27:27 ID:NTS2G+0e0]
1 .55 - 2008/08/18
- ファイルリストのタイムスタンプとファイルサイズの表示On/Off機能を追加 (設定メニュー)

- ヒストリとブックマークを、DEL キーで削除できるようにした。

- 補完候補ウインドウで DEL キーを押したときに候補を削除するようにした。

- ログペインのサイズ変更時、ログの可視領域の下端を基準にスクロール位置の調整をするようにした。これまでは上端を基準にしていた。

- 垂直セパレータの太さと色を調整。

- クリップボードにコピーしたテキストの改行コードが LF になっていたので、CR+LF になるように修正。

- コマンドラインのファイル名補完の動きがおかしいのを修正

- メディアの入っていないドライブを選択したときのエラーメッセージが変だったのを修正。

- Migemo の辞書ファイルのパスが相対パスだったので、絶対パスに変更。

- 仮想ディレクトリなどに対して、ディレクトリ比較を適用しようとしたときに、露骨なエラーが発生していたのを修正。無理な場合は、その旨を表示するようにした。

- コンテキストメニューを出すときの Python インタプリタのブロックを解消

- テキストビューアと画像ビューアのタイトルバーのアプリケーション名部分が、[ 内骨格 ] のままカスタマイズが効いていなかったのを修正。

259 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 17:40:14 ID:YlxHQ2hZ0]
毎回ウゼェ

260 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 19:44:08 ID:sNnNvbXz0]
>>259
拡張NGもできないおばかさんですか?

261 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 20:06:35 ID:YlxHQ2hZ0]
まじレスすんな、ボケ

262 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 20:23:40 ID:HpMdb1640]
これから内骨格を使っていこうと思っているのですが、キーコンフィグのやり方がわかりません
複雑なことをするつもりはありませんので、誰か親切な方、config.pyにどう書けばキーの機能を入れ替えられるか教えて頂けませんか?

263 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 21:28:38 ID:wYM3H3lB0]
pythonの基本的な文法は自分で勉強してくれ。
それを前提の上で説明する。

_config.pyの57行目のようにconfigure関数の中で
window.keymap[ KeyEvent(ord('X'), MODKEY_SHIFT) ] = command_ProgramMenu
みたいにすると、シフトキーを押しながらXキーを押した場合にcommand_ProgramMenuという関数を呼ぶ動作が設定される。
標準で用意されている主な関数は >>232 の1個めのサイトにまとまってる。
それ以外の関数については内骨格のソースを見ないと駄目。
cfiler_main.pyの1360行目あたりから標準のキー割り当てが並んでる。

264 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 22:22:59 ID:HpMdb1640]
素早いお返事ありがとうございます
見よう見まねでconfig.pyに書き込んでみたところ関数が見つからないと表示されたので、先ほどの質問をさせて頂きました
くだらない質問に答えて頂いてありがとうございます



265 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 22:34:21 ID:wYM3H3lB0]
上記の例ではcommand_ProgramMenuはconfigure関数の中で定義されてるから
= command_ProgramMenuとそのまま代入してるけど、
>>232 に載ってる関数は = window.command_JumpList みたいに window. を付けてやらないと参照できない。
関数が見つからないって理由はこれかもね。

266 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 23:09:16 ID:dLtz+8vb0]
他PCのフォルダを開く方法を教えてください
Shift+Jで\\IPアドレスだと無理でした


267 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/18(月) 23:38:16 ID:wYM3H3lB0]
\\IPアドレス
\\pc名
は移動失敗する。

\\IPアドレス\フォルダ名
\\pc名\フォルダ名
みたいにしないと駄目。

268 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/19(火) 00:00:03 ID:sRSEuU220]
おお、出来ました
ありがとう

でも、この辺りは自動表示してくれるあふの方がいいですね

269 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/20(水) 20:41:20 ID:8iK8ALdV0]
>>265
返事が遅くなりました
その通りの理由で、無事キー割り当てができるようになりました
ありがとうございます
大したことをするつもりがなくても、このファイラを扱うためには少しpythonを勉強する必要があるみたいですね

270 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/23(土) 19:52:18 ID:igmNb3ug0]
少しずつ進化してくのが楽しいね

271 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/26(火) 01:29:35 ID:VQAe6nrT0]
誰か内骨格の起動パスの変数知りません?
あふで言うところの$V"afx"とか%afx%とかなんですが

272 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/26(火) 01:57:44 ID:5dOUxPCD0]
cfiler.exeのフルパスはsys.argv[0]
cfiler.exeのあるフォルダが欲しければos.path.split(sys.argv[0])[0]

↓みたいな関数を用意しておくと便利かも。
cfiler_path("hoge")で (cfiler.exeのあるパス)\hoge が得られる。

def cfiler_path(rpath):
os.path.join( os.path.split(sys.argv[0])[0], rpath )


273 名前:272 mailto:sage [2008/08/26(火) 11:41:09 ID:8BQO+7//0]
returnが抜けてた。

def cfiler_path(rpath):
return os.path.join( os.path.split(sys.argv[0])[0], rpath )

274 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/08/26(火) 19:27:59 ID:VQAe6nrT0]
>>273
ありがとうございます、助かります



275 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/07(日) 12:50:27 ID:wn3W/Ne1O]
まとめwikiってないの?

276 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/10(水) 21:18:23 ID:Mi9D1AtpO]
気に入ったけど,,

アーカイブ展開したての初回起動なのにメモリ17MB消費とかww
作者さん、もう少し消費メモリ抑えてください

277 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/10(水) 22:25:52 ID:e4qycDs60]
全体的な動作が速ければ、いくらメモリ食ってもいいわ。と言っても1GBくらいまでなら。


278 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/11(木) 16:04:23 ID:F5oRIKJr0]
内部でPythonエンジン使ってるからしゃーない

279 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/12(金) 12:22:00 ID:jFs790J10]
sites.google.com/site/craftware/cfiler

1 .56 - 2008/09/12
- 設定メニュー2に、[ config.py をリロード ] を追加。
- 設定メニューのサブメニューを閉じたとき、上位階層のメニューに戻るようにした。
- Grepダイアログと、テキストビューアの検索ダイアログの状態を、ダイアログをキャンセルで閉じたときも保存するようにした。
- ほとんど使われない .ogg ファイルのサポートをやめて、Audiere を使用しないようにした。
- ファイルリストの取得をするNative関数が、PythonインタプリタをのGILを長時間ロックすることがあったのを修正。
- ファイルリストの取得時にメモリリークしていたのを修正。
- Alt+↑↓でログペインのサイズを変えようとして、それ以上大きく/小さく出来なかったときでも、必ずスクロールしてしまうのを修正。(1.55で混入した問題)


280 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/13(土) 01:00:18 ID:bVPMKMps0]
ええええーー
ogg演奏できるのが便利だなーって思ってたのに

281 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/13(土) 01:24:10 ID:EUpU2T/k0]
>>280
俺もがっかりだ


282 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/13(土) 12:45:39 ID:XvzPns/60]
単に外すだけじゃなくてextensionにしてconfig.pyにちょっと追加すれば使えるような状態にしてあればよいのに。

283 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/13(土) 23:39:15 ID:l8peI4HT0]
だいぶ使いやすくなってきたよねー
intypeと内骨格の組み合わせがかなり気に入ってる(intypeにソースツリーがないから)
sconsとgitの操作を内骨格からできるようにちまちま拡張していけば結構シンプルな開発環境になりそうだ

284 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/15(月) 06:21:20 ID:3MYy76ph0]
>>283
あるぞ



285 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/15(月) 10:32:05 ID:C1cIPiRNO]
作者さん
要望を聞いてください

・画像表示はSuise-Pluginを利用してください
・メディアの再生機能は省いてください
・CraftLaunch/EXを一緒に(統合)しないでください
・Jamp/Findなどの機能はCraftLaunch/EXでやっているんで削ってください
・付加的な機能(GmailFS等)はプラグイン形式にしてください
・'あふこまんど'みたいなのを作ってください
・軽くしてください

以上おねがいです
上記の点でなかなかあふから乗り換えられません。

286 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/15(月) 10:40:16 ID:C1cIPiRNO]
と、書いたあとに更新発見!!

1 .57 - 2008/09/15
- Grep / Search 機能を使って列挙した、ディレクトリ名付のファイルリストを使ってコピーや移動を行う際、平たくコピー/移動する機能を追加。コピー直前に確認ダイアログを表示するようにした。

- Grep / Search 結果 から ディレクトリアイテムを移動する際に、移動元のディレクトリの削除に失敗するのを修正。

- 起動直後に開かれるディレクトリの読み込みをサブスレッドで行うように変更し、起動時のウインドウが出るまでの時間をを若干短縮した。

- フォントのリストアップ処理でメモリリークしていたのを修正。

- ファイルのコピー、移動、削除で、処理が終わったアイテムは、選択を解除する。

- バックグラウンドでファイルの削除をしている間に、フィルタを変更すると、削除処理に使われるフィルタも変化してしまっていたのを修正。

- バックグラウンドでディレクトリ比較をしている間に、違うディレクトリに移動すると、エラーになってしまうのを修正。

- バックグラウンドでアーカイブを作成中に、違うディレクトリに移動すると、正しくアーカイブが作成されていなかったのを修正。

- バックグラウンドでアーカイブを展開中に、違うディレクトリに移動すると、正しくアーカイブが展開されていなかったのを修正。

287 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/15(月) 12:19:18 ID:5I+KkzbH0]
ところで、作者ってここを見てるんだろうか。

288 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/15(月) 12:47:35 ID:/H75glu10]
>>285
どうせでかいインタプリタが乗ってるので削っても限界あります。
動作が軽快にして欲しいというのはありますが、機能は削らなくても結構です。

289 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/15(月) 20:01:27 ID:KLALt7Ow0]
柔らかい要望ってことで、透過ウィンドウおよび背景画像の半透明表示が欲しいなー

ところでpopen4経由でscons呼べるようにしてみたんだけど(shellexecuteは子画面開けちゃうから)、
soconsから呼んでるbuilderが吐いたエラーがログペインに乗ってこないなー
内骨格はたぶん悪くないけどなんでだろ
cmd.exe上でscons呼び出すとちゃんとメッセージ出てるんだけどな

290 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/15(月) 21:11:12 ID:7NTJ8pPi0]
>>289

shellExecuteじゃなくて、window.subProcessCall()を使えば、
ログウインドウにリダイレクトできるよ。
config.pyのcommand_Substで使われてるから、
見てみるといいかも。


291 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/15(月) 21:18:47 ID:KLALt7Ow0]
>>290
それは知らなかったありがとう
popen4で標準出力とエラー出力を読んで、一行ずつprintしてログペインに書いてってやってたんだけど、
>>289の問題がなかったとしても、処理が終了してから一度にログペインに反映されるって動きになっちゃう問題があったんだった
window.subProcessCall()ならそのへんうまいこと処理してくれるかな
試してみる

292 名前:「手段を選んでいるいとまはない。」 ◆8RHckg48Fc [2008/09/16(火) 18:43:35 ID:wuaghSqoO]
あふとは違うのだよ、あふとは

293 名前:名無しさん@お腹いっぱい。 [2008/09/17(水) 02:52:48 ID:GyH9dT990]
あふとは違うのだよ、あふとは

294 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/17(水) 08:55:16 ID:xW8aPt6g0]
あふとは違うのだよ、あふとは



295 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/17(水) 10:01:49 ID:GyH9dT990]
>>294
真似はいかんよ

296 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/17(水) 13:35:11 ID:iF+owCl40]
sites.google.com/site/craftware/cfiler
1.58 - 2008/09/16
- ブックマークのリストを出す際に、現在のディレクトリ以下のブックマークのみに絞り込んで表示する機能を追加。
- pysvn をインストールしなくても、Subversionフィルタが使えるように、デフォルト設定ファイルを変更した。
- デフォルト設定ファイルに、イメージビューアのカスタマイズ例を追加。
- 内骨格が、最大化オプションつきで起動されたときに、エラーログが出力されていたのを修正。
- オープンに失敗する壊れた画像をビューアで開こうとしたとき、露骨なエラーが出力されていたのを修正。画像ビューアのステータスバーに、エラーメッセージを表示するようにした。
- ReadOnly属性付のファイルのタイムスタンプを更新するときにエラーになってしまうので、ReadOnly属性をいったん解除するようにした。
- 選択されているファイルアイテムの配列を、簡単に取得する関数を追加。
MainWindow.leftSelectedItems()
MainWindow.rightSelectedItems()
MainWindow.activeSelectedItems()
MainWindow.inactiveSelectedItems()
- カーソル位置のファイルアイテムを、簡単に取得する関数を追加。
MainWindow.leftCursorItem()
MainWindow.rightCursorItem()
MainWindow.activeCursorItem()
MainWindow.inactiveCursorItem()


297 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/20(土) 23:55:08 ID:Mr66UXdP0]
ディレクトリの内容を降順でソートしたいときってどうやるの?

298 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/21(日) 01:27:09 ID:2yccBCk90]
>>287
こんな感じ

class sorter_ByNameRev:
def __call__( self, left, right ):
if left.isdir() and not right.isdir() :
return -1
elif not left.isdir() and right.isdir() :
return 1
return -cmp( left.name.lower(), right.name.lower() )
class sorter_ByExtRev:
def __call__( self, left, right ):
if left.isdir() and not right.isdir() :
return -1
elif not left.isdir() and right.isdir() :
return 1
cmp_result_ext = cmp( os.path.splitext(left.name)[1].lower(), os.path.splitext(right.name)[1].lower() )
if cmp_result_ext : return cmp_result_ext
return -cmp( left.name.lower(), right.name.lower() )


299 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/21(日) 01:28:15 ID:2yccBCk90]
>>298 続き
class sorter_BySizeRev:
def __call__( self, left, right ):
if left.isdir() and not right.isdir() :
return -1
elif not left.isdir() and right.isdir() :
return 1
return -cmp( left.size(), right.size() )
class sorter_ByTimeStampRev:
def __call__( self, left, right ):
if left.isdir() and not right.isdir() :
return -1
elif not left.isdir() and right.isdir() :
return 1
return -cmp( left.time(), right.time() )
window.sorter_list += [
( u"G : ファイル名(逆順)", sorter_ByNameRev() ),
( u"R : 拡張子(逆順)", sorter_ByExtRev() ),
( u"D : サイズ(逆順)", sorter_BySizeRev() ),
( u"Y : タイムスタンプ(逆順)", sorter_ByTimeStampRev() ),
]


300 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/21(日) 01:31:46 ID:2yccBCk90]
インデントは適宜推察して。
というか基本的にcfiler_filelist.pyの1290行目あたりからのsorter_By*をコピーして
クラス名の後ろにRevをつけて、__call__関数の最後のreturnの符号を変えただけ。

301 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/21(日) 20:00:57 ID:RR9EzFfl0]
どうもありがとう
手に馴染み始めてきたなー

302 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/22(月) 14:50:21 ID:+8RYDkGL0]
sites.google.com/site/craftware/cfiler
1.59 - 2008/09/21
- Migemoでのインクリメンタルサーチ時に、ステータスバーには正規表現ではなく、一致したファイル名の一部を表示するようにした。
- Migemoでのインクリメンタルサーチ時に、英単語のカタカナ表記が正しく検索できていなかったのを修正。
( 例 : SaisinSoftware -> 最新ソフトウェア、など )
- ネットワークアップデートのためのバージョン情報の取得時に、プロキシのキャッシュを使って誤判定することがあったのを修正。プロキシのキャッシュを使わないようにした。
- ファイルのコピー、移動、削除で、処理を中断したときに、処理中のアイテムの選択を解除していたのを修正。処理が中断されたアイテムは選択を解除しないようにした。
- [平たくコピーしますか?]のダイアログをキャンセルしたとき、コピー処理自体をキャンセルするべきだったので、そのように修正した。
- ログを大量に出力している間に、ログペインのサイズを変更すると、エラーが発生することがあるのを修正。
- コマンドラインのコマンドとして、メモリの統計情報を出力する "MemoryStat" を追加。(デバッグ目的)
- Subversionフィルタの改良。svnで管理されていないディレクトリは、その親ディレクトリがsvnで管理されているときは非表示にし、そうでない場合は表示する。


303 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/23(火) 06:15:19 ID:YzErY0jk0]
イメージビューアがメインウィンドウの上にかぶるのがうざいので少し調べてみたら
cfiler_imageviewer.ImageViewerの生成オプションで親ウィンドウを0にしてやれば
独立したウィンドウになることがわかった。

あとは表示中の画像サイズにウィンドウをフィットさせる処理を書きたいんだけど、うまくいかない。

生のウィンドウサイズはgetWindowRectで得られるけど、
setPosSizeで指定するサイズは生のサイズじゃない。
getCharSizeで得られる文字サイズが絡んでるのはわかるんだけど、
生サイズ/文字サイズってわけではなくてよくわからん。

304 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/23(火) 07:01:10 ID:YzErY0jk0]
うまくいかないってのはフィットさせるたびにサイズが小さくなっていくことだったんだけど、
よくわからんけどwindow.fit = Falseとしておけば大丈夫だということがわかった。

とりあえずこんな感じのをconfigure_ImageViewerの中で定義してやれば現在表示中の画像サイズにウィンドウサイズを調整出来る。

def command_WindowFit():
x, y, w, h = window.getWindowRect()
iw, ih = window.img.getSize()
cw, ch = window.getCharSize()
iw *= window._zoom
ih *= window._zoom
w = int(round(iw/cw))
h = int(round(ih/ch))+1
window.fit = False
window.setPosSize(x,y,w,h,0)




305 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/23(火) 12:08:41 ID:YzErY0jk0]
cfiler_imageviewer.ImageViewerの生成オプションを弄らなくても
configure_ImageViewerでwindow.main_window = 0ってしてやれば独立ウィンドウになるみたい。
TextViewerのほうも同様。

306 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/23(火) 12:14:58 ID:YzErY0jk0]
↑勘違いだったorz

307 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/23(火) 20:24:09 ID:YzErY0jk0]
MainWindow.image_file_ext_listに".psd"もあるから一応psdに対応したつもりなんだろうけど、
exeの中にはPsdImagePlugin.pyoが入ってないからデコードに失敗する。

PILのPsdImagePlugin.pyをextensionフォルダに入れてやれば再起動後に表示できるようになる。

308 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/24(水) 01:55:05 ID:DnA9AUe+0]
sites.google.com/site/craftware/cfiler
1.60 - 2008/09/24
- Grep / Search / Compare などで作られたファイルリストのディレクトリ名部分には、それぞれ [grep] [search] [compare] というプレフィックスを付けるようにした。
- Subversion フィルタの修正。grep 結果など、アイテムの名前にディレクトリ名が含まれる場合に、Subversionフィルタで除外されてしまっていた。
- アップデート後の再起動で、前回の起動時の状態で起動してしまうのを修正。前回の終了時の状態で起動するようにした。
- ウインドウを最大化した状態で終了させた後、次回起動時のウインドウサイズを通常のサイズになるようにした。
- ウインドウを最小化した状態で終了させたとき、次回起動時にウインドウが見えなくなっていたのを修正。
- ウインドウを最大化したときに、ウインドウの右端と下端の隙間が、左端と上端に比べて太ってしまうのを修正。上下と左右を均等に太らせるようにした。
- APIリファレンスのために、ソースコードにdoxygen用のコメントを埋め込んだ。

309 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/24(水) 20:34:26 ID:DnA9AUe+0]
www-2ch.net:8080/up/download/1222251295712076.Y78r1V

Susie plug-inを使って画像読み込みを行うpythonスクリプトを書いてみた。
これを使ってPILのImagePluginを書いてやれば画像の対応形式が増やせると思う。

310 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/25(木) 12:51:26 ID:cI5T2eAK0]
ctermcore.cppのWindow::_createFont()でクラッシュするんだが……
典型的な1個外れのエラーっぽい

----------------------------------------
- int * char_width_table = (int*)malloc(0xffff*sizeof(int));
+ int * char_width_table = (int*)malloc(0x10000*sizeof(int));
GetCharWidth32( hDC, 0, 0xffff, char_width_table );
  :


311 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/25(木) 13:03:17 ID:cI5T2eAK0]
ああそれと、ctermcore.cppでvfw.hを#includeするまえにwindows.hを
インクルードしてほしい
#include <algorithm>も必要
これらを直さないと、標準環境であるVC++7.1でビルドできない

312 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/26(金) 01:17:11 ID:zHh06K3s0]
1.61 - 2008/09/26
- フォントの初期化処理で、メモリが破壊されて、場合によっては落ちてしまうのを修正。
- API リファレンスのためのコメントを拡充した。

>>310 の修正みたいですね。

313 名前:309 mailto:sage [2008/09/27(土) 23:32:46 ID:bj+5ZIrZ0]
www-2ch.net:8080/up/download/1222525720143596.WPeT6K

Susie Plug-inを使って内骨格の対応画像形式を増やすスクリプトです。
*.pyはextensionフォルダにおいて、
SusieImagePlugin.pyのspi_base_pathをSusie Plug-inの置いてあるフォルダに設定して下さい。
サンプルとしてifjp2.spiとifdds.spiを使って.jp2, .j2k, .ddsを開けるようにしてあります。

314 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/28(日) 18:06:24 ID:Wl8gAL+M0]
SusieプラグインはSPI処理するpyd作って
imageviewerのソース勝手に弄って使ってる。

Pythonから直でDLLやC互換の構造体使えるのは知らなかったんで
>313
のソースは勉強になりました。



315 名前:313 mailto:sage [2008/09/28(日) 19:30:29 ID:2AcXB2o90]
ちなみに、パレットとかの扱いがわからなかったので、
インデックスカラーとかグレースケール画像には対応してません。
16, 24, 32bitカラーのものに対応してます。

>>314
作ってるんだったら公開してくれ。w

316 名前:314 mailto:sage [2008/09/29(月) 06:40:16 ID:ErwyCzJq0]
>315
真似してアップしてみましたよ。
ttp://www-2ch.net:8080/up/download/1222637354290437.wQxs9Z

PythonもDLLも素人なので、多分、凄く行儀悪いことしてる。
どうしても使いたい人向け。
本体バージョンアップでちょくちょく動かなくなるし。
本家で対応してくれるといいんだけどなぁ…。


ついでに個人的に欲しくて作ったカレンダー表示も
ttp://www-2ch.net:8080/up/download/1222637846199678.YyVbkQ

つか、内骨格絡みのこういうものって公開していいのかな?


317 名前:314 mailto:sage [2008/09/29(月) 06:53:43 ID:ErwyCzJq0]
カレンダー、見直してみたらバグあったんで更新しました
ttp://www-2ch.net:8080/up/download/1222638766450346.6geaAo


318 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/29(月) 22:21:00 ID:vSB10hZT0]
sites.google.com/site/craftware/cfiler
1.62 - 2008/09/29
- ファイルのコピー処理の後、GREPやSearchのときに、プログレスバーが出なくなってしまうことがあるのを修正。
- ファイルパスのディレクトリ区切り文字に / を設定している場合でも、 \ が使われてしまう箇所があったのを、いくつか修正。

319 名前:315 mailto:sage [2008/09/30(火) 02:08:06 ID:86k80yJd0]
www-2ch.net:8080/up/download/1222708020679847.ML3AnN

Susie.pyを8bitインデックスカラーに対応させました。

320 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/03(金) 22:51:32 ID:/YtHbvJ10]
内骨格で開いてるフォルダの中身をエクスプローラで弄っても更新されないし、
両方に同じフォルダ開いて新規フォルダを作っても逆側には作ったフォルダが表示されない。
内骨格って定期的に読み込み直すとかしないの?

321 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/04(土) 18:23:54 ID:7PYB1yIE0]
DirectShow版のミュージックプレイヤー書いてみた
codepad.org/texvdWLA
DirectShowなんで、DirectShow用のコーデック入れれば
何でも再生できると思う

config.pyのconfigure()の中で
window.musicplayer = MyMusicPlayer(window)
とかやるとこっちが使われる
再生したい拡張子は、同じくconfigure()の中で
MainWindow.music_file_ext_list = (
'.wav', '.mid', '.mp3', '.ogg', '.m4a')
とか(お好みで)設定するとよさげ

超怪しいんで、使う場合は自己責任でおながい

322 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/04(土) 22:23:47 ID:mMfr20YF0]
WMPでは再生できるのにDirectShowでは再生できないmp3ファイルがあるなぁ。
GraphEditで開いてみたら適切なフィルタが見つからないって事みたいだけど、なんでだろう?
mp3ファイルが全部駄目ってんならわからないでもないけど、再生できる物もあるんだよね。

323 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/04(土) 22:53:36 ID:7PYB1yIE0]
>>322
それはちょっとわからんね
俺の環境でDirectShow Filter Toolで見てみると
MPEG-1 Audio Decoderではffdshow Audio Decoderが一番優先度高くなってるけど

324 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/04(土) 23:15:55 ID:mMfr20YF0]
デコーダは同じくffdshowのが優先度が高くなってる。
問題はスプリッタの方みたい。といってもMPEG-1 Splitterには標準のMPEG-I Stream Splitterしかないわけだが。

GraphEditで再生できるmp3とできないのを両方ともFile Source(Async)でフィルタ追加して、
MPEG-I Stream Splitterと接続してみると、再生できる奴はきちんと繋がるんだけど、
駄目な方はこの時点で繋がらない。

mp3ファイルの構造に何か特徴があるのかもしれんけど、良く解らん。

まぁ、外部プレイヤーで再生すれば良いだけだから特に困るわけではないけど。



325 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/05(日) 05:07:24 ID:Q0OflG6W0]
どうもID3タグが原因っぽい。
ID3 v2.4形式だとほぼ全滅。v2.2はOKっぽいけど駄目な物もある。

本来スプリッターが解釈できない形式だけど、
うまい具合にスルーされるようなデータの並びだった場合は再生されるってことなのかも。

326 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/05(日) 10:05:21 ID:GSTzhBdS0]
ttp://homepage3.nifty.com/k-takata/diary/2006-03.html
にちょうどそれっぽいことが書いてあるね


327 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/05(日) 10:45:45 ID:Q0OflG6W0]
DirectShow ID3v2でぐぐると>>326 の他にも色々出てきますね。
適当なスプリッタを入れてDirectShow Filter Toolで優先度を弄ればよいって事なんでしょうけど、
外部プレイヤーで再生するほうが面倒が無くて良いですね。

328 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/06(月) 16:33:11 ID:qfvTS808O]
軽 く し て く れ

329 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/06(月) 17:29:01 ID:5hyJ9n8f0]
どの辺が重いと感じてる?

330 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/09(木) 12:33:50 ID:LiwvLTFBO]
メモリ消費量の話だよ
ノートに2GBしか積んでないから約20MBも消費してもらったら困るのだよ(・ω・`)o
エクスプローラが30MB消費してて嫌っているのに内骨格まで,,,

331 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/09(木) 12:57:44 ID:IhayzhVc0]
>>330
2GB積んでて20MB程度の消費を気にするって、どんな使い方してんの?

ウチは2.5GB積んでるけど、Web、FTP、SMTP、RDBMS2種、各種チャット鯖等動かしていて、
さらにチャットツール10プロセスくらい、セキュリティ系数種、ランチャー等ユーティリティをいくつか常駐してても
メモリ消費が1GB超える事は滅多に無いんだが。

フォトショップとかメモリ喰いまくるツールを常用してるって事か?


332 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/10(金) 16:59:50 ID:colJBaxJ0]
cfiler_main.pyを弄らないとどうにもならないような変更をしたい場合は
ソースを弄ってpy2exeでビルドしないといけないけどビルド環境を整えるのが面倒。

py2exeはメインスクリプトだけをexeに入れてあとはzipファイルに入れることができて、
cfiler.exeはzipファイルとしても読み込めるようなので、
extension/cfiler_main.py(のmain関数)を呼び出すような構成のexeファイルを作ってみた。

www-2ch.net:8080/up/download/1223624618976031.QBXxNZ

cfilerx.exeとextensionフォルダを内骨格のフォルダにコピーしてcfiler.exeの代わりに
cfilerx.exeを実行すればOK。
cfiler.exe内蔵のモジュールよりもextensionフォルダのが優先してインポートされるので
cfiler_*.pyの改造には便利だと思います。

333 名前:330 mailto:sage [2008/10/12(日) 02:59:29 ID:jgl5K68fO]
>331
Adobe CreativeSuite CS3, Visual Stadio 2005 Professional,同2008 Professional,
Office2003 Professional,同2007 Professional
だいたい重そうなのはこれら
入れすぎたせいかOS起動時間が17秒→35秒と倍以上になった
メモリ使用率は起動直後使用0.64GB 空き1.22GBとなってるけど
上記5つ起動すると使用1.79GB空き0.09GBとなる
90MBしかないメモリーで20MB使われたらたまらん

334 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/12(日) 04:00:51 ID:T1PyJGmZ0]
ヤツあたりだなそりゃ
全然内骨格のせいじゃないじゃん
だいたい90MBも70MBも大して変んねえだろ
PCの使い方が間違ってる



335 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/12(日) 08:40:08 ID:vZGKmrF00]
90MBでAdobe CreativeSuiteとかVisualStudioとかアホかw

336 名前:335 mailto:sage [2008/10/12(日) 08:45:11 ID:vZGKmrF00]
よく読んでなかったすまん






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<131KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef