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で拡張が可能 >・テキストビューアを内蔵 >・イメージビューアを内蔵 >・ミュージックプレイヤを内蔵
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] よく読んでなかったすまん
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/12(日) 09:39:53 ID:AfXBasM10] >>333 他のファイラに比べて、あからさまにメモリ喰うとかだったらまだしも、 この場合、どう考えても、金出して買った商品のほうに依頼だすべきだろ。 しかも、挙げたツールを全部一度に起動して常用するなんて事がありえない。 作者さんも、こんなレス見たら不愉快になるわ。
338 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/12(日) 10:44:32 ID:ooNpteYb0] >>333 ニーズにあってないなら、他のファイラー使いなよ。 もっと使用量少ないファイラーなんていくらでもあるんだからさ。
339 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/12(日) 11:18:16 ID:qm9ryLJ40] >>333 それらを「同時に」使わなければならない理由が俺には全く分からないのだが 何でバージョン違いのVSやOfficeを同時に起動しておく必要があるんだよ VS入れてるってことは開発すんのか? 開発者とは思えないほどアホだな
340 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/12(日) 13:18:40 ID:arT3h50T0] まあまあ皆さん落ち着いて 内骨格がいろんな考え方の人に使われるようになって来ているということですよ ユーザーが増えることが最も重要
341 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/12(日) 16:10:45 ID:kxl9R+uq0] sites.google.com/site/craftware/cfiler 1.64 - 2008/10/12 - 履歴ジャンプウインドウ、ブックマーク選択ウインドウ、音楽プレイリストウインドウで、インクリメンタルサーチを使えるようにした。 - ソート方法を選択するとき、Shiftを押しながら決定すると、降順になるようにした。 - UNC形式パスの共有名部分 ( \\servername\share\dirname の share の部分 ) を補完する処理を追加。 - リストウインドウをカスタマイズ出来るようにするため、config.py の configure_ListWindow() を呼び出すようにした。 - MainWindow.editor に 呼び出し可能オブジェクトを設定しているとき、設定メニューから [ config.py を編集 ] がエラーになっていたのを修正。 - cfiler.exe に バージョン情報を埋め込むようにした。 - 画像ビューアで .psd と .tga がデコードできていなかったのを修正。 - cfiler.ini ファイルの読み書きが、プロセス間で同時に起こってしまう可能性があったのを修正。 - 各種リストウインドウの最大サイズが、メインウインドウより少し小さくなるように調整。 - インクリメンタルサーチの背景のグラデーション模様の上端が目立つように少し調整
342 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/12(日) 17:18:30 ID:WZpBsai60] >>337 のIDがあふ
343 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/12(日) 17:38:26 ID:AfXBasM10] 勝った!(何が? あふスレに自慢しにいこー
344 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/13(月) 12:06:15 ID:PV3dD2kL0] 1 .66 - 2008/10/13 - 1.65でiniファイルをutf8にした影響で、フォントがカスタマイズされなくなってしまっていたのを修正。 - 拡張子に非ASCII文字が含まれているときは、分離表示しない。 1 .65 - 2008/10/13 - 音楽再生中、ステータスバーの右端に、再生位置を表示するようにした。 - Musicプレイヤウインドウの Ctrl + ←/→ で、再生位置をシークするようにした。 - 音楽プレイヤの最後の状態(プレイリストと再生位置)を記憶し、再起動後に復活させるようにした。 - 比較選択ツールに、もう片方のペインで選択されているアイテムを選択する機能を追加 - テキスト差分ウインドウに、ステータスバーを追加 - テキスト差分ウインドウをカスタマイズ出来るようにするため、config.py の configure_DiffViewer() を呼び出すようにした。 - 指定したパスにジャンプする関数を追加。 MainWindow.leftJump() MainWindow.rightJump() MainWindow.activeJump() MainWindow.inactiveJump() - いくつかの処理の間のプログレスバーを、2段表示にした。 - 1.64 の変更で、初めての起動で ini ファイルが存在しないときに、起動できなくなっていた問題を修正。 - ini ファイルの文字エンコーディングを S-JIS から utf8 に変更。UNICODEでしか表現できない文字を含むパスが、履歴やブックマークに残らない問題あったのを修正。
345 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/13(月) 17:10:07 ID:N3vcwcWF0] 乙 俺しか使ってねーと思うけどDirectShowメディアプレイヤーを1.65仕様に追従した codepad.org/7R9idMQS 使う場合はconfigure()ん中で cfiler_musicplayer.MusicPlayer = DSMusicPlayer とかやって、クラス自体を置き換えるしかなさげ
346 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/14(火) 08:35:41 ID:6TPlJGxm0] 1.67 - 2008/10/14 - UNC形式のパスで、必要に応じてネットワーク接続のユーザー名とパスワードの入力ダイアログを表示するようにした。 - 比較選択ツールのウインドウは、先頭文字の入力で即時決定するようにした。 - ディレクトリ比較ツールのウインドウは、先頭文字の入力で即時決定するようにした。 - ディレクトリ比較で、アクセスできないファイルなどがあったときに、露骨なエラーが表示されてしまうのを修正。
347 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/14(火) 19:15:44 ID:6TPlJGxm0] >>345 クラスの置き換えだったらSongMCIをSongDirectShowで置き換えても良いんじゃない?
348 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/14(火) 19:30:17 ID:D2nUNt7X0] >>347 ああ、確かにそうだなあ そっちのが手っ取りはやいね
349 名前: ◆Nana...Z5Q mailto:sage [2008/10/14(火) 22:10:26 ID:ktagsRpR0] >>1 からこのスレ見てきたら成長具合がすさまじくて正直惚れた・・・/// ちょっとあふから浮気しちゃいそうな・・・・あぁっ!!ダメっ!!わたしったら・・・
350 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/15(水) 08:21:15 ID:613Z9rbF0] あふに比べると画面のチラツキが少ないところがいいね
351 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/15(水) 12:22:08 ID:Hp9xrBxM0] ジャンプリストで頭文字がUのフォルダを登録すると呼び出した時にリストが空白になってしまう。 例) D:\User E:\U E:\hogehoge\U これってどうすれば登録出来るかなぁ?
352 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/15(水) 14:34:12 ID:W3pIaVcF0] \を、\\か/にしないといけない
353 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/15(水) 15:11:06 ID:AL+84oe40] もしくはrを頭に付ける。 r"D:\User" 全角文字がある場合はur。 ur"E:\ドキュメント"
354 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/15(水) 16:05:40 ID:7ayP46Wr0] sites.google.com/site/craftware/cfiler 1.68 - 2008/10/15 - デフォルト設定ファイルのコマンドラインの設定に "SelectEmpty" コマンドを追加。このコマンドを実行すると、アクティブなペインのディレクトリのうち、空のものを選択する。 - UNC形式のパスをつかったコピーや移動処理のあとの再読み込みで、操作不能になっていたのを修正 - ディレクトリ区切り文字をスラッシュに設定していると、UNC形式のファイルに対して Ctrl-Enter を使うことが出来なかったのを修正。
355 名前:351 mailto:sage [2008/10/15(水) 16:48:31 ID:Hp9xrBxM0] >>352 うまくいった!ありがとう。 >>353 うまくいかなかった!でもありがとう。
356 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/29(水) 16:43:40 ID:CXNA6QvP0] なんか過疎ってる? とりあえずイメージビューワでデフォルトのfitモードでも 画面サイズより小さい画像は拡大しないようにするコード (config.pyに記述) def configure_ImageViewer(window): original_reset = window.reset def reset(): if window.zoom_policy == "fit": img_size = window.img.getSize() client_rect = window.getClientRect() offset_x, offset_y = window.charToClient(0, 0) char_w, char_h = window.getCharSize() area_size = (client_rect[2] - client_rect[0], (window.height()-1)*char_h + offset_y) if img_size[0] < area_size[0] \ and img_size[1] < area_size[1]: window._zoom = 1.0 window.fit = False window.pos = [0,0] else: original_reset() window.reset = reset zoom_policy=originalでもちょっと使ってみたが、 スクロールがかなりガタガタ言って、ぶっちゃけ遅くて使い物にならんな スクロールするだけでpane一から作り直し&全再描画は、さすがに重いんだと思う
357 名前:356 mailto:sage [2008/10/29(水) 16:46:37 ID:CXNA6QvP0] ごめん インデント多分ガタガタになってるよな おまけにちょっとミス original_reset = window.reset def reset(): if window.zoom_policy == "fit": img_size = window.img.getSize() client_rect = window.getClientRect() offset_x, offset_y = window.charToClient(0, 0) char_w, char_h = window.getCharSize() area_size = (client_rect[2] - client_rect[0], (window.height()-1)*char_h + offset_y) if img_size[0] < area_size[0] \ and img_size[1] < area_size[1]: window._zoom = 1.0 window.fit = False window.pos = [0,0] return original_reset() window.reset = reset
358 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/01(土) 15:57:53 ID:QFBYvYmL0] ためしに画像ビューワ作ってみた ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7908.zip 通常は画像サイズにウィンドウをあわせて等倍表示 フルスクリーン表示、スライドショウあり 内骨格内臓のやつよりはスクロール軽いけどズームとかはない
359 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/02(日) 18:31:04 ID:FXLtnyE/0] 内骨格のリスト上のディレクトリでエディタ(や他のアプリ)をshift-xで実行して内骨格に戻ったとき、 リストを自動でリフレッシュしてくれるって機能は難しいのかな 新しくできたファイルがリストに載らないからいっぺん上のディレクトリに上がって、戻るって手順を踏んでるんだけど、 いまいちだなと思ってる
360 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/02(日) 20:15:43 ID:8K6SiT4d0] >>359 完全に自動でやりたければディレクトリ監視が必要だが、手動でいいんなら config.pyの中で window.keymap[VK_F5] = window.command_Refresh とかやればいいよ これだと(explorer風に)F5でリフレッシュするようになるが、 割り当てるキーはお好みで
361 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/02(日) 22:03:12 ID:lbqTvNF20] どうもありがとう とりあえず手動でしのごう 内骨格のwindowにフォーカスが戻ったときのイベントでリフレッシュしてくれればいいんだと思うんだけど、config.pyじゃできないよねこれ そういえばhotokey設定して内骨格呼び出したとき、全画面表示してたのがウィンドウ表示になってしまうってのも困って(ってほどじゃないけど)る 800*600くらいで全画面表示だととすごく使いやすいんだよなー内骨格
362 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/02(日) 22:27:32 ID:8K6SiT4d0] >>361 多分cfiler_mainwindow.pyのMainWindow._onActivate()を書き換えるしかねえかな config.pyのconfigure()が呼ばれる時点で _onActivate()はcterm側にコールバックとして渡されてしまっているので configure()の中で_onActivate()を再定義しても手遅れなんだよな まあ配布物の中身を書き換えるってのもなるべくしたくないだろうし、 もっといい手があるかもしれんがな
363 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/02(日) 23:22:12 ID:Hftvj5k70] config.pyのconfigure()の中にこんな感じのを書いて 一定時間ごとにファイルリスト更新させるというのはどうだろう。 def command_RefreshBoth(self): self.refreshFileList( self.activePane(), True, False ) self.refreshFileList( self.inactivePane(), True, False ) self.paint(PAINT_ALL) window.setTimer(command_RefreshBoth, 1000) # 1000ms ごとに第1引数を実行
364 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/03(月) 00:05:53 ID:mVyLBJ2y0] 超絶に怪しいが俺も書いてみた こっちはディレクトリ監視をマジでやる codepad.org/83WhqC7o config.pyのconfigure()の中に書いてみてくれ
365 名前:364 mailto:sage [2008/11/03(月) 00:21:01 ID:mVyLBJ2y0] 書いたけどこれはやっぱりダメだな、使わないでくれ 裏スレッドから無理やりリフレッシュさせてるんで、 場合によってはあっさりクラッシュしたりするようだ 表にメッセージをPOSTして再描画させられればいいんだが、ウィンドウプロシジャを 自由に弄れないから仕方が無いな
366 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/03(月) 00:30:00 ID:Pz1Fd6H80] >>363 うーんそれはちょっと好みと外れる... たしかAPIにディレクトリの変更通知があったよな、と思ったら >>364 すご と思ったけどこれ内骨格本体モロとも落ちてしまうw 最初一回ちゃんと動いた おおと思ってもう一回やってみたら内骨格固まった 再起動したら新ファイルできる度に落ちるような
367 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/03(月) 00:31:35 ID:Pz1Fd6H80] >>365 了解です
368 名前:364 mailto:sage [2008/11/03(月) 12:54:34 ID:mVyLBJ2y0] 昨日のコードだけど、内骨格が落ちてしまう原因は(何となくだが)分かった MainWindow.subThreadCall()が再入不可で、別スレッドから並列で呼ばれると、 subThreadCall()内部で待ちに使っているメッセージループを終わらせるための window.quit()で本当に終了してしまうようだ cfiler_threadutilのJobQueueを使って、もう少し穏当に再描画させるコードを 書いた。これで上の問題は起きなくなるはず それと、内骨格が実際に終了するときのフックがうまく取れない(window.quit()は 上記のように、subThreadCall()の中でも呼ばれる)ようなので、 1秒タイムアウトで監視して、IsWindow()でウィンドウが有効かチェックするようにした ttp://codepad.org/t80s7vnv
369 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/03(月) 14:47:34 ID:CBP0T9O30] >>368 window.command_Refresh()だとカーソルのあるほうしか更新されないから 両方とも同じフォルダを表示しておいて外部プログラムでそのフォルダにファイルを作っても 片側しか更新されない。
370 名前:369 mailto:sage [2008/11/03(月) 15:15:18 ID:CBP0T9O30] 適当に修正してみた。 codepad.org/zYFNP249 rebind_setListerにはpaneを渡すようにして、DirectoryWatchThreadの初期化ではpaneとlisterを渡すようにした。
371 名前:364 mailto:sage [2008/11/03(月) 15:16:44 ID:mVyLBJ2y0] >>369-370 おお、修正サンクス
372 名前:364 mailto:sage [2008/11/04(火) 19:39:16 ID:y4scTvX50] 使ってみていたが、ファイルリネーム後にキーを受け付けなくなったりするな。 やはりsubThreadCall()がネックのようだ。 キーイベントはsubThreadCall()内でハンドラを摩り替えているが、 タイマは動いたままなので、UIスレッドからでもタイマ経由で subThreadCall()実行中にsubThreadCall()に再入する可能性があり、 その場合は余裕で問題が発生する。 とりあえずsubThreadCall()前後でonTimerJob()とonTimerSyncCall()が走らないように 摩り替えるようにしてみた。 codepad.org/t2j940nG 今回のはextensionに入れることを念頭に書いた。 foo.pyとかいう名前で保存してextensionに入れた場合は、 configure()の中で、 import hoge foo.start_directory_watch(window) とかやればおk。
373 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/04(火) 19:41:12 ID:zSoA+Q1n0] import hogeじゃ駄目だろw import fooだな。
374 名前:364 mailto:sage [2008/11/04(火) 19:44:01 ID:y4scTvX50] >>373 ><
375 名前:364 mailto:sage [2008/11/05(水) 00:00:56 ID:y4scTvX50] ウザくてすまん あげなおし codepad.org/Df2LOmLF WaitForMultipleObjectsの最後の引数を1から500に変えた 1ミリ秒タイムアウトは無いわ……デフォの分解能だと10ミリは寝るだろうから CPU負荷全然かかってなくて気づかんかった
376 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/06(木) 13:58:52 ID:52AN3cia0] keyhac (craftware) sites.google.com/site/craftware/keyhac
377 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/09(日) 23:21:26 ID:/V4H/JXd0] 手抜きPythonコンソール作ってみた codepad.org/rsdkWANY 補完とか自動インデントとかカッコイイ機能はない 新たにPythonインタプリタを立ち上げるわけではないので 起動だけは爆速、ただし簡単に内骨格を道連れにできるので危険 >>358 のzipの中にあるvensterと、 www.scintilla.org/ で配布してるScintilla(のSciLexer.dll)に依存してるんで まとめてextensionの中に放り込んでもらえればおk console.pyとかいう名前で保存したら config.pyに↓のような感じで def command_Console(): import console con = console.ConsoleWindow() con.start_interp({'window': window, 'console': con}) window.keymap[VK_F3] = command_Console start_interp()の引数は無くてもいいけど、 こんな感じでwindowインスタンスを与えてやると コンソールから内骨格のwindowインスタンスが可視になる
378 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/10(月) 00:37:07 ID:5kaSuGXo0] なんかよさそうな拡張だねえ これipython組み込める?
379 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/10(月) 01:45:23 ID:ryZKA2JN0] >>378 すまんが、かなり弄らんと無理だと思う ipythonは端末とコネクトされている&readline前提のはずだし
380 名前:377 mailto:sage [2008/11/10(月) 16:12:32 ID:ryZKA2JN0] ちょっと直した codepad.org/1FMoSxfh ・コピペで複数行一度に入力した場合にまともに動いてなかったんで直した ・↑↓でヒストリを行き来できるようにした なんつうかEmacs風キーバインドに慣れてる人はごめんなさいなんだが ScintillaのキーバインドはデフォでWin風なので カーソルキー、Home、Endなどを使うかコードを書き換えてください
381 名前:364 mailto:sage [2008/11/11(火) 20:40:38 ID:Mg6hT/QX0] ディレクトリ監視用のソースをちょっと直した 監視スレッドがちゃんと解放されないという凶悪なバグだった 途中の版でエンバグしてたらしい それと、キューを左右のペイン両方に持つようにした codepad.org/ugsU82p6
382 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/13(木) 20:28:18 ID:AaHgjMpF0] 作者さん別のもの作りだしちゃった? 倉EXと同様に内骨格も放置されちゃうのかな?
383 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/13(木) 21:27:44 ID:qnH+rrmF0] >>382 どうだろな 誰も使ってないだろうけど >>358 の画像ビューワをGIFアニメ対応にした ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8024.zip
384 名前:383 mailto:sage [2008/11/13(木) 22:45:47 ID:qnH+rrmF0] すまん、あげなおし ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8027.zip
385 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/16(日) 01:03:44 ID:2HVCJRp60] sites.google.com/site/craftware/cfiler 1.72 - 2008/11/15 - ファイルリストを自動的にリロードする処理を追加 - デフォルト設定ファイルに、左右のペインから重複ファイルを探すコマンド CheckDuplicate を追加。 - デフォルト設定ファイルに含まれている SelectEmpty コマンドを CheckEmpty コマンドに変更。 (バックグラウンドで処理している関係で、アイテムを選択することができない場合があるので、ログに出力するだけにした。) - 左右のペインに含まれる全てのアイテムを返す関数を追加。 MainWindow.leftItems() MainWindow.rightItems() MainWindow.activeItems() MainWindow.inactiveItems() - 一括変名機能で正規表現のパターンの記述が間違っていたときに、エラーが発生して操作不能になってしまうのを修正。 - ウインドウのクラス名を、CtermWindowClass から CfilerWindowClassに変更。 - iniファイル中のバージョン番号が更新されていなかったのを修正。 - ディレクトリの変更のためにサブスレッド中でアイテムリストを作成している間に、ほかのスレッドがアイテムリストにアクセスしてエラーになる場合が稀にあったのを修正。
386 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/16(日) 01:49:28 ID:/4TVgKTE0] おお、作者さんがディレクトリ監視機能作ってくれたのか これで俺の怪しいコードは安心して削除できるな
387 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/16(日) 01:52:01 ID:2HVCJRp60] cfiler_nativeに監視用の機能が追加されてるみたいです。
388 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/16(日) 02:16:28 ID:MqCfj//Y0] >>386 短い間だったけどつかってたよー サンキュー 作者さんもサンキュー
389 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/16(日) 12:18:01 ID:/4TVgKTE0] 新バージョン1.72での現象(>>364 の拡張は外してある) 内骨格で表示してるディレクトリを他のプログラムからまるっと削除したら [Error 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です。 [Error 5] アクセスが拒否されました。 とコンソールペインに表示されて、その後キー、マウス入力を受け付けなくなった。 完全にフリーズしているわけではなくて、最小化はできるし再描画もされる。 どーも>>372 と同じ現象っぽい。
390 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/16(日) 17:41:16 ID:2HVCJRp60] 1.73 - 2008/11/16 - ログペインのテキストを、マウスで選択してクリップボードにコピーできるようにした。 (選択するだけで、自動的にクリップボードにコピーされます。) - ログペインをマウスのホイールでスクロールできるようにした。 - Ctrl + Alt + ↑↓←→ で、すばやくセパレータを移動するようにした。 - 1.72で入れた自動リロードが原因で、操作不能になってしまうことがあったのを修正。 - 大きなサイズのバイナリファイル比較のときに、メモリ不足で失敗しないようにした。 - tgzファイルを作成するとき、日本語文字が含まれているパスに作成できなかったのを修正。
391 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/16(日) 20:16:49 ID:/4TVgKTE0] 相変わらず作者さん対応速いなあ
392 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/17(月) 01:20:17 ID:KGEhMk9D0] まだ怪しい感じだな。 最小化して放置してたら、いつの間にか固まって復帰しなくなってた。 以下は作者さん宛だが。 やはりsubThreadCall()の問題だと思いますよ。 1. 現在のマウス、キーフックをセーブし、書き換える(ESCしか効かなくなる) 2. ワーカースレッドを起動し、メッセージループを回す 3. ワーカースレッドが終了すると、window.quit()を呼び、メッセージループを止める 4. 1.でバックアップを取ったマウス、キーフックに戻す といった流れですが、タイマーを止めていないので、2.のメッセージループを 回して待っている間にファイル変更が発生すると、2.の間にsubThreadCall()が 再び呼ばれてしまう。 この二番目のsubThreadCall()の流れでは、 Step1.で、無効になっているキーフックやマウスフラグを「保存」してしまう。 一番目のsubThreadCall()の後に二番目のが終了すると、4.では、 無効になっているものに「戻す」ことになってしまうわけだ。
393 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/18(火) 00:07:39 ID:bSvAqLtE0] 修正来た。 1 .74 - 2008/11/18 - MainWindow.subThreadCall() のサブスレッドの中で、MainWindow.quit() を使っていたのを修正。 subThreadCall() をネストして呼び出すケースで、外側のループを抜けるつもりの quit() が、内側のループを抜けるつもりの quit() よりも先に呼ばれてしまって、(さらにSyncCallなどの合わせ技により)、メインスレッドがデッドロックしてしまう危険があった。
394 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/23(日) 15:51:55 ID:tlLQO17i0] Scintillaを使ってシンタクスハイライトつきの手抜きテキストビューワ作ってみた >>383 の画像ビューワにもちょっと手を入れたので、同梱してある ttp://iroiro.zapto.org/cmn/jb2/data2/jb5313.zip
395 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/24(月) 00:43:08 ID:4c47A63Z0] sites.google.com/site/craftware/cfiler 1.75 - 2008/11/23 - ドライブ選択で存在しないディレクトリに移動しようとしたときに、ディレクトリ監視スレッドを作れずに、エラーになってしまうのを修正。 - ローカルなブックマークリストで、ブックマークの削除が出来なかったのを修正。 - ブックマークリストからのブックマーク削除で、即座にファイルリストの表示に反映するようにした。
396 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/24(月) 13:27:13 ID:vAoOotoJ0] 394のテキストビューアとか 本家に取り込んでもらうには どうしたらいいんだろう?
397 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/24(月) 15:36:12 ID:ttm4loU80] >>396 いや取り込んで貰っても全然構わないというか、有難い話なんだが ・2004年以降止まったプロジェクトであるvensterに対する俺俺パッチに依存 ・Scintillaに対する俺俺パッチに依存 ・extensionであることをいいことに、カスタマイズ機能なし(スクリプトの中 直接弄ってねの世界) という怪しい代物なので、どうなのか 正式配布物に含めるんなら、色々作者さん手直しいると思うわ
398 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/25(火) 22:05:31 ID:GjwnUsph0] ムービープレイヤーを作ってみた それと、数が増えてきたんで物置きページを作って 今まで作った拡張をまとめて上げといた ttp://www9.atpages.jp/untitled/index.html
399 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/30(日) 12:48:18 ID:xYhBVKRV0] 連携用の拡張を作ってみた ttp://www9.atpages.jp/untitled/pipeserver.html 他のプログラムから内骨格を操作できます
400 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/15(月) 18:41:31 ID:1tOm7dI/0] 作者さんには是非取り込んで貰いたいなー 拡張が細かく大量に増えてしまったり現時点で派生版が出来てしまったりするとちょっとね・・・
401 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/15(月) 19:21:43 ID:KqxG3NOk0] >>399 これ使うとあふみたく倉から使えるようになるの?
402 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/15(月) 22:41:04 ID:XU2/Yk5l0] >>401 うん。 もう見てないと思うけど、>>322 あたりで問題になっていた DirectShowでのID3v2タグつきMP3への対応をしてみた。 標準でデフォで使われるFile Source + MPEG-I Stream Splitterの かわりに、WM ASF Readerを使うと、どうやらID3タグへの対応がマシに なるようなので。 ttp://www9.atpages.jp/untitled/songdirectshow.html
403 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/17(水) 08:47:06 ID:WFUUFPrj0] 拡張ってアップデート毎にconfig.pyを修正していくのでしょうか? 簡単なものでいいからconfig.py configure末尾辺りに ユーザ設定呼び出しのSTUBが欲しいです。 try: import user_config except ImportError: pass else: user_config.congigure(window)
404 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/17(水) 12:53:25 ID:W0R4wBlJ0] >>403 ちょっち意味わからん。 俺は内骨格がバージョンアップしても、 config.pyをいちいち入れ替えずに同じものを使い続けてるよ。
405 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/17(水) 17:49:53 ID:WFUUFPrj0] >>404 readme.txtに記述見つけました。 バージョンアップでconfig.pyが更新(上書き)される事があるのだったら、 ユーザ設定とわけた方がいいのではないかなと思ったのだけど、 初回起動時にのみconfig.pyが作られるようなので、杞憂だったみたいです。 よく見ると組み込みの設定はEXE内で、 config.py自体がユーザ設定ファイルだったんですね。
406 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/17(水) 18:19:15 ID:WFUUFPrj0] あれ、でも _config.py が更新されているような気がする。 diff 取ってみると config.py に変更した覚えのないコードが _config.py にありました。
407 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/17(水) 19:43:42 ID:mToSUAzl0] そりゃ_config.pyは何回か更新されてるし。
408 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/17(水) 21:56:47 ID:WFUUFPrj0] >>407 ということは、_config.py の更新をconfig.pyへ反映するのはユーザの手作業?
409 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/17(水) 22:21:14 ID:W0R4wBlJ0] >>408 差分を反映する必要は全く無いよ config.pyはあくまでユーザのカスタマイズ用のスクリプトで、 _config.pyはただのサンプルでしかないんだから
410 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/18(木) 07:22:11 ID:TnabzMpo0] >_config.pyはただのサンプル config.py/_config.pyのファイルの運用のされ方について もし、config.pyが標準で何もしないのならそれでもいいのだけど、 _config.py に機能追加の更新があり、尚且つそれが初回起動時のconfig.pyになるようなので 自動更新と、後のバージョンからインストールした場合で デフォルトのconfig.pyの状態が変わってしまわないか、という懸念があります。 自動更新した人は、_config.pyの追加設定を手作業でconfig.pyに反映しないといけないのに対して、 後のバージョンからインストールした人は、標準で機能追加後の状態から開始することになります。 config.pyはユーザ・カスタマイズ設定なので、環境によって違うのは勿論当然ですが、 それでもデフォルトの、ユーザが設定を弄っていない状態での差異が出るのは、 同じバージョンなのに、標準で あれが出来た・出来ないという状態が出来るので、 ソフトを保守していく上では好ましくないんじゃないかなと思います。 インストール時のバージョン/現在のバージョンで機能/動作が異なる可能性が出てくるため バグ報告等にはインストール時のバージョンと現在のバージョンが必要になる。-> メンテナンス・コスト増に繋がります。 ↑はワースト・ケースのシナリオなので、実際には…少なくとも現時点では、それ程影響はありませんが、 運用で簡単にカバーできる事なので、検討をお願いしたいです。 具体的な対策としては、ユーザ設定とアプリの更新範囲の完全な切り分けで、二つ程方法を挙げると。 a. デフォルトのconfig.pyは、何もしない。ただ呼び出されるだけに留める。 b. config.py から別のユーザ設定を呼び出す。 ユーザとして利用してる分には、 - config.pyは更新時に上書きされないので、ユーザ側で編集しても問題ない - _config.py更新時の差分は、必要ならconfig.pyに持ってくきて編集 で、とりあえずは問題ないようなので。返答を下さった方、ありがとうございました。
411 名前:名無しさん@お腹いっぱい。 [2008/12/18(木) 17:27:50 ID:ttqEKvgp0] あふとは違うのだよ、あふとは
412 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/18(木) 20:00:17 ID:w6AJdTOm0] >>410 それはその通りだと思う 内骨格のコンセプトがあんな感じである以上作者さんも煮詰め切れてない部分があるんだろうね
413 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/18(木) 21:09:29 ID:Kl/A5AWx0] 作者視点で言うと、 ・いままで使ってるユーザーを、設定をいきなり変えることでびっくりさせたくない(←あたりまえ) ・でも新規ユーザーには推奨の設定で使ってほしい(←そういうときもあるよね) ってのは、アプリケーション作ってるとよく出会う場面だよ。 自分も経験あるけど、どんな新機能がつくかなんて作者でも予測できないもんだよ
414 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/18(木) 21:13:35 ID:tpt2nZZ30] 半月ぐらいレスついてなかったのに急にレスが増えたな 何かあったんかw
415 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/21(日) 09:34:20 ID:0ZGbTRvo0] 今北産業 あふとの違いなんだ? あふから乗り換える意義はあるのか?
416 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/21(日) 11:44:02 ID:q0gDujwF0] >>415 そんなことを聞く奴には向いてない。 おまえはあふを使い続けた方が良い。
417 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/21(日) 12:48:24 ID:1SC+aVB20] >>415 違いは色々あるが、Pythonというインタプリタ言語で拡張可能なのが最大の違い というか、内骨格自身がPythonインタプリタ上で走っている
418 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/31(水) 18:35:23 ID:YS0yHJn90] シャレで内骨格をPython2.6で動かしてみた。 pydとか全部自分でビルドしないとダメなのであまりお勧めは出来ない。 気づいた点。 1) md5モジュールの代わりにhashlib使えと文句を言われる。 2) 俺の環境だけかもしらんが、tar.gzの閲覧に失敗する。 cfiler_filelist.pyの lister_Tar.__call__()の中で、 if names[-1]: # print "name[%d]=%s" % (-1,names[-1]) child = ArchiveNode( ( names[-1], info.size, time.localtime(info.mtime)[:6], info.isdir() and cfiler_misc.FILE_ATTRIBUTE_DIRECTORY or 0) ) current_node.children[ names[-1] ] = child こんな感じに変えてやると上手くいった。要は、パス名の最後の部分の ノードを作るときに、0決め打ちだったのを、ディレクトリかどうか見るようにした。 正直なんでこれが2.5/2.6で関係あるのか分からんが、こうしないと2.6では 動かなかった。 3) これは2.6関係ないけど、cfiler_mainwindowの leftJump()の中でself._jump()に渡してる引数足りてないですね。