1read 100read
2011年10月1期ソフトウェア【2画面ファイラ】 内骨格 Part1 【Python拡張】 TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
【マクロは】帰ってきたVxEditor【DMonkey】
アニオタが好んで使うフリーソフト
一番速いブラウザは何だ!?
新聞つんどく


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


1 :07/10/24 〜 最終レス :11/12/21
CraftLaunchの作者が今度はファイラー界へ殴り込みだ!
http://hp.vector.co.jp/authors/VA012411/cfiler/doc/index.html

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

2 :
ビューアやプレイヤの対応形式はどうなってるの?追加可能?
とりあえずwmaくらいは標準対応しておいた方が…

3 :
今だ!!!2get
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
とりあえず単独ではホットキーでアクティブ化とかできないよね?
あるかなーとかソース見たりしてたら
ファイラーとしての機能見てみる前に疲れ果てたぜ!
ちょっとカーソルの動きが重い気が、俺の糞PCのせい?
で、内骨格って凄い名前だなw

4 :
標準対応の拡張子はこれか。
    text_file_ext_list = ( ".txt", ".py", ".htm", ".html" )
    image_file_ext_list = ( ".bmp", ".gif", ".jpg", ".jpeg", ".png", ".psd", ".tga", ".tif", ".tiff" )
    music_file_ext_list = ( ".mp3", ".ogg", ".wav" )
>>3
なんかごめんな

5 :
pythonか...rubyも搭載してくれないかなぁ

6 :
まーたパイソンか・・・

7 :
いんでんとかんべんして

8 :
書庫内見れないのか。

9 :
zipとtgzだけ、、、lzhと7zとrarぐらいはせめて、、、

10 :
あ、本当だ。zipも見える。
あれ、rarも見えるぞ?
と思ったらあふ触ってた。

11 :
エイプリルフールネタかと思わずカレンダーを見た。
さすがな感じのファイラーなんで、今後に期待。
>>10
冗談じゃなくありえるな。

12 :
作者が作者だから、いきなりスレ立っちゃうのも
分からなくはないが、やりづらいだろーな。

13 :
むしろ作者たんが作者たんだからスレを立てたんじゃないかと思ってみた

14 :
作者は2ちゃん見ない派じゃない?

15 :
しかし倉の放置っぷりを見たら・・・あんまり期待はできないな

16 :
            __,,,,_
            /´      ̄`ヽ,
            / 〃  _,ァ---‐一ヘヽ
         i  /´       リ}
          |   〉.   -‐   '''ー {!
          |   |   ‐ー  くー |
           ヤヽリ ´゚  ,r "_,,>、 ゚'}
         ヽ_」     ト‐=‐ァ' !
          ゝ i、   ` `二´' 丿
              r|、` '' ー--‐f´
         _/ | \    /|\_
       / ̄/  | /`又´\|  |  ̄\
皇太子様が「これなんてあふ?」と仰せのようです。

17 :
倉は弄るとこない気が・・・

18 :
1.01キタ━━━━━━(゚∀゚)━━━━━━!!!!

19 :
テキストファイルでバイナリビューアが起動するな・・・
わからん、寝よう・・・

20 :
英語版Windowsだと文字が化け化け
どこかでフォント設定できるの?

21 :
バグ報告と要望出しまくって作者たんを鬱にして
2ch嫌いにしてあまのっちみたいにする気だな!
あまのっちはツンデレだけどな

22 :
乗り換えるのは、あふと同等以上になってからだな。
あふは進化が止まってるから期待したい。

23 :
カスタマイズの仕方がわからないぜ!
誰か手本を示して下されば幸いでございます・・・

24 :
煽るようなこといったけど、実はすごく期待してるんだ…
作者がんばって!

25 :
(既に起動中でも)コマンドラインオプションで表示ディレクトリを変更したりできる?

26 :
配色がいいなー

27 :
確かに見た目は良い

28 :
内骨格 ver 1.02
[変更点]
- テキストビューア / バイナリビューアの起動を高速化するため、chardet の使用をやめて、自前で文字エンコーディングの推測を行う。
- L キー でテキストビューア / バイナリビューアを起動。
- WMA対応
- _config.py に あふ を起動するサンプルを追加

29 :
仕事速いな

30 :
> あふ を起動するサンプル
お父さん助けてー!
みたいなの想像して吹いた

31 :
作者さん超乙!

32 :
うむ、クラスとかとても難しい
カーソルを上下でループさせれるようにならないかなとかやってみて
数時間かけて俺が根本的にわかってないことだけわかった
作者さん任せた!

33 :
サンプルみたいにconfig.pyに適当に書いてkeymapで割り当てたらできた
無理やり感がするが、動いたからいいや!
pythonしっかり勉強しよう・・・

34 :
肉骨粉か

35 :
いつの間にかカーソルの場所記憶するようになってるね、うれしい
個人的にはイメージビューアで画像見ながらマークができないのが画像整理に痛いです

36 :
gmail driveに対応してくれたら神。

37 :
無理言うなやw
独自実装ならいけそうだな

38 :
.lnkはReturnでフォルダ移動にして欲しいっす

39 :
>>33
とりあえず貼って。

40 :
パイソンで肉付けってかー
なかなか美味いネーミング

41 :
どうせなら肉便器にして欲しかったな

42 :
最大化すると下がちょっと短くて後ろが見えるのは俺の環境だけかな?
あと削除はゴミ箱行きがいいな、履歴は残して欲しいな

43 :
# やっつけhjkl操作リマップ
# 標準のキーバインドをすので適当にその分振ってください
window.keymap[ KeyMapCondition( KeyEvent(VK_J, 0) ) ] = window.command_CursorDown
window.keymap[ KeyMapCondition( KeyEvent(VK_K, 0) ) ] = window.command_CursorUp
window.keymap[ KeyMapCondition( KeyEvent(VK_H, 0) ) ] = window.command_FocusLeftOrGotoParentDir
window.keymap[ KeyMapCondition( KeyEvent(VK_L, 0) ) ] = window.command_FocusRightOrGotoParentDir
なんか面倒だな

44 :
CraftLaunch2.08+あふで十分だからpython勉強してまで離れる気になれないんだよな。
しかしこやつはPPXを超えるカスタマイズ性があるのか?

45 :
>>39
command_LaunchAFXとかの並びに
class my_CursorUp:
    def __init__(self,window):
        self.window = window
    def __call__(self):
        pane = self.window.activePane()
        pane.cursor -= 1
        if pane.cursor<0 : pane.cursor= pane.file_list.numItems()-1
        pane.scroll_info.makeVisible( pane.cursor, self.window.fileListItemPaneHeight(), 1 )
        self.window.paint(PAINT_FOCUSED_ITEMS)
class my_CursorDown:
    def __init__(self,window):
        self.window = window
    def __call__(self):
        pane = self.window.activePane()
        pane.cursor += 1
        if pane.cursor>pane.file_list.numItems()-1 : pane.cursor=0
        pane.scroll_info.makeVisible( pane.cursor, self.window.fileListItemPaneHeight(), 1 )
        self.window.paint(PAINT_FOCUSED_ITEMS)
configure内に
window.keymap[ KeyMapCondition( KeyEvent( VK_UP , 0 ) ) ] = my_CursorUp(window)
window.keymap[ KeyMapCondition( KeyEvent( VK_DOWN , 0 ) ) ] = my_CursorDown(window)
config.py内に構文エラーがあると固まるの面倒っすね・・・
まあ間違えるのが悪いわけですがw

46 :
Python理解できるなら自分でプログラム組んでランチャ作れるんじゃね?

47 :
なぜこのスレでランチャの話を・・・

48 :
これってLinux上では動かないの?
たとえばPython+PyGtkなんかで作ってあれば
OSを問わずに動いたりしてよさそうだけど…

49 :
コア部分はWin32API + C++です
よって無理

50 :
週末にくるかなーと思ってたがバージョンうpこなかったなー

51 :
って、1.03キテター
カーソル移動速くなってる!
作者乙!

52 :
1 .03 - 2007/11/05
- 画像ビューアのズームモード (フィット/オリジナル) をiniファイルに記憶するようにした
- Grep / Search の結果を再読み込みするとき、Escで中断できるようにした
- Search / Grep のとき、ステータスバーにその旨表示するようにした
- 画面を分割している各種バーが端まで描画されるようにした
- Enterキーの処理をカスタマイズするためのフックを追加
- 描画を少し高速化
- 設定ファイルの文法が間違っていたときにアプリケーション全体がハングアップするのを修正

53 :
本体で使われてないモジュールはimportできないっぽいね
自力でsys.pathに足せばいいっぽいが

54 :
>>53
どういうこと?

55 :
config.pyとかでimport urllib2とやってみてもできないはず・・・
No module named urllib2て言われる
urllibは俺は使わんがw

56 :
先生!起動のときウインドウサイズを最大化指定すると
終了時にエラーダイアログが出て、cfiler.exe.logに↓のように書き出されました!
Traceback (most recent call last):
File "cfiler_mainwindow.pyo", line 331, in _onSize
AttributeError: 'MainWindow' object has no attribute 'left_window_width'

57 :
これフォントの大きさどうやって変えるの?

58 :
ディスプレイに顔を近づける/遠ざける

59 :
遠ざけると文字が滲みます。
これがアンチエイリアスというものですか?

60 :
そうです。
私が変なおじさんです。

61 :
1.04キタ━━━━━━(゚∀゚)━━━━━━!!!!
が、ファイル壊れてるな

62 :
>>57
cfiler.iniのFONTのSize

63 :
それ1.04からだがな・・・
shift+zでも変えれるようになったね

64 :
連投すまない(´・ω・`)
あふのマーク済みのファイルを「SHIFT+Rで一括リネーム」できる機能が
すこぶる便利だったんだけど、内骨格にも似たような機能って実装されてるのかな?
並のリネームソフトよりも個人的にはすごく使い勝手よかった
>>49
コア部分がDelphiなのとC++なのってなんか差があるのでしょうか

65 :
>>64
>>49じゃないけど、それってどういう意図で聞いてるの?

66 :
私はプログラムのことよく分からないのですが
あふがDelphiでできてるらしいんで、C++と
どう違うのかなあと思って質問してみました。
うーん、スレ違いもはなはだしいかもw
自重しまふ

67 :
>>48に回答する形で>>49だと思うんだけど、
その流れで答えるならWin32APIを使ってるから、
Linuxに移植するのは簡単でないって事になる。
Delphi、C++の言語自体の特徴を知りたければプログラム板へ。
http://pc11.2ch.net/test/read.cgi/tech/1193132235/

68 :
誘導ありがとう!

69 :
Delphi製だから、あふはUnicode対応が難しいんだな

70 :
はげ

71 :
ミュージックプレイヤの使い方がわからん
どうやったら停止できるんだ?

72 :
>>71
>>1のマニュアルに書いてあるじゃんか。

73 :
1.05来てるね
ホットキーでアクティブ化できるようにして欲しいなぁ

74 :
1 .05 - 2007/11/20
- U キーで、アーカイブを展開する機能を追加。
- Shift-U キーで、アーカイブの中をログウインドウに出力する機能を追加。
- ヒストリウインドウで左右のキーを押して、左右のペインのヒストリに切り替えることが出来るようにした。
- Grepダイアログに、正規表現のOn/Offと、大文字小文字無視のOn/Offの、チェックボックスを追加。
- テキストビューアで E キーを押したときに、エディタを起動するようにした。
- ディレクトリの移動をしている間、ステータスバーに状態を表示する。
- Grep / Search が完了したときは、ステータスバーに状態を表示する。
- ドライブ選択で、ディレクトリがないときに、ドライブが切り替わらないのを修正。
- [ - no item - ]を編集しようとしたときに例外が発生するのを修正。
- テキストビューアで、推測した文字エンコーディングで変換できない文字があった場合に、エラーにせずに、無理やり表示するようにした。

75 :
どこから落とすんだ?
リンク貼られてないじゃん

76 :
>>75
>>1のリンクからたどり着けるだろ

77 :
URLを削るんだ
>>1のオンラインドキュメントのページだと落とすとこないな
次スレがあるなら変えたほうがいいのかもな
http://hp.vector.co.jp/authors/VA012411/
http://hp.vector.co.jp/authors/VA012411/chapter-04.html#%93%E0%8D%9C%8Ai

78 :
>>77
d

79 :
動画ファイルはEnterキー押下で再生、みたいなのはどう書けば良いの?

80 :
Enterキーの処理をカスタマイズするためのフック のところで拡張子で場合分けすればできるんじゃないかなぁ

81 :
バージョンうpがないと悲しいです

82 :
作者のホームページを見たら、いつのまにやら1.06になっているな。
更新情報
- 2007/12/03 内骨格 ver 1.06公開
変更点はホームページに書いてなかったので分からなかった。

83 :
- ホットキー機能を追加 (Shit-Zキーメニューから設定)

84 :
1 .07 - 2007/12/04
- Grepダイアログに再帰のチェックボックスを追加
- Grepダイアログの状態をiniファイルに保存する
- ファイルの移動で、移動先に同じ名前のファイルがあった場合に、上書きを選択してもエラーになってしまうのを修正。
- テキスト編集部品で、Ctrl+BackSpaceを押したときにエラーが発生していたのを修正

85 :
おお、ついにアクティブ化のホットキーが!
次はぜひ最小化時のタスクトレイへの格納機能が欲しいです・・・

86 :
window操作関連は、何を参考にしたら良いんですか?
とりあえずself.window.quit()で終了できた。

87 :
ソースのcfiler_mainwindow.pyあたりを読んでみ

88 :

89 :
ログパネルの内容を保存するスクリプトを書いてみた
以下をcfiler\extension\logwrite.pyに保存する
import sys, os.path,cfiler_misc
logfile = os.path.join(os.path.split(sys.argv[0])[0],u"log")
def savelog(window, fn = logfile):
 try:
  f = file(fn,"w")
  l= u""
  for i in window.log_pane.log.log:
   l += i + "\n"
  f.write(l.encode("utf_8"))
 finally:
  f.close()
def saveandopenlog(window,fn = logfile):
 savelog(window,fn)
 cfiler_misc.shellExecute(None,None,window.editor,fn,os.path.split(fn)[0])
呼び方
configure関数の適当な場所に
    import logwrite
    logwrite.savelog(window)
又は
    import logwrite
    logwrite.saveandopenlog(window)
二つ目は保存した後に内骨格で指定されたエディタで開く
デフォルトでcfiler\logに保存するので変えたい方は適当に変えてください。

90 :
1 .08 - 2007/12/12
- Shift-Zの設定メニューに、Escキー動作選択、を追加。Escキーでウインドウを非アクティブ化できるようにした。

91 :
変更点]
- 時間のかかるファイル操作(ファイルのコピー/移動/削除、アーカイブの作成/展開)を実行中に、ほかの操作を実行できるようにした。

92 :
おお、1.09か

93 :
1.10も来てるな
>1 .10 - 2007/12/24
>- デフォルト設定ファイルの書き方を整理。
> (出来るだけ、クラスではなく、関数を使うように)
>- ファイル名パターンによる関連付け実行機能を追加。
> (デフォルト設定ファイルでWindows Media Playerによるビデオファイルの再生を追加)
>- アーカイブの中はヒストリ選択ウインドウに表示しないようにした。
>- リストウインドウや、メッセージボックスを表示するとき、一瞬小さく表示されるのを修正。
>- ディレクトリの移動やドライブの切り替えなどで、移動に失敗したときのエラーメッセージをちゃんと出すようにした。
>- テキストビューア/バイナリビューアで、大きなファイルを開こうとしたときに、警告メッセージを表示するようにした。
>- テキストビューア/バイナリビューアで、メモリ不足エラーが発生したときに、操作が出来なくなるのを修正。

94 :
起動する度にランダムで、Tipsとかショートカットキーの
割り当てを表示してもらえると、操作を覚え易くて助かるなぁ。

95 :
さあ、自分で作って公開する作業に戻るんだ

96 :
94
>>95
ググってネットに転がってるコードをつぎはぎして作ってみました。
【1】config.pyの中に以下のように書く。
import tips; tips.view_tips()
【2】extensionフォルダの中にテキストファイルtips.pyを作る。
↓中身はこれ。(全角空白はタブなりスペースなりで置き換える。)
import random
def linecount(fsrc):
 count = 0L
 for line in fsrc.xreadlines():
  count += 1
 return count
f = open('extension/tips.txt','r')
l = linecount(f)
f.close()
x = random.randint(0, l-1)
f = open('extension/tips.txt','r')
allLines = f.readlines()
f.close()
todays_tips = unicode(allLines[x], 'utf-8').replace('<br>', '\n')
def view_tips():
 print u'☆ 今日のTips ☆'
 print todays_tips

97 :
あ、名前欄に自分の番号を書かなきゃだよね、俺バカス…。
【3】extensionフォルダの中にテキストファイルtips.txtを作る。
一行に一つTipsを書く。改行したい時は<br>と書く。
↓こんな感じ。
End<br>ファイル選択をすべて解除
Shift + End<br>ファイルリストを更新
Shift + ↑/↓<br>ログペインのスクロール
Shift + ←/→<br>ログペインのスクロール(ページ単位)
※ファイルはUTF-8で保存する事。

98 :
配列からランダムな要素を取り出すにはrandom.choice()が便利
lines = f.readlines()
todays_tips = random.choice(lines)

99 :
>>98
ありがとーーー!
こんなに短かく書けるなんて!
でも6行目は詰め込み過ぎなのかな…?
import random
f = open('extension/tips.txt','r')
lines = f.readlines()
f.close()
todays_tips = unicode(random.choice(lines), 'utf-8').replace('<br>', '\n')
def view_tips():
  print u'☆ 今日のTips ☆'
  print todays_tips

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
【マクロは】帰ってきたVxEditor【DMonkey】
アニオタが好んで使うフリーソフト
一番速いブラウザは何だ!?
新聞つんどく