【2画面ファイラ】 mfiler2 【Rubyインタプリタ】
1 :
ミスターファイラー :
2007/07/06(金) 17:53:58 ID:Kr9XwuhU
3 :
login:Penguin :2007/07/06(金) 21:19:22 ID:P+1CotF9
4 :
amel :2007/07/06(金) 21:19:23 ID:4lQnxv41
nin
バージョンうpの頻度すげーよな
スレッド作ってもらってありがとうございます。 リンク張っておきますね。
3.1.0でファイルのドロップができるようになりました。 音楽プレイヤーとかにファイルをドロップなどができるようになって便利になったと思います。 まあ、LinuxではあまりファイルをD&Dすることはないですけどね。 この機能は友人の実装です。彼に感謝。 Windows(cygwin)とMacintoshでもドロップできるようにしたいです。 cygwinではcraft dropがあるんですが、こいつは完璧じゃないので誰か実装してくれませんかね。 仕様はウィンドウを開いて引数のファイルをコンポネントとして表示してドラッグできるようにするだけなんですけどね。
>>7 amd64のUbuntuでmakeが通りません。
cd wkf-1.3.9 && ./configure && make
checking build system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized
configure: error: /bin/bash ./config.sub x86_64-unknown-linux-gnu failed
make[1]: *** [wkf-1.3.9/libwkf.a] エラー 1
9 :
8 :2007/07/08(日) 23:08:21 ID:AY0Te6AM
質問があります。 普通にインストールしただけなんですけど、ファイルが白でディレクトリが白の太字です。 他の色は全くないんですけど、これが普通ですか? 色を付けるには自分で設定しなければダメなんですか? それと、ディレクトリを移動するとき自分で指定して移動って出来ますか? hを押してコマンドラインでcd /etcとかやってみたけど無理でした。
Minnu's filer2 ↑これ何て読むのかおせーてくらさい作者さん ミムーズファイラーツーでいいんですかね
みんなのファイラ
Ubuntu 7.04でmfiler2 3.1.0bを実行したところ Segmentation fault (core dumped) となってしまいました。以前のバージョンなら実行できたのですが。 コアダンプしているはずなのにコアファイルを吐かないのでよくわからんので すが、一応報告しておきます。
>>13 ubuntu じゃないけど x86_64 環境でセグフォを確認。
mfiler 3.1.0
#0 0x00002ae8575cbaa7 in ?? () from /usr/lib/libruby18.so.1.8
#1 0x00002ae8575da357 in rb_load () from /usr/lib/libruby18.so.1.8
#2 0x00000000004043c0 in read_rc_file () at main.cpp:202
#3 0x0000000000405d08 in main (argc=1, argv=0x7fff539c1768) at main.cpp:880
>>7 お手数かけます。自動的にコンパイルとおるように修正しておきます。
結構64ビットな人が多いようなので。
>>10 sでソートメニューからcでカラーを選んでください。
ただ環境によっては駄目なようです。
自分で移動というのはディレクトリをコマンドラインで移動ってことですね。
それならJでcmdline jumpです。2つありますが、一つはカレントディレクトリが最初に
書かれていて、もう一方はデフォルトが空欄です。空欄はルートディレクトリからの移動で便利です。
cdは入れてもいいかもしれませんね。mfiler2内臓シェルでのスクリプトで使う可能性はあるので。
まあ、そういうのは基本的にMeta-xのrubyスクリプトで処理して欲しいですけどね。
>>11 好きに読んでください。ヒントはローマ字読みです。
>>13 以前と$HOME/.mfinfoの仕様が変わっています。$HOME/.mfinfoを消して
再実行してみてください。
>>14 上記と同じだと思います。もしくは$HOME/.mfilerを消してみてください。
(自分で定義したものはバックアップを取っておいてから)
16 :
13 :2007/07/10(火) 04:21:41 ID:C+KOf2LK
>>15 どうもです。.mfilerと.mfinfoを削除したら動くようになりました。
17 :
13 :2007/07/10(火) 04:45:04 ID:C+KOf2LK
拡張子を別に表示するようになったとのことですが、拡張子のないファイル・ ディレクトリも"."を含めて6文字までしか表示されず、例えば、 ディレクトリが"mfiler2-3.0.7c""mfiler2-3.1.0b"と二つあっても、 どちらも"mfiler"と表示されてしまいます。ディレクトリと拡張子のないファ イルについては、この処理をさせないほうがよいんじゃないでしょうか。 それと、機能として"."で始まるファイルとディレクトリの表示・非表示を切り 替える仕組みがあったらいいなと思います。ホームディレクトリにある大量の 設定ファイルが普段は邪魔なので…。 あと、個人的には右側の更新日時はあまり見ないのでそこを非表示にして、ファ イル名の表示領域を広げられるようになったら嬉しいかな。機能要望ばっかで すいません。
18 :
13 :2007/07/10(火) 04:52:14 ID:C+KOf2LK
あー、ファイルのマスクは今ある機能でできそうですね。すみません。
>>17 拡張子の表示は確かにその方が親切ですね。今日ちょっとやってみます。
"."ファイルの表示非表示はありますよ。"."キーです。
右側の更新日時は表示しない2画面モードを作ってみます。
機能要望はうれしいですよ。ソフトウェアの良い点・悪い点って使い始めの方以外見えにくいですから。
遠慮なく言ってくだされ。
>>17 実装しました。ただしディレクトリのみ拡張子部分に名前がはみ出すようにして
拡張子の無いファイル名に関しては拡張子部分まではみ出しません。
やってみたんですが、拡張子部分が空欄の方が拡張子がないことが分かりやすいと思ったせいです。
もう一つの更新日時を表示しない2画面モードの方を使えばだいぶファイル名表示部も広くなるので、そっちをつかってください。
これで横サイズが80文字の端末でも2画面が使いやすくなったと思います。
X端末が使える環境でも端末サイズは80文字の方が描写が早く
mfiler2でもカーソル移動がスムーズなので、これは気に入りました。
21 :
17 :2007/07/10(火) 21:01:06 ID:C+KOf2LK
>>20 仕事早っ!対応ありがとうございます。早速、更新日時を表示しない2画面モー
ドを使ってみたいのですが、どのキーを押せばいいのでしょうか。マニュアル
を読んでみたのだが分からずじまい…
> サクーシャ様 ファイルの表示形式をls -lみたいにできないでしょうか? 今の形だとパーミッションや所有者・グループを見るには カーソルを持って行かないといけないので、これを一覧で 見られたらいいなと。 例えばこんな感じで。 -rw-r--r-- hoge hoge 452 07/02 .bashrc -rw-r--r-- hoge hoge 5k 2006 .canna -rw-r--r-- hoge hoge 13k 05:24 .emacs パーミッション、所有者、ファイルサイズ(ブロックサイズ付)、 更新日付、ファイル名あたりを一覧で見れると嬉しいです。 日付は今日更新なら時刻を、今年更新なら日付を、1年以上前なら 年を表示する、といった感じでいくと表示領域が節約できていいかな。 X68kのmintだとこういう感じで表示できて便利でした。 ちなみに、あふでも同じ要望出したことがあるんだけど、 ファイル描画周り全部書き直し → ほぼ全面的に作り直しということで 見送られてしまいました…
>>21 sを押してAです。次の起動時からはそれがデフォルトになります。
($HOME/.mfinfoに保存される)
>>22 sで1を押してもらえれば1画面表示ですがパーミッション、所有者などの一覧が見れます。
2画面でも1画面と同じように色々な画面モードが合った方がいいですね。
ちょっと実装してみます。
mfiler2は画面周りはやっていることはシンプルなので(作者には)改造が簡単です。
上記の機能もコピペで1時間くらいで実装できると思います。
sのソート&画面モード、英語で分かりにくいみたいなので
使い方のページにちょっと書いてみます。
同じインタプリタ内臓ファイラとしてmintと比べられることが多いので
ちょっとx68エミュレータでmintを研究してみます。
特に言語周りに興味があります。
Linuxでのmintの再来という期待に答えられるようなファイラを目指したいと思います。
うむ、頑張っておくれ
25 :
21 :2007/07/12(木) 22:33:36 ID:JJPL0xsY
>>23 できました。ありがとうございます。長いファイル名でも区別できるようになっ
ていい感じです。
3.1.1で描写周りを書き直しました。 今まで1行表示ならパーミッション、更新時間、サイズなどを全て表示、3行表示ならサイズのみなど 画面のモードによって表示するものが固定されていましたが 自由に変更できるようになってます。 1画面表示でファイル名のみ表示、2画面表示でユーザー&グループ表示や、3行表示でパーミッション&サイズ表示など。 ただ表示が長すぎて画面からはみだす場合の処理は特にしていないのでユーザーの責任で 端末のサイズに応じた選択を行ってください。 あとmfiler2をファイル管理でなくweb開発(PHP,perl,python,ruby)などに使う場合 2画面表示より1画面表示が使い易いです。ファイルがたくさん表示できるので。 で、ファイルのコピーなどがしたくなれば、Tabを押して2画面にして、終わったらqで また1画面に戻す。そんな使いかたを想定しています。 作者もmfiler2はそんな感じで開発しています。
付け足し。描写オプションはsに間借りしてましたが、新たにVにバインドしました。
ウィンドウの数にかかわらずVでパーミッションやサイズの表示を切り替えら れるようになったんですね。なかなか便利です。 ところで、ゴミ箱を空にするキーってないんでしょうか。まあ、ゴミ箱ディレ クトリに入って、Home dとすればいいだけなのですが。
29 :
22 :2007/07/18(水) 01:54:01 ID:umzwZbzt
3.1.1bを入れてみました。 表示関係の自由度がかなり上がっていい感じですね。 2画面でパーミッション,nlink,ユーザ、グループ表示にしてます。 nlinkは見ないんだけど、表示しないと落ち着かないのでonで。 パーミッションとかはファイル名の前に置けたらと思わないことも ないんですが、これだけ自由にできれば素晴らしいと思います。 ただ、ラストピリオド以降は分けない設定も欲しいです… V->lと打つと、「toggle n(l)ink」と「toggle (l)ist mode」が 両方効いてしまうようなので、このあたりも調整されると尚素敵かと。 .mfinfo2が廃止されて、jumpmenuも.mfinfoに統括されたみたいですが、 .mfinfo内の「<directory menu>」の次の行が登録アイテムの総数で、 その次の行から順にディレクトリを書いていく仕様になってるみたいですね。 カスタマイズで困ってる人がいるかも知れないので一応メモがてら。 あとは、細かい「こうなってると嬉しい」点としては ・設定ファイルをmfiler2起動中も書き換えられたらいいな ・メニューのPageDown,PageUpは上下でループしない方が好き ・メニューのダイレクト選択ができると嬉しい ってな感じでしょうか。 メニューのダイレクト選択はあふみたいな先頭文字で指定するよりも A " MINTコマンド (mint) " ${MINTHOME} みたいに選択文字と表示名と分かれてる方が個人的には好みです。 例によってmintの設定なんですが。 作者さんが親切なので言いたい放題言ってますが、もちろん全て 実装しろなんて言ってる訳ではありませんので適当にしてやってくださいな。 自分でもまだmfiler2で試せてない部分も多いので勉強しますー
>>22 喜んで貰えて表示関係書き直したかいがあるってもんです。
拡張子(とはUNIXでは言わないですが)を別に表示するしないのオプションは
必要ですね。作っている最中に、たぶん、そういうのはでるのではないかと思っていました。
また入れます。
V-lは見落としてました。V-iでnlinkにします。
設定ファイルをmfiler2起動中も書き換えるというのは難しいです。
面倒かもしれませんが、.mfilerを書き直して再起動で勘弁してください。
メニューのPageDown, PageUpは上下の端で止まるようにしてみます。
ただカーソルキー上下ではループします。
メニューのダイレクト選択とはなんでしょうか?
さっきのVでの表示関係メニューのlでlist modeが選択されるといった
類の操作とは違うんですよね?
32 :
22 :2007/07/20(金) 02:17:37 ID:lU0Dv0so
メニューのダイレクト選択ってのは、そんな感じです。 ただ、これを[j]のジャンプメニューでやりたいんですね。 例えば、あふだと controller model view みたいなメニューを登録したりします。 実際のディレクトリ名とは別に登録名を付けます。 ジャンプメニューを表示した状態で各項目の先頭文字を 入力すると、その項目にカーソルが移動します。 この状態で[j]でメニューを呼び出してから[m]を押すと modelの行にカーソルが行くって具合です。 設定によってはその時点で実際にジャンプもします。 mintの場合は、 A " MINTコマンド (mint) " ${MINTHOME} のように、設定ファイルに [決定のためのキー] [メニュー表示文字列] [実際のジャンプ先] の順で記述します。あとの操作は同じような感じですね。 今のmfiler2でも設定次第でやれるのかも知れませんが。 まだ設定ファイルまで手を出しきれてません…
>>32 それは便利ですね。
jumpメニューを追加するときにタイトルとキーを指定できればいいですね。
ちょっとやってみようかなと思います。
また.mfinfoの仕様が変わっちゃいますが・・・
3.1.1cで対応しました。.mfinfoの仕様は変わっちゃいました。 一度.mfinfoを消して起動してください。 一応バックアップ取っておいて、新しい方と古い方のファイルの内容を見てもらえれば人力でコンバートは可能かもしれません。 あと、mfiler2はメニューのカーソルの循環などソフトウェアの動作 のカスタマイズはその動作自体Cレベルで書いているところが多いので 設定ファイルでのカスタマイズは限界があります。 emacsのようにその辺りを期待されている方は多いと思いますが その要望には残念ながら答えられません。 今のところオプションで対応していますが、その辺りは今後の課題とさせてもらいます。
仕事はやすぎてワロタw
仕事が速すぎて使う側が追い付けてない予感w 自分もようやく.mfilerのカスタマイズを始めた程度だ。 カスタマイズ系はひとまずおいて、ひとつ気になった 動作があるので忘れない内にこれだけ投げときます。 2画面モードかつ左右キーで親ディレクトリに行ける設定の時、 [o]で反対側と同じパスに変更した直後は左右キーで親階層に 移動できないっぽいです。 手元だと、2回押すとちゃんと行けるんだけど、 1回目はカーソルが一番上に行くだけって状態です。 普通に../でEnterしても同じ症状なので、 [o]の挙動がよろしくないのかも。 あとついでに要望上げると、1画面モードでも左で上階層に 戻れると嬉しいっす。
>>36 遅くなってすみません。
最新版で、1画面でも左キーで上に上がるようになりました。
あとoの後上に行けない問題も解決したのではないかと思います。
最近入れた機能としては、ファイル名で正規表現にマッチするファイルを
色づけできる機能です。
デフォルトでは圧縮ファイルの色が変わります。
あと作者がMacを買ったのでMacでの動作が安定しました。 一応これでWin, Linux, Macと動作する環境が整いました。 ただしcygwinは漢字ファイルの扱いにシステムコールレベルで問題があるので ちょっと常用するにはきついです。 (2バイト目が\の漢字を含むファイル名のファイルはstatなどができない) mfiler2+vim or emacsというのはどの環境でも動いていい感じです。
ちょっと内蔵シェルの実装を見直します。 カラーだのメニューでの選択、ジョブ切り替えなどユーザーフレンドリな 機能は色々あるんですが どうも土台となるシェルがいまいちだと思うので。 やっぱり土台がきちんとしていないと、せっかくのユーザーフレンドリーな 機能も台無しになっちゃいますよね。 高度なリダイレクト処理、ワイルドカードの展開もなんとか入れようかなと思います。 シェルに詳しい方、気になった点教えていただければ助かります。
機能要望なんですが、mfiler2をアーカイバみたいに使えるようになったら 嬉しいなと思うのですが。圧縮されたファイルの上でEnterを押したら 書庫内のディレクトリとファイルが通常のディレクトリとファイルと同じ ように表示されて、cでファイルを個別に追加圧縮したり展開したり、d で圧縮ファイル内ファイルを削除したりできるようになったらいいなと。 あふみたいな感じです。tar+gzipだけでなくtar+bzip2、zip、rar、lzh、 7zipなどにも対応できたらかなり便利だと思うのですが、実装するのが 大変かも。余裕があったら検討してほしいです。
了解です。時間ができたら、ちょっとやってみます。
42 :
login:Penguin :2007/09/06(木) 17:30:10 ID:xSY16DTy
これはバグなのか分からないのですが、 screen上でmfiler2を使っていて、 ファイルをeで編集したり、vで見たりしようとすると、 仮想端末は作成されるのですが、 command not found: (編集しようとするファイル名) とエラーとなってしまいます。 どうやらエディタの実行がうまくいっていないようです。 シェルはzshで、.zshrcで export EDITOR=vim export PAGER=less export SHELL=/usr/local/bin/zsh を設定しています。 mfiler2上でコマンドを実行して調べてみると、 どうやらPAGERとEDITORが設定されていないようなのです。 SHELLはちゃんと設定されていますし、 ほかの仮想端末上ではPAGERやEDITORが設定されています。 mfiler2上でだけだめなのです。
43 :
login:Penguin :2007/09/06(木) 18:52:19 ID:we998Vwd
>>42 / 何故、vi.で編集しないのです¿...オンシンフツウデス…
.zshenvに書いてみたら?
42です。.zshenvで設定したらできました。 ありがとうございます。 バグでは無く、勘違いだったようです。 失礼しました。
こんにちは。mfiler2, スレも立って、これからってところなんですが 非常にモチベーションが下がっています。 毎日ホームページに、それなりにアクセスがありますが、感想が少ないせいです。 少しでも使っている方で、この書き込みを見た方は、mfiler2の便利な点やどのように使っているか書き込みお願いします。
47 :
login:Penguin :2007/09/14(金) 22:41:56 ID:UaURErPN
>>46 MacOSXに移行したところ「あふ」のようなファイラが無くて
悲しんでいるときにmfiler2に出会いました。
カスタマイズがものすごく柔軟なのがすばらしいです。
毎日のデフォルトアプリとして使わせて頂いてます。感謝。
作者様おすすめのiTerm上での動作が微妙に遅いことが
やや気になります。 (ついfdcloneと比べてしまったり。)
Macはドラッグ&ドロップが必要なアプリが多めなので、
カレントディレクトリをFinderで開けるといいなあ。
...って板違い?
すみません。 実はカリの部分にじんましんができて かゆくてそれどころじゃありません。
>>47 カレントディレクトリをFinderで開くには!を押してもらえばいいです。
でも、いずれLinuxのように@でウィンドウがでてドラッグできるようにしたいと思ってます。
Javaで実装すれば全OSでOKなのでなんとかしたいですね。
ただ作者はMacも持っていますがMacよりWindows&Linuxでいくつもりなので、モチベーション的には
低い物があります。
それまで!で対応してください。
私もmfiler2を使わせてもらってます。 Cygwinではうまくコンパイルができないので、 Linuxで使っています。かなり快適です。 このソフトのいいところは、ファイラーなのにシェルが使い易いことですね。 zshのように、TABで補完候補が出てきたときにはびっくりしました。 ただ、補完候補も選択中のところが反転したり、 説明も表示できるようになるともっとすばらしくなると思います。 そういえば、補完候補はカスタマイズできるようになるのでしょうか? 例えば、この引数にはディレクトリを補完する、とか。 zshは補完を柔軟にカスタマイズできるのが魅力的なので。
50です。 スレに投稿してから、mfiler2はカラー表示にすると選択中の 補完候補が反転されることに気づきました。 ついでに言うと、シェルでコマンド(makeとか)を 入力していても色が変わります。 これはすごいです。遂にzshもある意味で越えてしまったのかも……。 作者さん、頑張ってください。
>>50 ありがとうございます。非常に励みになります。
おっしゃる通りコマンドラインに非常に力をいれて開発してます。
補完候補の反転はTABを2回押してもらえればカーソルキーで選択できます。
補完のカスタマイズは/usr/local/etc/mfiler.rbを$HOME/.mfilerにコピーしてもらって
中身を修正すればできます。
大体のやり方は、/usr/local/etc/completion.rbを見ていただければ
分かると思います。ただ残念ながらzshのようにエレガントに定義はできません。
その代わり柔軟にカスタマイズできるかと思います。
説明文付きの補完もあります。ls -[TAB]してもらえれば分かるかと思います。
ただzshのように主要なコマンド全部で定義とか一人ではめんどくさいので
やっていないだけです。
もしカスタマイズされた方がおられましたら、定義をこの掲示板にでもフィードバックしてもらえれば
非常に助かります。
このスレッドも人がいなくなってきたので、 保守ついでに作者さんに要望をあげておきます。 現在は一度補完リストを出すと、Ctrl+Hで補完リストを削除するまで入力ができません。 しかし、zshでは入力できるので(もう一度TABを押すまで補完リストは更新されませんが)、 これはどうにかならないでしょうか。 補完リストを見ながら入力して、 もう一度TABを押して候補を絞りこみたいのです。
人いないな・・・ 実装してるファイラを知らないから便利かどうかわからないけど、 インクリメンタルサーチみたいな感じでインクリメンタルマスクがあったら、 文字を打つ度に表示されるファイルが少なくなって ファイルを選択するための判断に脳内リソースを取られなくなって効率よくなる、かも。 わからんけど。
おお、人がいた! ちなみに私もインクリメンタルサーチが欲しいです。 ただ、現在zshにも実装されていません。 ファイラーでファイルリストのインクリメンタルサーチは知りませんが、 VimだったらLustyExplorerやFuzzyFinderプラグインが インクリメンタルサーチでファイルを開いたりできます。 mfiler2の補完リストもあのようになると嬉しいです。 やっぱり重くなるんですかね?
遅くなってすみません。mfiler3を開発中です。
プラットフォームがWindowsになる可能性もあります。
Linuxで作るなら、徒然なるままに拡張してきたコードを
綺麗にまとめ上げたいです。
そしてemacsのように拡張性を高くしたいです。
あと端末のエンコードはUTF8オンリー(ファイル名はeucjp,sjisサポート)
cygwinは非サポートにしようかなと思ってます。
>>53 ああ、こういう要望を待ってました。ぜひ対応させていただきたいと思います。
>>54 ,55
DOS時代の用語を使うならマスクですね。
インクリメンタルマスクと言ったところですか。
個人的にはあまり需要は感じませんが、mfiler3を作るついでに
入れるかもしれません。
保守。期待してます。
linuxで継続希望
久々に来たら、なんか活気が戻ってきそうな雰囲気。 作者さん、できれば少しずつでも この掲示板に開発状況を書き込んでくれるとうれしいです。
GTK版を希望
作者さんが見ているようなので、今のうちに要望を挙げておく。 1: .で.ファイルの可視・不可視を設定しても、mfiler2を一度終了して もう一度起動すると、デフォルトの可視状態に戻ってしまう。 これだと、ホームディレクトリは.ファイルが多くてうっとおしくなるので この設定を設定ファイルに保存するようにしてほしい。 2: mfiler3には設定ツールがあると嬉しいのだが。 現在のmfiler2は設定がよく分からないという欠点があるので、 気軽に設定できるようになると嬉しい。 3: 現在、マークせずにファイルのコピー・移動・削除といった操作を行うと、 カーソル位置のファイルに対して自動的に操作が行われる。 この動作自体は便利だと思うのだが、間違えてファイルの移動を よくやってしまうことがある。 私が提案したいのは、オプションで 「マークせずにファイル操作を行おうとすると、 カーソル位置のファイルをマークする」と言う動作である。 これならある程度操作ミスを防げるし、 ddでカーソル位置のファイルを削除できるということは、 viの一行削除コマンドに似ていておもしろいと思う。 ただ、皆がその動作を気に入るかは別問題なので、 実装するとすればオプションになるだろう。
Linux,Windows, コンソール, Gtkとありますが、どれにするかはっきり言えません。
マルチプラットフォーム化も考えてます。
とりあえずはコンソール版になるはずです。
>>62 要望ありがとうございます。
mfiler3では、そのあたりの要望をユーザーが簡単に実現できるようなものに
したいと思っています。
もちろんコードを書かずとも最初からオプションとして用意できればさらに良いでしょう。
mfiler3はvimというよりemacsに近いものになるかと。
mfiler2のバグを初めて発見したので報告します。 mfiler2において、日本語ファイル名がリストに含まれた状態で終了し、 もう一度起動すると、終了時のリストが復元されるのですが、 日本語ファイル名が?????になってしまいます。 .を押したり、フォルダを移動したりして リストの再描画を行えば元のファイル名に戻ります。 致命的なバグというほどでもないですが、 修正してもらえると助かります。 ちなみにリストが化けるのは左右どちらのリストでも発生します。
>>64 了解です。
ここに書き込みがあった要望やバグはmfiler3を作るときに
解決したいと思います。
楽しみだなぁ。
書き込みから受けた印象としては、mfiler3のリリースは当分先になりそうね
GTKでwinもlinuxも両対応!! って考えたけど、ファイルシステムと密接だから、難しいかなあ。
年内にはリリースしたいと思います。 マルチプラットフォーム化はプログラマーとしての力が試されることに なると思うのでがんばってやってみたいと思います。 面白いですし。技術的に。
あと久々にLinux(mfiler2, vim)を触って思ったんですが vim使いにはvimバインドの需要がありそうですね。 mfiler3ではvim使いに心地よいバインドを用意するかもしれません。 作者もvim使いなので。 逆にエキスプローラー風のバインドは廃止しますかね。 使っている人いますか? あれはあれで好きなんですが。
ubuntuのユーザー数が増え続けていることを考えると、Windowsから移行する人が多いと思うから意義は有ると思う。 俺もWindowsXPからの移行です。
monoだっけ? .netが動くんだよね。あれで作れば両方動く? と無責任なこと言ってみる><
そうですね。Linuxをクライアントとして使う人にアピールできるものにしたいです。 特にLinux上で直接スクリプトをいじるwebプログラマーの方には アピールできるのではないかと思っています。 the Minnu's Filerはmintの皮を被ったシェルの拡張です。 シェルの良さを殺さずに拡張しているつもりです。 3ではemacs的なカスタマイズ性を付け加えたいと思います。
mfiler2の方をちょっと修正+機能追加しました。 Meta+fによる仮想ディレクトリのハードディスク検索中 ヒットしたファイル名の出力をするようになりました。 また途中でCTRL-Cしても、すぐファイラ画面に戻ります。 前のバージョンだと変な動きをしていました。 あとlocateの結果を仮想ディレクトリにする機能を追加。
作者さん更新おつかれさまです。 さっそく使ってみます。
3.1.9アップです。./configureでRubyのディレクトリを指定しなくても 自動検出するようになりました。 あと--with-cflagでコンパイルオプションを指定できるようになりました。 これで、独自ディレクトリにライブラリをインストールしていても -I, -Lなどで指定すれば、コンパイルできるようになったはずです。 あとはファイルの削除、コピー、移動時、存在しないファイルが指定された場合 今までは処理をとめていたんですが、続行するようになりました。 これはちょっと考えたんですが、続行で特に問題がないのと Meta-f -> all, regex mark aaa -> dでカレントディレクトリ以下のaaaがファイル名に 付くファイル全てを削除しようとした場合aaa/aaaとあると今までだと 処理をとめてしまっていたので、続行の方が都合が良いと判断したためです。 mfiler3の開発ですがmfiler2をリファクタリングする方向で動いています。 Windowsネイティブに対応できたらmfiler3と名乗ろうかと思っています。 描写部、ファイル読み込み部、コマンドライン処理、インクリメンタルサーチ など順次ruby化を進めて、Windowsに対応、カスタマイズ性の向上に努めたいと思います。 ほとんど書き直しです。
乙です。Ubuntu 7.04でちゃんとコンパイルできました。./configure時のオプ ション指定は結構面倒だったのでこれは嬉しいかも。
3.2.0アップです。 内臓シェルがワイルドカードに対応。 echo *.c がちゃんと動作します。 **/*.cでカレントディレクトリ以下全てのcファイルを表示することもできます。 内部的にはRubyのDir::globに丸投げなので、仕様はDir::globに準拠です。 ただ、バグ取りしていないので、バグがあるかもしれません。 コード書き書きして一発で動いちゃったので。 すぐアップロードしてしまう、適当な作者です・・・ バグがあれば報告お願いします。 遅レスですが、漢字ファイルが再起動時???になってしまう バグはだいぶ前から気づいています。 ただ、結構ややこしそうな問題かつ、あまり実害がないので放置しています。 気が向けば直します。すみません。
ワイルドカードでファイルマッチしたファイルを表示する機能を追加。 基本的にfindの方が高機能だと思うんですが こういうニーズにはワイルドカードの方が向いています。 */*/*.c 第三層目にあるcファイルを表示。
乙です。使ってみます。
細かい修正ばかりで、すみません。 3.2.0bでマスクの設定をV->m, Mから+に変更。 *のglob markを機能拡張。Meta +f --> all時など仮想ディレクトリを 表示中もglob markで*.cなどをしていすればaaa/aaa.cにもちゃんとマッチします。 今まではaaa.c, bbb.cにはマッチしてもaaa/aaa.cにはマッチしませんでした。 今実装を考えているのは前に出たインクリメンタルマスクです。 正規表現によるマスクかグロブ(ワイルドカード)によるマスクか、どっちが都合がいいですかね。 入力の少なさから言えば、グロブですかね。 cソースの一覧を表示したい場合*.cで済みますからね。 オプションでどっちか選べるようにしましょうか。 あとは、マスクでファイルを絞ってeなどコマンドを実行したら解除するか否かですね。 これはどっちがいいかよく分かりません。これもオプションでどっちでもokにしましょうか。 めんどくさいですが。 作者的にはマスクは続行しているほうがいい気がします。 単にファイルを選択する用途ならインクリメンタルサーチの方が便利ですしね。 デフォルトはこっちにしますか。 まあ、今日はそんな感じです。 なんか作者の開発日記スレのようですね。すみません。 意見があれば欲しいです。
>>62 要望ありがとうございます。
マスクの状態の終了時の保存、起動時に復帰はまたやってみます。
設定ファイルのGUIツール化はちょっと無理ですね
UNIXなので、みなさん慣れているでしょう。
マーク無し時のc,m,dの動作は、その動作は少し変な感じがします。
vim使いには割りと普通かもしれませんが。
思い切って、あふのように何もしないのが正解かもしれませんけどねぇ。
でも、cpと同じようにリネームしつつコピーとかができる機能が
惜しくて、ああいうふうになっているんですよ。
あと、最近Windowsであふを触って思ったんですが 下にログ用のウィンドウ作りましょうかね? コピー後に確認したり結構便利ですよね。 何かキーを押せばログが表示できれば便利ですよね。 下はファイラー画面が狭くなるから裏かな。 端末画面が広ければ下でも十分いける気はしますが。 あとページ表示が必要ですね。スクロールバーがない分。 うーん、mfiler2はまだまだ改良しますよ!
> mfiler2はまだまだ改良しますよ! おお。利用者として純粋にうれしい。 応援してます。頑張って!
ふがふが
88 :
83 :2007/11/14(水) 14:51:58 ID:k45tG+s8
別のソフトでしたか。
早とちりしてすみません。
リンク先のmfiler、ダウンロードしてみましたが、
さすがにmakeが通らないですね。
しかし、スクリーンショットやキーバインドを見る限り
やはりmfiler2とそっくりです。
>>85 ログウインドウはあると便利ですね。
screen上でmakeした時にすぐ消してしまって、
エラーメッセージが何だったか分からなくなり、
またmakeして確認することがよくあります。
screen上で実行したコマンドのログも見れると嬉しいです。
89 :
login:Penguin :2007/11/14(水) 16:00:07 ID:e0dKrip2
自分でカスタマイズしろって言われるのを覚悟で質問です。 jをタイプして現れるジャンプメニューで、 メニューを追加、削除できるのは嬉しいのだけど そのために、(a), (d), (c) といったキーを取られるのは辛くない?
>>88 mfiler1は自分用にさくっと作ったもので、あまり人様に使ってもらうようなものでもないですね。
screen上で実行したコマンドのログはscreenの機能として見れますよ。
エスケープキー + [でコピーモードに移ってCTRL-Uで上にたどっていけばいいです。
ああ、ただ、すぐ消してしまってというのは仮想端末を閉じてしまって
という意味ですよね。それはログ取りは実現不可能です。
やるとしたら、screen上の全てのコマンド実行に|teeをつけてといった感じになりますが
色々難しいですね。
ログはファイルのコピー、削除、移動のものだけになると思います。
>>89 分かりました。a, d, cじゃなくてCTRL-A, CTRL-D, CTRL-Cあたりにしておきます。
3.2.1アップです。 *による一括マークが洗練されました。 今度はzshの拡張グロブも超えたかもという感じです。
作者さん、ホームページの 「mfiler2-3.2.1.tgz(安定版) ダウンロード」 へのリンクは切れてますよ。 「mfiler2-3.2.1.tgz(最新版) ダウンロード」 へのリンクは生きていたので、 私はそこから最新版をダウンロードしました。 3.2.1今から使ってみます。
ご指摘ありがとうございます。 直しておきました。 一括マークの説明もちょっと仕様違いだったので直しておきました。
ちょっとエディッタの話です。 mfiler2からエディッタ上でファイルを開くには そのまま$EDITOR=vim|emacs|nanoなどとするのは プロセスが毎回別に立ち上がって、ちょっと不便です。 対策はmfiler2ホームページに書いてあるように エディッタのコピーアンドペーストのカスタマイズをする方法も ありますが、もっと抜本的な解決方法があります。 それは 1. geditを使う。 export $EDITOR=gedit gedit& eなどで選択。ファイルがgedit上のタブとして開かれる 2.gvimを使う。 export $EDITOR="gvim --remote-tab-silent" eなどで選択。ファイルがgvim上のタブとして開かれる 3.emacsでemacsclientを使う。 .emacsに (server-start) を書いてemacsを起動するか、emacsを起動してからM-xでそれを起動しておく。 keycommand NOMETA, KEY_e, "*", "shell('%Q emacsclient %f > /dev/null &', '%f')" を.mfilerに書いておき mfiler2を起動 eでファイルを選択すれば起動しておいたemacs上でバッファとして起動される。 (ただし、この方法はemacsclientのジョブが残り、かなりウザいので ちょっと対策を考えます。次のバージョンで解決したいと思います)
残念ながらコンソールvimにはタブ機能はあるんですが 外部からタブを開く方法が無いようで、mfiler2から起動するには ちょっと不便なようです。
3.2.1乙です。
ちょっと使ってみましたが、*のマークが柔軟に指定できてかなり便利でした。
おかげで、意味もないのにマークしまくって遊んでました。
>>94 このような方法もあるのですか。
ただ私はgvimを使わず、
screen上でvimを複数立ち上げて編集作業を行いますね。
バッファと違って、編集するファイルを切り替えるのも楽ですし。
欠点は別プロセスとなるので、コピー&ペーストが面倒なことです。
よって、現在はyanktmpというvim scriptを使っています。
3.2.1aアップです。 ジョブ関係のAPIを追加。 emacs使いの人は.emacsに(server-start)を記述して .mfilerにeにrun_emacs()をバインドすると mfiler2のeで編集するファイルは一つのemacsプロセス内で一つのバッファとして ちゃんと起動されます。プロセスが複数立ち上がらなくて良い感じです。 ただ、この機能はGNU screen上ではちょっと不完全です。 単にemacs上のバッファで開くだけでemacsの端末はフォワグランドになりません。 screenでタイトルで、その端末を前に出す機能はないんでしょうかね。 ちょっとscreenスレで聞いてみます。 しかし、emacsにしろscreenにしろ非常に柔軟にできていて吃驚します。 mfiler2もこのようにしていきたいです。
.mfilerに keycommand NOMETA, KEY_CTRL_E, "*", "shell('%q%s emacsclient_for_screen.sh ./%f', '%f')" emacsclient_for_screen.shに screen -r -X select "emacs" emacsclient -n $1 & ってやってる。 オプションの詳細は覚えてないけど、 mfiler2でC-eしたらemacsを開いてるウィンドウをアクティブにしてemacsにファイルを渡す。 ただ、複数のscreenをデタッチしたりアタッチしたりしてるとアレな感じだったような。
emacsclientには-nというオプションがあったんですね。 対応した板を3.2.1cにアップしました。 今度こそemacsのバッファ対応です。 3.2.1cをコンパイルして$HOME/.mfilerに keycommand NOMETA, KEY_e, "*", "run_emacs(cursor_name())" でOKです。 GNU screen上の場合はemacsというタイトルのemacsプロセスが立ち上がったウィンドウがある必要があります。 100さん、ありがとう。
これは~/.emacs.elに (server-start) と書いて, ~/.mfilerに keycommand NOMETA, KEY_e, "*", "run_emacs(cursor_name())" と書くだけでいいんですか?Ubuntu+Gnomeという環境なんですが, 新規にEmacsが起動しちゃいます.GNU screenはよく知らんです.
うち(Debian etch)だと最初は新規で次からの起動は最初に立ち上がった emacs上でのバッファとしての起動になります。 /usr/local/etc/api.rbのrun_emacsの記述を見れば何か分かるかもしれません。
105 :
104 :2007/11/25(日) 21:40:49 ID:cM8Sh35j
情報小出しですみません。追加情報です。 cygwinは昨日入れたので以下の最新版だと思います。 Latest Cygwin DLL release version is 1.5.24-2 インストール方法はsetup.exeを実行してALLを選択してます。 それ以外には手を加えてません。 gcc -vの出力結果の最後の行は以下の通りです。 gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) 宜しくお願いします。
106 :
104 :2007/11/25(日) 22:18:14 ID:cM8Sh35j
度々すみません。 >インストール方法はsetup.exeを実行してALLを選択してます。 ALL⇒INSTALLを選択してます。
ログ見ましたけど、コンパイル通ってますね。 make installが途中で止まってるようです。 /usr/bin/install -c -s -m 755 mfiler2 /usr/local/share/mfiler2/bin /usr/local/shareにインストールしようとしてますが ./configure --prefix=/usr/local/shareと指定したんですね。 あとは export PATH=/usr/local/share/bin:$PATH mfiler2 で起動するはずです。
utf8-cygwinは前試したときは起動しても、うまく動きませんでした。 また気が向けば対応がんばって見ます。 utf8-cygwin自体は素晴らしいもので2バイト目の¥がある漢字も 問題なくcygwinから扱えます。
109 :
104 :2007/11/26(月) 00:16:01 ID:WL7czORl
>>107 レスありがとうございます。
ご指摘の通りに、
>export PATH=/usr/local/share/bin:$PATH
>mfiler2
としましたが動きません。
installの前のmakeで、"mfiler2(mfiler2.exe?)"というファイルが
できるのかな、と思ってるのですが、それがありません・・・。
utf8-cygwinの対応は気長〜にお待ち申し上げます。
>>109 ldのエラーでmakeが通ってないようです
bash-3.2$ make > 2.log
...
collect2: ld returned 1 exit status
make: *** [mfiler2] Error 1
...
bash-3.2$ make install > 3.log
/usr/bin/install: cannot stat `mfiler2': No such file or directory
実行ファイルが出来てないのに、それをインストールしようとしたので、
'No such file or directory'と怒られてるのです
Ruby関連のエラーが出てるみたいですが、Rubyはインストール出来ていますか?
cygwinは触ったこともないので、見当外れのことを言っていたらごめんなさい
>>110 レスどもです。
$ ruby -v
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-cygwin]
こんな感じでRubyはインストールできてると思います。
念のため、cygwinをアンインストール⇒レジストリも削除
⇒再インストール⇒mfiler2-3.2.1d.tgz(最新版)をコンパイルってのも
試してみたんですが、ダメでした・・・
112 :
104 :2007/11/26(月) 03:55:06 ID:WL7czORl
過去ログ等を見ていて、以下のような記述があったのですが、 >--with-ruby-lib-name="ライブラリの名前" libruby.soなら"ruby", libruby1.8.soなら"ruby1.8"を指定してください。 libruby.so、またはlibruby1.8.soというファイルはなく代わりに libruby-static.a libruby.dll.a というファイルがあります。不安に思ったのでrubyをアンインストールし、 ソースからコンパイルし直したのですが、やはり該当のファイルは生成されず。 さらにパスを合わせて、以下のようにしましたが、やはり全く同じ結果でした。 ./configure --with-ruby-header-path=/usr/local/lib/ruby/1.8/i386-cygwin --with-ruby-lib-path=/usr/local/lib --with-ruby-lib-name=ruby 明日は普通に仕事なのに悔しくてつい、こんな時間まで・・・・
114 :
login:Penguin :2007/11/26(月) 18:37:02 ID:VPT58rLx
3.2.1使ってます。とても便利に使わせてもらってます。開発乙です。 サイズの表示について伺いたいことがあります。 表示されるサイズの書式ってどこかで変更できるんでしょうか? (変更できないのだとしたら、以下要望なのですが) 今はファイルサイズが1MB以上になったら、hogeMと言う風に表示される(と思う) のですが、このとき小数点以下が切り上げられて、 hogeが整数になるのが、個人的にちょっといやです。 また、1MB以上から変わるのではなく、1KB以上1MB未満はhogeK、 みたいな表示もあったらいいなと思います。 要は、ls -lhな表示の方がよいと思う、ということです。 検討していただけたら幸いです。よろしくお願いします。
>>114 3.2.1eでファイルサイズの表示を3通りから選べるようになりました。
Vで設定できます。
Normalは今までどおりプレーン表示+M表示
Humanはls -lhな表示
Planeはプレーン表示です。
3.2.2アップです。フィルター機能を入れました。 グロブや正規表現でファイルを絞れます。 マスクはディレクトリを移動しても解除されませんが フィルタはファイルの再読み込みが発生しただけで無効になってしまいます。 その代わりディスクの再読み込みをしないので気軽にフィルタをかける ことができます。また重ねがけも有効です。 想定する使い方としてはMeta+f->all直後など多数のファイルがある ディレクトリでの使用です。 マスクと違って、ディスクの再読み込みが発生しないので、便利に使えると思います。
117 :
114 :2007/11/27(火) 20:22:23 ID:Lxkm6eoI
素早い仕事おつです。 ちなみに、ぼくもvimを使ってまして、vim7の新機能は使いこなせてないんですが、 95(外からコンソールのvimのタブにアタッチできない)を読んで、そんなはずは ないだろうと調べてみたところ、gvimでなくても可能だということが分かったので、 報告します。 vimが+clientserverでコンパイルされていれば(:versionで確認可能)、 ひとつ、vim --servername hogeで起動すれば、vim --serverlistでサーバとして 動いているvimが確認できる(HOGE)と思います。 あとは、上にあるようにvim --remote-silent-tabで開けばおけ。 お試しあれ。 では3.2.2インストールしてみます。
118 :
114 :2007/11/27(火) 21:03:55 ID:Lxkm6eoI
--remote-tab-silentでした。すみません。 3.2.2インストールしてみました。Humanとても良い感じです。ありがとうございます。
>>117 なるほど、そうやってできるんですか。
個人的には1プロセス1ファイルで使っていきます。切替えが楽なので。
yanktmpもありますしね。
>>113 レスどもです。
libtoolでgrepをかけると、主に鬼車のソースにヒットししたので、
鬼車単体でmakeしましたが特に問題ありません。
mfiler2自体のソースはlibtoolを使ってないようで、鬼車の
のlibtoolを使っている部分を無理やり書き換えたりもしましたが
エラーがでるだけでした(汗
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
↓
LIBTOOL='$(SHELL) $(top_builddir)/libtool -no-undefined'
職場の環境でも試してみたのですが、同様の現象でmfiler2は
makeできず・・・
最新のcygwinパッケージ(古いパッケージは知りませんが)でmfiler2を
使うには、まともな知識を持った人でなくてはダメそうです。
--- common_orig.h 2007-11-22 15:09:59.000000000 +0900
+++ common.h 2007-11-28 07:17:48.744000000 +0900
@@ -90,6 +90,8 @@
extern bool gChangeTerminalTitle;
+extern "C" {
extern void ruby_nkf(char* input, char* output, enum eKanjiCode code);
extern enum eKanjiCode ruby_kconv_guess(char* input);
+}
>>120 これでcygwinでコンパイルできましたよ。
>>120 cygwin用のバイナリパッケージを用意しますかね。
ちょっと考えてみます。
mfiler2 on cygwinはcygwinのバグ(2バイト目が\の漢字ファイルにアクセスできない)
以外は意外と使いものになります。
特に高スペックPCのファイラ+コンパイラ+エディッタでのプログラム開発用途ではコマンドラインツールが
あるので、結構いい感じです。
まあ、正直あふやエキスプロー(ry
>>121 レスどもです。common.hの
extern bool gChangeTerminalTitle;
extern void ruby_nkf(char* input, char* output, enum eKanjiCode code);
extern enum eKanjiCode ruby_kconv_guess(char* input);
をご指摘の通りに書き換えるのだと認識しましたが、
エラーが出て止まってしまいます。
最後に「;」を付けたり、色々試してみましたが、いかんせんC言語は
さっぱりわからず、何が問題なのかもわかりませんでした。
common.h:92: error: expected unqualified-id before '+' token
common.h:92: error: expected `,' or `;' before '+' token
make: *** [bin/main.o] Error 1
CYGWIN_NT-5.1 xxxxxx 1.5.24(0.156/4/2) 2007-01-31 10:57 i686 Cygwin
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
mfiler2-3.2.2.tgzを使用。
>>122 是非に、と思っているのは自分くらいだと思いますので、
負担にならない程度で、できましたら宜しくお願いします。
ひょっとして extern bool gChangeTerminalTitle; +extern "C" { extern void ruby_nkf(char* input, char* output, enum eKanjiCode code); extern enum eKanjiCode ruby_kconv_guess(char* input); +} ↑をこのまま書いたのではあるまいな extern bool gChangeTerminalTitle; extern "C" { extern void ruby_nkf(char* input, char* output, enum eKanjiCode code); extern enum eKanjiCode ruby_kconv_guess(char* input); } ちゃんとこう書いたか?
試行錯誤しつつmfiler2本体のmakeは出来たのですが、 c/migemoを組み込もうとした段階で躓いてしまいました。 c/migemoのソースもってきて./configure後、makeで以下のエラーが発生しています。 ctags src/*.c src/*.h /bin/sh: ctags: not found make: *** [tags] Error 127 mfiler2とは関係ない部分ですが、webで調べても情報を見つけることが出来なかったため アドバイスいただけると助かります。 使用環境はubuntu 7.10 amd64です。
ctagsが無いって言ってるんだからctagsが無いんだろ
ctagsってコマンドだったんですね configureの記述の問題なのかとかあほな勘違いしてました
>>124 ビンゴでした。ありがとうございます。
>>作者様
ツールを使って久しぶりに感動しました。
まさに自分が求めていたのはこれだ!と誇張無しで震えました。
これは質問でもなんでもなく回答不要ですが、どうやってWinの
エクスプローラーの関連付けを呼び出してるんでしょうか。
この所、職場では時間を見つけてFDcloneからWinのアプリを
呼び出すのにVBSでラップしたりして苦労してたんですが・・・
mfiler2ではデフォで、あっさり出来ててびっくり。
cygwin上でも、もっと進化すればsh等になれた人なら普通のWinの
ファイラーとして使われるんじゃないですかね。
>>128 喜んでもらえればcygwinに対応したかいがあるってもんです。
Winのエキスプローラーの関連付けはcygwinがやってくれます。
cygstart ファイル名で起動できます。
Win上で本気で使うなら色々小物のWinネイティブツールを作っていけば
ネイティブファイラに負けないものになるのではないかと考えていました。
まあ、とりあえずcygwinのバイナリを配布するようにします。
130 :
104 :2007/11/29(木) 22:06:14 ID:imdoQToi
>>129 cygwinのバイナリ配布の考慮ありがとうございます。
コンソールツールで、WinのGUIファイラを超えた使い勝手の良さ、
というのも凄いですね。
今、migemoを入れて、さらにパワーアップしました。
cygwinだと、どうしても日本語打ち込み時のIME切り替えが
面倒だったのですが、やっぱりmigemoいいですね〜。
>>レス頂いた方々
遅まきながら、無事makeできました。ここまでこれたのも皆さんの
おかげです。ありがとうございました。
FDの作者なくなったんだね
>>作者様 MacOS X 10.5.1 現行MBPでも元気に動いています。報告まで。
3.2.3アップです。
一括マーク後マークファイルを上の方にあげるようにしました。
一括マーク後どのファイルがマークされたか分かりやすくなった
と思います。
フィルター機能も特に問題がないようなので安定版にあげました。
>>132 ありがとうございます。ただweb上ではOSXはiconvがセグフォするという
情報も得ています。そういう症状が出る方はgdbでセグフォする場所を
教えていただけると助かります。
134 :
login:Penguin :2007/12/05(水) 06:06:56 ID:NCYDUmZW
「あふ」の拡張子別ファイルマスクが欲しくて、 .mfilerに以下のようなものを書きました。 defmenu("file_mask", "ALL Files", KEY_a, "glob_mask('*', '*', '*', '*')", "Texts", KEY_t, "regex_mask('¥.(txt|rtf)$', '*', '*', '*')", "Sources", KEY_s, "regex_mask('¥.(py|cpp|c|html?)$', '*', '*', '*')" ); keycommand NOMETA, KEY_SEMICOLON, "*", "menu('file_mask')" これで“Sources”をマスクすると、 .bashrcといったファイルまでヒットするのですが何故でしょうか。 正規表現に間違いは無いと思うんですけど。 また、もっと良いやり方などあれば、教えてくださいませ。
>>134 うちの環境では"%r regex_mask('\.(py|cpp|c|html?)$', '*', '*', '*')"
とコマンドラインでうつとちゃんとソースのみ表示されます。
一応ソースみましたが、そのようなバグが出るとは思えないのですが・・・
136 :
134 :2007/12/06(木) 09:01:07 ID:+zJkHDGf
>> 135 作者様、お手数かけて申し訳ないです。 コマンドライン上からは、きちんと動くのを確認しました。 defmenu("test_mask", "test", KEY_T, "regex_mask('¥.c$', '*', '*', '*')" ) こんな風にメニューを定義して動かすと、 バックスラッシュ(円マーク)が効いてない感じです。
137 :
134 :2007/12/06(木) 09:04:38 ID:+zJkHDGf
>>135 MacOSXで mfiler2-3.2.3を使ってます。
>>136 確かに確認しました。
原因はこうですね。文字列の中での定義なので
defmenu("test_mask", "test", KEY_T, "regex_mask('\\.c$', '*', '*', '*')")
と\\.c$としなければならないです。
これが嫌な人は
def regex_source()
regex_mask('\.c$', '*', '*', '*')
end
defmenu("test_mask", "test", KEY_T, "regex_source")
でいいです。
>>138 やっと理解しました。
すれ違いな話題なのに、ありがとうございました。
コマン道な人へ mfiler2内臓のシェルはコピーのバックグラウンド実行やコンソールエディタを 起動するくらいならいいんですがワンライナーの使用には耐えません。 パイプも今のバージョンはバグがあります。 コマン道な人は:によるシェル起動をしてからワンライナー書いてください。 あとはGNU screen上でmfiler2を実行すると全てのコマンド実行が 外部シェル($SHELL)に渡されるので、それでもいいかもしれません。 最近シェルが理解できる人になってきたので 内臓シェルはこれからの発展に期待してください。
mfiler2の内蔵シェルはzshのように間違えたコマンドを 訂正してくれる機能はないですが、コマンドラインの引数の 色分けが便利だと思うので発展するのはすごく嬉しいです。 ブログでは「コマンドラインのファイラを作って恥ずかしい」と ありましたが、そんなことはないと思いますよ。 私もいろいろなファイラーを使ってみましたが、 コマンドラインと一番親和性が高いのはmfiler2だと思います。 コンソールで動作するということも理由の一つでしょうが、 そこは胸を張ってよいでしょう。
そういってもらえると、ありがたいです。 内臓シェルは独自仕様を考えています。 lisp風とか、みんな嫌がりそうで、やってみたくなりますが。 いや、それはないですけど。 ただ、結局文法やインターフェースというのだけが変わっても意味がないし 単にユーザーに負担を強いるだけというのはよくわかっています。 哲学や本質が変わるときのみ意味がありますね。 といっても、そんなたいそうな代物は生み出せそうにありませんが。 irbshみたいなのがいいと思う人多いですか?
やっぱりbash互換が無難ですね。irbsh的なものの実装は大変です。
145 :
login:Penguin :2007/12/09(日) 01:17:22 ID:h8foCFZY
あんまり需要はないかもしれないけど、要望です。 マスクで、マスクと一致しないファイルだけを表示、っていうモードがほしいです。 (文字列に一致しない、っていう正規表現はすごい複雑になるんで書く気がしないですし)
review requestの審査通過おめでとうございます。 私はFedoraは使っていないのですが、もっと多くの人に mfiler2を知ってもらえる機会が増えるので嬉しいです。
>>145 いいですね。是非いれたいです。少しお待ちを。
>>146 ,147
パッケージ化ありがとうございます。
とても嬉しいです。
4.0.0アップです。内部のRubyコマンドを整理しました。 カスタマイズされている方は変更する必要があると思います。 マクロが変わっています。 %d1-->%d, %D1-->%D, %m1-->%m, %M1-->%M, %M-->%o あとコマンドラインへ移行がcmdline_c, cmdlineの使い分けになってます。 dir_moveがdir_move, dir_move_sdirなどではなく最初の引数に数値をとるようにしました。 dir_move(0, "/home/daisuke") # 左のディレクトリを/home/daisukeに移動 dir_move(adir(), "/home/daisuke") #アクティブなディレクトリを/home/daisuekに移動 このあたりは軽くカスタマイズされていた方も、影響があります。 仕様変更ほんとに、すみません。 嬉しい変更はファイラ画面のthe Minnu's Filer2のところがカスタマイズ可能になったことです。 任意の文字列を表示できます。 詳しくは.mfilerを見てカスタマイズしてください。
開発おつかれさまです。 私は.mfilerをいじったことがないので、 どこが変わったのかよく分からないのですが。 4.00に上がったということは、内部もかなり変わったのだろうということで、 今度は.mfilerもいじってみます。
そんなに変わってはいませんが、これでRubyコマンドは あまり弄る気はないということで4.0.0にしました。 マニュアルはおいおい準備します。 5.0.0に向けては 1.漢字変換をiconvからnkfにする(変換率のアップ) 2.内臓シェルをbash互換にする を考えています。 まあ、そんな感じです。まだまだ開発意欲はあります。 楽しみはこれからです。
152 :
146 :2007/12/13(木) 11:05:17 ID:8CjOJDdP
>>152 それはyum install mfiler2でインストールできるようになったということでしょうか?
154 :
146 :2007/12/16(日) 23:08:55 ID:UaGPZziB
yum install mfiler2でインストール出来たが アプリケーションのメニューに追加されないのね。 自分でランチャの生成ですか?
156 :
146 :2007/12/17(月) 10:31:17 ID:uVVpdUhT
>>155 GNOMEパネルのアプリケーション・メニューの事でしたら、
これはGUIなアプリケーションを登録するものですので、そのままの
形では追加できません。
"uxterm -e mfiler2として登録することは出来ますが、
あまり意味のないようにも思います。なにかアイディアがありますで
しょうか。
>>154 そうなんですか。それは凄いことですね。
こちらもFedoraを用意してみます。
4.0.0bアップ。 Fedoraにインポートされた記念として? yumコマンドでパッケージ名補完が有効になりました。 yum install hto[TAB] --> yum install htop が可能です。 ただ一回目のパッケージ名の読み込みはかなり時間がかかるので ご了承ください。二回目からはキャッシュが効きます(一日有効) あと4.0.0, 4.0.0aではあふ風のコピーをデフォルトでは切っていましたが やはり、元に戻しました。 あとはインクリメンタルサーチのオプション(先頭マッチに失敗したらパートマッチに切り替える) はデフォルトでは切りました。オプションを有効にしていないとf,Fによる 使い分けが必要です。
4.0.0cアップです。 findのメニューをMeta+fからFにバインド変更。 先頭マッチに失敗したらパートマッチに切替えるインクリメンタルサーチのオプションを デフォルトで有効に。 それだけです。やっぱりデフォルトで使い易い状態にしておきました。
4.0.0dアップです。 ソートにランダムソートを追加。 使いかたは色々です。
更新乙です。バージョンアップにもう全然ついてゆけなくなってしまった自分。 どこかにmfiler2の便利な使い方やTipsをまとめたサイトがあったらいいなあ と妄想してみる。
4.0.0eアップです。 ほんと細かいアップデート申し訳ないです。開発版なので御了承ください。 でも、もう少しまとめてアップデートするようにしてみます。 最近入った機能の便利な使いかた ~/mp3にmp3ファイルがバンド名-アルバム名というディレクトリにあった場合 適当に好きなバンド名-アルバム名をマーク。 F, allでマークしたディレクトリのmp3を全て表示させる。 ソートをランダムにする。 HOMEでmp3を全てマークする。 ENTER mplayerでmplayer %mを実行させる。 これで選んだアルバムのmp3がランダムに演奏されます。 マークファイルのFは4.0.0eで入った機能なので開発版が必要です。
>>162 お疲れ様です。
64bitでmakeするとエラーが出るのってかなり昔からありますけど直す予定はないですか?
一応ファイルをいじればmake通るから構わないと言えば構わないんですけど、毎回ちょっと面倒なんで。
ちなみにエラーはこんなやつです。
cd wkf-1.3.9 && ./configure && make
checking build system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized
configure: error: /bin/bash ./config.sub x86_64-unknown-linux-gnu failed
make: *** [wkf-1.3.9/libwkf.a] エラー 1
>>163 そのチェック回避するように./configureをいじればいいんじゃないの?
165 :
login:Penguin :2007/12/19(水) 00:09:55 ID:PhnjOOS5
言いだしっぺキタ━━━━━━m9( ゚∀゚)━━━━━━!!
>>166 作者降臨してるんだし、x86_64で問題が特に起こってないなら
次回バージョンからそこを削除してもらうだけだろ。
てか修正箇所がわかってるなら、スクリプトでも組んでおけばいいじゃん。
168 :
146 :2007/12/19(水) 00:31:20 ID:w8PhXgFe
169 :
114 :2007/12/19(水) 23:28:15 ID:3mkUcdj5
バグ報告です。viewをHumanにしていると、1GB(かな?)以上のファイルで、 ファイルサイズを表示するところにパーミッションが表示されます。 ちなみに、NormalおよびPlaneだと、大丈夫です。 NormalでもG単位の表示はないんですね。できたら、HumanではG単位の表示だとうれしいです。 よろしくお願いいたします。
>>169 修正しました。内部的にはGの表示はあったんですが
判別するところにオーバーフローがありました。
version 4.0.1アップです。
>>163 現在subversionの環境を整えつつあります。
あとはルーターの設定だけです。
anonymousにも修正の権限を与えるので、もう少しお待ちください。
もしくは修正方法を教えていただければ、こちらで修正いたします。
svn checkout svn://domino.dip.jp/mfiler2 でチェックアウトできます。 修正したら svn commitでアップデートできます。 svnの詳しい使いかたはwebなどで勉強してみてください。
4.0.2アップです。 toggle markにバグがありました。修正。 あと内部コマンドでread, exportを入れました。 環境変数の設定がmfiler2内蔵シェルでできます。 今はshellのパワーアップに力を注いでいます。 ただ、簡易シェルだけで挫折するかもしれません。 シェル実装はファイラー実装より遥かに難易度高いです。 とりあえずbusyboxのシェルのソース読んでますけどね。 できればスーパーハッカーの方、助力お願いします。 svnで開発に参加できます。
すみません。4.0.2はシェルの動きがバギーでした。 全然安定板とは言えません。 4.0.5をアップ。
>>作者様 ArchLinuxというディストリビューションを使っている者です。 mfiler2のPKGBUILD(Gentooのebuildにあたるもの)を作成しました。 現在はコミュニティリポジトリにアップロードして、私がメンテナンスを行っています。 そこで一つ要望があるのですが、古いソースコードもウェブ上に残しておいて貰えないでしょうか? PKGBUILDではソースURLを指定するので、古いソースが消されてしまうと、mfiler2のアップデートから 私がPKGBUILDをアップデートするまでの間はPKGBUILDが「壊れた」状態になってしまうのです。 ソースURLとしてバージョン番号の付いていないmfiler2.tgzを指定しても、PKGBUILDは ソースのハッシュ値もチェックしますから結局makeできません。 暇人なのでできる限り早くアップデートするようにしていますが、どうしてもラグができてしまうので・・ どうかよろしくお願いします。
すみません。 安定版の方はできるだけ残すようにします。 スペースの問題で最新版は残せません。
4.0.5aですが、tarballの中にmfiler2-4.0.5なる subdirがあり、結果としてtarballのsizeが約2倍に なっているようです。
>>176 了解しました。
どうもありがとうございます。
>>177 マジですか。すみません。また安定版上げます。
4.0.5aは残しておきます。
Windowsでは、あふ使っている方へ。 あふとの違いで気になる点はありますか? 似せたいと思っています。 Windowsで、あふ、Linux, Macで、mfiler2と使っている人がストレスを 感じないように。 クローンにする気はないですが、ある程度似ている方がいいだろうなと思っています。 ぱっと見で分かるのは、ログがない、a,rの動作が違うですが。 あとコピー時の進行状況がないてんですかね。 うーん。もう少し自分でも研究してみますけど。
>>180 本体の機能ではありませんがSusieプラグインと統合化アーカイバdllの呼び出し
が組み込まれている点が運用上大きな違いになりますが、linuxでは難しいですよね。
>>181 画像のプレビューはコンソールでは不可能ですね。
圧縮ファイルの仮想ディレクトリは可能だと思います。
また気が向けば実装するかもしれません。
Fedoraなど、純正のcmigemoを使っているmfiler2では c --> コなど p --> progなど がマッチしません。 C --> コ P --> prog と大文字でマッチさせる必要があります。 これは純正のcmigemoの辞書ファイルのバグだと思います。 それを修正したcmigemoの辞書ファイルをmfiler2に同封して自分でコンパイルした 場合はそちらを使っています。 どこを修正したのかちょっと記憶にないのでcmigemoの作者に教えることができません。 暇な方、バグを追跡してもらえませんかね。 ちょっと夜勤明けで解析する気力もありません。 c,pの出す正規表現をprintfデバッグすれば分かったはずなんですが。 まあ、また次の休みにやりますが、報告まで。
Fedora8でyumでインストールしました。 漢字のフォルダ名が文字化けとフォントが小さいので変更したいです。 .mfilerを見てもそれらしきものがありませんでした。 神を教えてください。
CentOS4.5でインストールしようとしたんですが、 make時に以下のエラーが表示されました /usr/bin/ld: cannot find -lruby collect2: ld はステータス 1 で終了しました make: *** [mfiler2] エラー 1 原因がよく分からないのですが、どのように対処すればよいでしょうか? rubyは1.8.6をデフォルト設定のままインストールしています
186 :
185 :2008/01/03(木) 15:54:55 ID:H7bzHY0V
ちなみに、mfiler2-4.0.5b.tgz(安定版)を使用しています
187 :
146 :2008/01/03(木) 16:38:27 ID:xE/FEp2f
>>185 ruby-develを入れてください。
189 :
185 :2008/01/03(木) 18:00:25 ID:H7bzHY0V
>>187 ありがとうございます。
yum install ruby-develしたらmakeが成功するようになりました。
これでようやくmfiler2が試せそうです。
ただ、yumで落ちてきたruby-develのバージョンが1.8.1〜となっていたのが
ちょっと気になります。これは特に問題ないでしょうか?(1.8.6〜のバージョンもあるのかしら?)
そもそもruby-develって何者なんでしょう
>>182 FDcloneでの話ですが、w3mの画像のインライン表示を有効にした上でPAGER=w3mにして
コンソール上で画像見たりしてた事があります。mfilerでも同じように出来るんじゃないでしょーか?
Cygwinではムリですけど。
>>190 うーむ。画像のプレビューはdisplayコマンドでいいじゃん?って感じなんですよね。
内蔵画像ビュワー、内蔵テキストビュワー、内蔵エディッタとかって無駄な気がしませんか?
ツールを選ぶ自由度もないし。
え!?内蔵シェルの方が無駄?
そんなこと言わないでください、、、。
欲しいのは画像のサムネイル表示ですかねぇ。あれは画像ファイルを整理するときは必要な気がしますから。
簡単ならやってみますね。たぶん難しいと思うので、あまり期待しないでください。
確かに画像が表示できれば、色々夢は膨らみますねぇ。アイコン表示とか。ううむ。
シェル内蔵のワンライナー実行可はなんとか達成したいです。
ワンライナー書くのってLinuxでは楽しみのひとつですよね。
盛り上がってまいりました!
version 4.0.6アップです。 修正点はひとつだけ。パイプをつなげて実行すると子プロセスと親プロセスの実行のタイミング によってはsetpgid2と表示されて画面が固まっていたと思うんですが それを修正しました。 一応シェル関連のバグは全部潰したと思ってます。 というわけで安定版も上げておきました。
194 :
login:Penguin :2008/01/06(日) 11:48:54 ID:DANte2FV
>>128-129 でWindowsでの関連付けの話がありましたけど、
Linuxで関連付けられたアプリの起動はできませんか?
(例えば.htmlをFirefoxで開く、など)
それともう一つ。 作者さんのブログ見てたらJavaでGUIで作るって話が出てましたけど、 Java+Swingで作るならjFD2を参考にしてみてはいかがでしょうか。 ソースが公開されているので。
>>194 gnome-open ファイル名
で開けます。
/usr/local/etc/.mfilerをHOMEディレクトリにコピーして
~/.mfilerの末尾に
keycommand NOMETA, KEY_ENTER, "*", "shell('%Q gnome-open %f', '%f')"
と書いておけばENTERでgnome-openが起動します。
GUIで作るならC+Gtk&rubyです。
Javaはファイル属性を扱えないと聞きますから。
あと名前つきパイプや、ソケットとかUNIX固有のファイルもコピーできないと
システム管理に使えるファイラとは言えないと思うので。
あとruby+Gtkも友達がいまいちだとぼやいていたので、これもちょっと使いません。
やっぱり、こういうアプリケーション作成用途ではOSのAPIを直接触れるCが、これからも強いと思いますよ。
ヒストリーのとこ2007年になってる 2007年1月5日 4.0.6 パイプのバグを修正。安定版にアップ。
>>197 ありがとうございます。修正しておきました。次のアップデートのときに書き換わります。
>>196 キタ━(゜∀゜)━!………( ゜д゜)アレッ
何かENTERで動かないので.mfilerの末尾を
#keycommand NOMETA, KEY_y, "*", "menu('my_commands')"
keycommand NOMETA, KEY_y, "*", "shell('%Q gnome-open %f', '%f')"
ってやってy押したら関連付けられたアプリが起動しますたヽ(´ー`)ノ
何かよく分かってないんでチマチマと弄ってみまつ
>> Java
ナルホド。Javaはファイルシステムに関する機能が充分ではないのですね。
私はWindowsでは「あふ」を使っている者です。
一応要望を挙げてみます。
「あふ」では設定を変えると、ファイルディレクトリがループできるのですが、
mfiler2ではそれができないのが難点ですね。
(.mfilerの設定によりメニューはループできる)
画像のサムネイル表示をしたいとのことですが、
それをやるならば、mfiler2がターミナルの
256色表示に対応する必要がありますね。
よりカラフルになるので、私は歓迎します。
>>189 ruby-develはrubyの開発者用パッケージ。
mfiler2は内部実装にrubyを用いているため必要になる。
ruby1.8だったら大丈夫だったはずだから、バージョンは1.8.1でも問題ない。
201 :
189 :2008/01/07(月) 19:07:07 ID:bfEKNCIC
>>200 ruby-develの件、親切に教えていただいてありがとうございます。
よくわかりました(^^
>>200 256色対応はいいですね。正直いまのままではカラーが足りませんね。
画像関連はちょっと無理かもしれません。
考え中です。
4.0.7アップです。
スーパーインクリメンタルサーチ機能を入れました。
Fにバインドしました。
Meta+fがfindになりました。
スーパーインクリメンタルサーチというのはハードディスク内全ファイルを
対象にするインクリメンタルサーチです。
例)
F, messages, ENTERで/var/log/messagesに移動できます。
ただし使う前に全ハードディスクをサーチしてキャッシュを作成する
必要があります。
$, sでいけます。
たぶん、まだバグがあると思います。バグがあればここに書き込んでもらえると助かります。
安定したら安定版にあげます。
現在は英語ファイル名のみマッチします。
migemo対応は考えてますが、計算機パワー的に無理かもしれません。
意外と重くなければいいんですが。
そんな感じです。では。
203 :
login:Penguin :2008/01/10(木) 14:45:20 ID:4u7UYjJE
自分も「あふ」を併用しています。 既に提案されている方がいますが、 書庫ファイルを仮想ディレクトリとして扱う機能が無い事が、 一番不便に感じます。
おれもおれも
圧縮ファイルの仮想ディレクトリ、了解です。 シェル機能の拡張は一休みします。 やっぱりmfiler2はファイラなのでファイラらしい機能を入れるべきだと思い直しました。 ちょっとファイラらしい機能を追求していきます。
スーパーインクリメンタルサーチ、ファイル数が多いMacでは めちゃくちゃメモリ食います。 たぶん、使い込んだLinuxでも同様なはず。 これでは使えませんね。 今アルゴリズムを変えようと考えてます。 配列の配列の配列の配列の配列で分けようとしたら サイズが超えたとコンパイラに怒られました。 動的配列でやるしかないか。 このアルゴリズムで省メモリ、高速化が行けると思うのだけれども。 locateって、どうやっているのか・・・
省メモリは無理ですね。うーむ。200Mもメモリ食っていたら コンピュータ選びますね。うーむ。 起動も終了もかなり重くなるし。 廃止するかもしれません。
うーむ、それか検索するディレクトリを制限するという方法でやるしかないか。 それはありか。 どのようなディレクトリが良いでしょう。 /var, /etcは要りますね。 /usr/includeはいるしな。 でもディレクトリだけは全部登録させておきたいし。 うーむ。 メモリにキャッシュしないでディスクにキャッシュするというアルゴリズム でもいけるかもしれない。 うーむ。 正直アップデートしたのは間違いでした。すみません。 ファイル数の少ないシステムでは今のままでも大丈夫だと思いますが それ以外の方は最新版を使わないでください。 すみません。
インデックスは、使用頻度の高いディレクトリは デフォルトで登録して、残りは手動でやらせればいいと思います。 Vistaでも全部はインデックス付けしていなかったはず……。 使用頻度が低いならば、いつもはディスクにキャッシュして 使用時に読み込むのも手でしょうね。 ちなみにメモリは食うでしょう。Vistaのインデックス作成も、 バックグラウンドで100MBはメモリを食っていたはずです。
>>209 ディスクキャッシュで問題ないアルゴリズムができました。
最近のハードディスクの読み込みは速くてテキストなら多少でかくても一瞬です。
migemo対応もできそうなので、対応したらアップします。
それまでは最新版は消しておきます。
ディレクトリを指している時に du -sh のようなサイズ表示が欲しいです
vesion 4.0.7を再アップ。
今度のスーパーインクリメンタルサーチは速度、メモリ的に問題ないと思います。
migemoも対応しました。
ただしデフォルトではmigemoは切ってあります。
相当マシーンパワーを要求するので。
(Pentium3 755MHz程度ではストレスになる)
一応デバッグは徹底してやってますが、まだ抜けているところも
あると思うので安定版には上げません。
パッケージメンテナの方へ。ディスクスペースの問題のため前の安定版は削除しました。
最新の安定版しか残っていません。
今後も前の安定版は残せないと思います。
今のgeocitiesは知りませんが、昔のgeocitiesは
凄くディスクスペースが小さくて、すみません。
>>211 iじゃ駄目ですかね。
ちょっと考えます。
>>212 すみませんが、バージョンを変えていただけないでしょうか。
/tmpに保存したら再起動時キャッシュが消えちゃいますね(笑) 常時起動のサーバー上で作っていたので気がつきませんでした。 馬鹿なのがバレてしまいましたorz すげー恥ずかしい。 さて、どこに保存するんだろう。 ~/.mfilerですかね。 /etc/smb.confに一度アクセスすればsだけでアクセスできる機能を考えると ユーザーごとにキャッシュは必要ですね。 早速変えます。ああ、馬鹿な作者で、ごめんなさい。
人が居ない……。 ほっしゅ! 作者さん、頑張ってください。
ありがとうございます。 コンソール動作自体がマニアックなので、人が少ないのは仕方が無いと思います。 でも、screen,emacs,vim,zsh,htop,w3mあたりが好きな人に気に入ってもらえないかなと思っています。 僕もコンソールアプリは大好きなんでね。 そういう人向けに面白い機能実装していきますよ。
64ビットのPCでwkfのコンパイルが通らないのは既出なんですが このようなPCではuname -aはどのように表示されますか? 対応させたいので、教えてもらえると助かります。
>>218 Linux hogehoge 2.6.24 #1 SMP PREEMPT Fri Jan 25 16:55:49 JST 2008 x86_64 GNU/Linux
自分はこんな感じです。
hogehogeはホスト名。
ガーン。何時の間にかバージョンアップしてる。 気付かなかったorz 今まで困っていたのでこの修正は地味に嬉しいです。 2008年1月21日 4.0.8b 起動時日本語ファイルが化けるバグを修正。 作者さんに聞きたいのですが、 私は勉強ついでにmfiler2のドキュメントを作成してみたいと思っています。 成果はこのスレッドにでも公開したいと思います。 mfiler2のドキュメントはどこが一番足りないでしょうか? 参考までに教えていただけると助かります。
あまり役に立たないかもですが、64bit環境でコンパイルが通らない問題は以下の方法で回避してます。 試したのはubuntu 7.10 amd64環境です。 wkf-1.3.9内で libtoolize --copy --force いまんとここれで問題なく動いてます。 x68kのmintが大好きだった自分としては、mfiler2は待望のファイラーでした。 すでに十分すぎる機能が備わっているとは思いますが、さらなる発展も楽しみにしています^^;
>>220 4.0.0でコマンドを変更したので現在のドキュメントは間違いがあります。
作成しようと思うとcommand.cppを読む必要があります。
作者じゃないと作成は難しいので便利な使い方サイトなんて作ってもらえるとうれしいです。
>>221 64環境でも対応させてアップデートしたいと思います。
mintと比べられるなんて光栄です。
223 :
220 :2008/02/04(月) 10:00:59 ID:8NrJ1PXE
>>222 作者さん、ありがとうございます。
そうですね。いずれはそういうサポートサイトでも作って
ドキュメント等の情報を公開したいと思っています。
こういう紹介サイトが一番mfiler2には足りないと思うんですよね。
現在はユーザーの草の根で普及している感じなので。
作者さんに質問なのですが、その間違っているドキュメントとは
何のファイルのことを指しているのですか?
mfiler2マニュアルやシェルマニュアルですか?
確かに、現在までのバージョンアップでかなり変わっていそうです。
更新履歴に書いてある程度の変更ならば私でも修正できるのですが、
書いていないレベルの細かな修正は無理でしょう。
command.cppは一応読んでみようと思いますが、どこまで読めるか……。
mfiler2マニュアルですね。 4.0.0の更新に追いついてません。 具体的にはディレクトリ内にマークしているファイルがあればtrueを返す コマンドmarkingは 昔は対象ディレクトリを marking カレントディレクトリ marking_sdir もう一方側のディレクトリ marking_ldir 左のディレクトリ marking_rdir 右のディレクトリ なんて、かなりあほなことをやっていたんですが marking(0) 左のディレクトリ marking(1) 右のディレクトリ marking(adir()) カレントディレクトリ marking(sdir()) カレントじゃないほうのディレクトリ と変わっています。 同じように細かに変えたコマンドがあります。 その更新が間に合っていません。
mfiler2ユーザ(debian lenny)のひとりです。 WindowsではDynaを使っているのですが Linuxにはmfiler2以外に決定打となるファイラがないので、非常に期待しています。 viユーザなのでキーバインドをカスタマイズしたのですが、やはり標準で提供された方がうれしいです。 mfiler3の登場を楽しみにしてます!! --- 4系からのAPIの変更にともない、カーソルを最下部に移動させる方法が分からなかったのですが いろいろ試してみたらできたので書いておきます。 keycommand NOMETA, KEY_G, "*", "cursor_move(adir(), cursor_max(adir()))"
226 :
220 :2008/02/05(火) 13:33:24 ID:l5jzGwyX
確かにそういう細かい変更は反映させるのつらいですね。 関数もかなり多いですし。 ちなみに、command.cppを読んでみました。 ソースは丁寧に書いてあったので、読みやすいのですが、 3000行もあってちょっと挫折……。 自分で書いたコードだったら記憶に残っているので良いのですが、 他の人のソースで数千行はやはり大変です。 私がドキュメント書くならば、シェルの補完関数や .mfilerとかでしょうか。 でも.mfilerには細かいコメントが書いてあるので必要ないような。
作者さま: /tmp以下は通常誰にでもアクセス出来るために、セキュリティ上 色々注意が必要です(とよく文句を言われます) 特に、 *全てのユーザーが同じ名前のファイルを使うようにしてあると、 他の人がそのファイルを上書きしたり、もしくは他の人が プログラムを使えなくなったりする */tmp以下に「予想しやすい名前」のファイルを使うようにしてあると、 symlinkを使う(等の)セキュリティ上の攻撃に弱い という問題がありますので、 */tmp以下を使うときは名前が使う人によって重複せず、また 「悪意ある人」によっても予想されにくいような名前のファイルを 用いる *いっその事、必要なければ/tmpを使わず、全てのファイルを $HOME以下に移す ようにしていただけないでしょうか。
>>225 viバインドは用意されている方ここに貼り付けてもらえると嬉しいです。
良くできたバインドなら標準で採用しますよ。
>>226 シェル補完関数のドキュメントはとてもうれしいです。
zsh風のコマンド補完するコマンドを増やしていかないといけないので。
>>227 わかりました。すみません。$HOME/.mfiler2に移動したバージョンをアップします。
少しお待ちください。
ちょっと設定ファイルのシンプル化をしていきます。 今のままだと無駄にレイヤーができて複雑になっている気がします。 エキスプローラー風のキーバインドは廃止してもよろしいでしょうか?
230 :
220 :2008/02/15(金) 15:07:45 ID:58vy7XFT
作者さん、ありがとうございます。
シェル補完関数のドキュメントをなんとかやってみます。
/usr/local/etc/completion.rbに書いてある補完関数と、
そのやり方でも書けばいいのでしょうか。
ただ、量がかなり多いんで時間かかりそうです。
そういえば、Minnu's Filer2 on Windowsが完成していましたね。
ttp://mfiler2.web.fc2.com/index_win.html ちょっとサイズが大きいのが難点ですが、試してみます。
>>229 ちなみに、私はエクスプローラ風のキーバインドは使っていません。
使っている人はいるのかな?
と思いましたけど、これでいい気がしました。 そのままにしておきます。 vimバインドも用意しようかなと思いますけど 勝手に決めていいものか。普通の英字キーとshiftキーで移動系。 Meta+cでコピーとかですかね。 あまりMetaを使った操作体系は好きじゃないんですけどね。 Alt+英字キーがMetaな端末じゃないと困りますから。 うーむ。 ひとつバグを見つけました。 ls | lv or lessでCTRL-Zして、もう一回フォワグランドに戻せません。 今から直します。 あまりLinux板の人には関係ないかもしれませんがWindowsバイナリ用意しました。
と思いましたけど、これでいい気がしました。 そのままにしておきます。 vimバインドも用意しようかなと思いますけど 勝手に決めていいものか。普通の英字キーとshiftキーで移動系。 Meta+cでコピーとかですかね。 あまりMetaを使った操作体系は好きじゃないんですけどね。 Alt+英字キーがMetaな端末じゃないと困りますから。 うーむ。 ひとつバグを見つけました。 ls | lv or lessでCTRL-Zして、もう一回フォワグランドに戻せません。 今から直します。 あまりLinux板の人には関係ないかもしれませんがWindowsバイナリ用意しました。
233 :
220 :2008/02/15(金) 16:03:26 ID:58vy7XFT
一応報告しておきます。 Windows版 mfiler2ですが、日本語ディレクトリで実行すると 問題が起こるようです。これはcygwinの問題かな? ちなみに、mfiler2フォルダをデスクトップからC:\に移動したら実行できました。 C:mfiler2> ./mfiler2 (eval): [BUG] Segmentation fault ruby 1.8.6 (2007-03-13) [i386-cygwin] 74 [sig] mfiler2 612 open_stackdumpfile: Dumping stack trace to mfiler2.exe.stackdump しかし、少し使ってみましたがmfiler2はやはり凄いですね。 cygwin無しでもWindowsで動くようになったとは。 内蔵シェルも色分けも動作します。 特にWindowsはシェルが貧弱なうえに、 cygwinでもzshはまともに動作しなかったのでかなり快適です。 Linuxの時よりも描画が遅いのが唯一の難点ですが、ckwでもきちんと動作したのには驚きました。 これを機会にmfiler2が一気にメジャーになるといいですね。
234 :
220 :2008/02/15(金) 16:35:19 ID:58vy7XFT
連投すみません。 mfilerドキュメント計画の一環として、 mfiler2.batをさらしておきます。 バッチファイルをパスの通ったディレクトリ (例:C:\windows\system32)に置いておけば、 cygwin.batのようにどのディレクトリからでもmfiler2を実行できるようになります。 ただし、mfiler2起動時のカレントディレクトリは mfiler2.exeのあるディレクトリになります。 ディレクトリはmfiler2のあるディレクトリに適当に変更してください。 mfiler2.bat ここから------------------------------------------------------------ @echo off rem 最初にカレントディレクトリを変更しないとエラーになる cd C:\mfiler2 SHIFT c:\mfiler2\mfiler2 %* ここまで------------------------------------------------------------ それと作者さん、 Minnu's Filer2 version 4.0.8f (c)D.Minato 2004-2007 これは2004-2008ではないのでしょうか。 Windows版は.mfilerを見ていないのも気になります。
2008ですね。次直しておきます。 .mfilerはホームディレクトリのものを見なくても etc/.mfilerを見ればいいので、そうしておきましたけど もとの.mfilerと修正した.mfilerがあれば便利な気がするので ホームディレクトリも見るように直しておきますね。 ls|lv, CTRL-Zでもう一度フォアグランドに戻らないバグ直しました。 4.0.9です。Windows版も直してます。安定版にあげました。
Windows版が以下のメッセージを吐いて起動しません。 環境はWindows2000sp4で、Cygwinはインストールしてません。 (eval): (eval):0:in `require': no such file to load -- nkf (LoadError) from (eval):0 (eval): [BUG] Segmentation fault ruby 1.8.6 (2007-03-13) [i386-cygwin] 2806 [sig] mfiler2 1588 open_stackdumpfile: Dumping stack trace to mfiler2.ex e.stackdump
237 :
236 :2008/02/16(土) 08:49:27 ID:G5uZEA11
ごめんなさい、>233を読んでませんでした。。 C:\からだと大丈夫でした。 Cygwinでソースからコンパイルしたものより全然 起動が早いですねー。
Arch Linuxユーザです。 久々に公式を見たらインストールの項にArchがあってびっくりしました。 インストールのことについて全然説明していなかったので、説明しておきます。 yaourt -S mfiler2 これでソースの取得、ビルド、インストールが行われます。yaourtがよく分からない人はググってください。 バイナリパッケージは提供されませんが、たくさんvoteしてもらえればcommunityリポジトリに入るかもしれないです…。
239 :
login:Penguin :2008/02/19(火) 12:56:21 ID:csQ2e8at
作者様にはいつも感謝です。 Windows版があるというので走っていったら404です。。。
4.0.9aアップです。一時ファイルに/tmpは使ってません。 あとは特に変更はないです。Windows版の方はダウンロードできるようになってます。 次のアップはシェルの拡張になると思います。 &&, ||との実装です。かなり書き方を変えないといけないので一筋縄では いかないと思いますが、ワンライナーの実行できるファイラへの布石になると思います。 cat file | while read LINE; do echo "$LINEの処理"; done がなんとか書きたいですねぇ。
241 :
pie :2008/02/21(木) 15:50:27 ID:50AYhjef
fedora core 7にて、3.1.7を使っておりましたが(mfikerには感謝の言葉意外はありません)、先日、yumから4.0.9をインストールし、起動すると、 NoMethodError: undefined method `cmdline_prompt' for main:Object とのメッセージが出てきてしまいます。どのようにすればよいのでしょうか。御教授お願い致します。
たぶん3.1.7のetc/.mfilerにはcmdline_promptの記述がなかったため コピーした$HOME/.mfilerにその記述がないためだと思います。 /etc/.mfilerのcmdline_promptを$HOME/.mfilerにコピーしてください。 ただ4.0.0で内部コマンドが変わっているため、ほかの部分で動かないこと があるかもしれません。
/etc/.mfiler --> /etc/mfiler2/.mfilerです。
244 :
pie :2008/02/21(木) 18:02:48 ID:50AYhjef
しっかり動きました。ありがとうございました。早速、emacsなどの設定をしてみたいと思います。
245 :
239 :2008/02/22(金) 12:48:19 ID:8rO72jxk
ダウンロードできました。 Windowsで使えるだけではなくポータブルなcygwinにも感動。
>240 ホントにWindows版上がってる?
247 :
146 :2008/02/23(土) 21:04:25 ID:z8MM70EY
248 :
220 :2008/02/27(水) 10:00:27 ID:bvMnFVig
mfiler2.bat地味にバージョンアップ(一行変更しただけ)。 パスが通っているドライブがmfiler2のあるドライブと 異なっていても動作するようになった。 mfiler2.bat ここから------------------------------------------------------------ rem @echo off rem 最初にカレントディレクトリを変更しないとエラーになる cd /D C:\mfiler2 SHIFT mfiler2.exe %* ここまで------------------------------------------------------------ 作者さんに質問なのですが、mfiler2のコマンドラインオプションは どうなっているのでしょうか? もしコマンドラインから左窓や右窓のディレクトリが変更できるなら、 他のファイラーから呼び出すことも容易に出来ると思うのですが。 特に、現在mfiler2のあるディレクトリからの起動のみに制限されている Windows版ではどうなのか知りたいです。
mfiler2 -m パス で起動しているmfiler2のディレクトリが変更できたはず。 右も左も変更されたような気がしますが。 アクティブディレクトリだったっけかな。 あ、でもウィンドウズでは無理だったかもしれません。 ユニックスドメインソケットが動かなかったので。 今のcygwinなら動くかもしれないので、また対応させるかもしれません。 後はすべてのコマンド実行を外からできるようにすることですが セキュリティ的に問題があるので・・・ linixでは解決方法を思いついたのですが(ソケットを700のディレクトリに置く) ウィンドウズでは無理な気がします。 ただ今ちょっとプライベートが忙しくてそれどころではないです。
250 :
nicowrite :2008/02/28(木) 16:42:22 ID:zv1kchHe
求めていたものズバリだったので早速使わせて頂こうと思ったのですが Windows版が404でダウンロードできません。。。 お忙しいところスミマセンが再アップお願いします。
おかしいですね、アップしたはずなんですが。 なんか消されますね。 別のレンタルスペースに置きます。 明日やります。
252 :
nicowrite :2008/03/01(土) 13:37:14 ID:DHBt0KbR
すいません。お願いします。
ubuntu 7.10 64bit(AMD)で適当にコンパイルしてみたらshell.cppでtest()がないとか言われて そこだけコメントアウトしたら動きました。(いいのかな・・・)
254 :
nicowrite :2008/03/02(日) 14:07:49 ID:COFHYMs0
250です。 本日win版が落とせるようになっていたので、 早速使ってみようと思ったのですが、、解凍できません。。。 解凍ソフトはlhaplusを使用しているのですが、ファイル壊れてたりしません?
255 :
220 :2008/03/06(木) 18:30:08 ID:qSo5FnvV
mfiler2 -i パス でやりたいことが出来ました。 起動時の初期ディレクトリを変更したかったのです。 ちなみに左右のディレクトリが変更になりますね。 Windows版ではうまく動かないことも確認しました。 alias mfiler2=mfiler2 -i $PWD とすると便利です。
スーパーインクリメンタルサーチって どれくらい便利?さくさくしてる? なんだか大仰っぽくて ver4.0.6で足踏み中なんだけど。
Windows版ですがシェルが完成するまで放置する予定です。 ただいまシェルを改造中。あとファイラ部、コマンドライン部も大幅 見直し中です。 シェルは、サブシェルとコマンド展開などが実装できました。 今から制御構文の実装となります。 かなり本格的なシェルとなるのでお楽しみに。
おお、これは期待できそうですね。 Windows版はもっと動作が軽くなれば、 最強のコマンドラインファイラーとなるのですが……。 Cygwinの出来が悪いです。
259 :
作者 :2008/03/22(土) 07:40:28 ID:izVkR4Xq
そうですね。cygwinはかなり重たいです。 ただ、マシーンスペックが良ければ、あまり問題がないので Windowsの対応も丁寧にやりたいと思っています。 ファイル読み込み時にstat,lstatと二回コールしている点が重たくなる 原因の一つなので、そこも見直せたらなと思います。
261 :
作者 :2008/03/26(水) 00:21:49 ID:sLOrSWOY
>>260 たぶん、そうですね。
そうしてみます。
ファイラ部も見直しているので、また一気にアップしますね。
mfiler2で(4.0.9で確認)、 export EDITOR="gvim --remote-tab-silent" としてもeコマンドでgvimでファイルを開いてくれません。 プロセスが一瞬で終了してしまうようで……。 環境変数はきちんと設定されているし、 コマンドラインから直接実行はできるのですが、 screenにプロセスが残ってしまうのが不便でなりません。 一番良いのはrun_emacs()のようにrun_vim()を作ってしまうことでしょうけど……。
263 :
262 :2008/04/01(火) 14:24:47 ID:y1L++zlO
<pre> keycommand NOMETA, KEY_e, "*", "run_vim(cursor_name())" # gvimのリモートバッファで起動 def run_gvim(file) shell("%Q%s gvim --remote-silent #{file} >/dev/null", file) end </pre> ちょっとやってみました。 run_gvim()はうまくいくのですが(ただし、gvimをフォアグラウンドウインドウにできないのは不便)、 run_vim()はrun_emacs()を参考にしてもうまくいきませんでした。
264 :
作者 :2008/04/02(水) 20:54:08 ID:tr/hUWUI
vimがその機能をonにしてコンパイルされていないからだと思います。 vimがその機能をonにしていればフォーカスをそちらに持っていくようには mfiler2の機能で、できたはずです。 run_emacsでそのような処理を書いた覚えがあるので。 gvimがフォーカスしない問題は、任意のウィンドウをフォーカスさせるような コマンドがあればいいので、そのようなコマンドを作るかもしれません。 ただ、今はちょっと全面改定のコードを書いているので、この問題には アタッチできません。それが完成すれば色々な補助コマンドを作っていきたいです。 それができればGUIファイルマネージャーにも負けないような物ができると思うので。 (カーソル下のファイルのアイコンや画像のプレビューを表示するようなプログラムなど) その時にこのgvimの問題も解決したいと思います。 そのような小物プログラム主義的なUNIX的なファイラを作っていきたいと思います。 今はシェル機能がかなり高機能になったので必要なくなったRubyも外す予定です。
265 :
262 :2008/04/04(金) 14:35:12 ID:VkG+aJty
作者さん、コメントありがとうございます。 あれから頑張って、何とかrun_vim()とrun_gvim()が完成しました。 screenでも非screenでも動作することを確認済です。 良かったら使ってやってください。 keycommand NOMETA, KEY_e, "*", "run_vim(cursor_name())" # gvimをリモートバッファで起動 def run_gvim(file) shell("%Q%s gvim --remote-silent #{file} >/dev/null", file) end
266 :
262 :2008/04/04(金) 14:42:44 ID:VkG+aJty
# vimをリモートバッファで起動 def run_vim(file) if is_screen_terminal() # 初めてvimを起動した shell("%q vim --servername HOGE --remote-silent #{file}", "vim") shell("%Q screen -X select vim", "screen") else # 通常のコマンドの場合 # # CTRL-Zでmfiler2をフォアグラウンドに切り替えることで、 # 複数のテキストファイルをvimで編集できる。 n = 1 while n < job_num()+1 if job_title(n).index("vim") break end n += 1 end if n == job_num() + 1 # 初めてvimを起動した shell("%q%s vim --servername HOGE --remote-silent #{file}", "vim") else # 2回目以降 shell("%Q%s vim --servername HOGE --remote-silent #{file} &", file) forground_job_title("vim") end end end
267 :
262 :2008/04/04(金) 14:46:45 ID:VkG+aJty
ソースを一応貼ってみましたが、 インデントが崩れて見づらくなってしまっています。 誰かうまいやり方を教えてくれると幸いです。 それにしても、現在の問題点はrun_gvim()で フォアグラウンドウインドウにならないことと、 screen上のrun_vim()でscreenのジョブを知ることができなかったので、 2回目のvim起動時に余計なプロセスが一瞬生成されてしまうことです。 非screenの時のようにうまく判別できれば良いのですが……。
268 :
262 :2008/04/04(金) 14:47:36 ID:VkG+aJty
おまけです。vim使いの人はどうか使ってやってください。 # vim風のキーバインドに変更 keycommand NOMETA, KEY_j, "*", "cursor_down()" keycommand NOMETA, KEY_k, "*", "cursor_up()" keycommand NOMETA, KEY_g, "*", "cursor_top()" keycommand NOMETA, KEY_G, "*", "cursor_bottom()" #keycommand NOMETA, KEY_J, "*", "directory_menu())" keycommand NOMETA, KEY_K, "*", "make_directory()"
日記を見るとmfiler2の開発は順調のようですね。 早く新バージョンを見てみたいです。 ただ、設定とかは書き直しになりそうですが……。
270 :
作者 :2008/04/16(水) 21:14:28 ID:RG5zxFbu
順調どころか紆余曲折です。やっぱりシェルの実装はプログラミング難易度的にレベルが高いです。 実装は大体できていますがパフォーマンスが非常に悪いです。 しかも、どこが悪いか、分からない・・・・ まあ、頑張ります。 目標はPOSIX準拠です。機能的にはbashに遠く及びませんが、できるだけPOSIX 準拠の実装に近づけたいと思います。
271 :
作者 :2008/04/17(木) 22:58:58 ID:4rWNjOyv
設定ファイルはとても美しくなります。 今まではシェルの世界とRubyの世界が混ざっていて複雑でしたが 全てシェルに統一できます。 しかし、Rubyなコードも埋め込めるようにRuby組込みも止めないでおこうかと 考えていますが、どうするかは、まだ決めていません。
272 :
262 :2008/04/18(金) 12:44:08 ID:Lya1L2o5
mfiler2+vim_run()を使う場合に役立つプラグインを紹介します。 buftabs.vim fuzzyfinder.vim autocomplpop.vim buftabs.vimは現在開いているバッファをステータスバーに表示する、 fuzzyfinder.vimは開いているバッファをあいまい検索で切り替えることが出来る、 autocomplpop.vimはVimにおいてVisual Studioのような インテリセンスもどきを実現するプラグインです これを機に誰かがVimに乗り換えてくれれば、 こんなに嬉しいことはないんですけどね。
274 :
作者 :2008/04/21(月) 22:02:51 ID:dWju4pca
すみません、わざとです。 シェルの世界がちゃんとできるまで、放置です。申し訳ない。 そのときはWindows版もちゃんとメンテナンスしていきたいと思っています。 たぶん5月中にはアップできます。
screen 上で使うとエディタとページャが動きません。 e,v,f4.cr 押しても画面が一瞬チラッとするだけです。 .mfiler はです。 ENV['PAGER']="less" ENV['EDITOR'] = "vim" ENV['SHELL'] = "bash" option_gnu_screen true 設定足りませんか? 後 mfiler2 で h で echo $PAGER, echo $EDITOR やっても空なんだけど?。 後念の為 .screenrc escape ^D^d vbell off autodetach off startup_message off backtick 2 3 3 $HOME/bin/cpuload.sh hardstatus on hardstatus string "Terminal %w %= %2`" defscrollback 1000 bind s split bind f focus bind o only bind r remove bind R source $HOME/.screenrc encoding utf8 defencoding utf8 長くてごめんなさい。
276 :
作者 :2008/04/23(水) 00:31:34 ID:8AVgaf1U
あ、それはscreenが立ち上がるまでにEDITOR, PAGER, SHELLが設定されている必要があります。 具体的には.bashrcにEDITORなどが設定されている必要があります。 $EDITOR %fなどのコマンドはscreenに渡されて実行されるので これはしかたがないです。 .mfilerにEDITORなどの設定をして有効になるのはscreen上で実行しない 場合のみです。 正直このあたりは、ややこしいですね・・・
こっちはscreen上で使えてるけど。 EDITORやPAGERはシステムで設定した値がそのまま使われてる。 mfiler内でecho $EDITORするとちゃんと表示されるよ。
275 です。 動いたよ。ありがとう。
起動中に .mfiler を再読み込みできますか? あと .screenrc で hardstatus string "%h" としたときに vim hoge ってするとステータス行に hoge ってでるのと同じように MFiler2 とかってでてほしい。
280 :
作者 :2008/04/29(火) 07:54:09 ID:Gpg5cw+7
%r load "~/.mfiler"でいけるかと。 タイトルはMFiler2を起動するときにscreen -t MFiler2 mfiler2 とすればOKです。 .screenrcに書いておけば面倒じゃないです。
Windows版mfiler2がWindowsネイティブなアプリケーションになることは ないんでしょうか。個人的にはWindowsネイティブのほうがいいなと思います。 Cygwinベースだとパスの表記が違うし、マイネットワークのコンピュータが 見られないし(マウントすればいけるけれど)。でもシェル機能を考えると Cygwinベースのほうがいいのかもとも思ったり。
Linux板でWindowsネイティブとか言ってくれるな
Windowsネイティブであふを超えるのは難しいだろ
コマンドラインベースのファイラであることを考えると、 Windowsネイティブ版はコンソールとの親和性が期待出来そうだが、 作者さんにはまずmfiler2の次期バージョンを頑張って欲しい。
285 :
作者 :2008/05/01(木) 21:21:05 ID:7P6z1pF8
実はネイティブ版を作っていたことがあるんですよ。 結構完成していました。そのときの感触だとWindowsはAPIが強力&書籍が豊富なのですぐ作れそうでした。 #Gtk, Gnomeに詳しい方、これは決定版と言えるような書籍だしてください まあ、今は次のバージョンに専念します。
GTKやGNOMEは昔は書籍が豊富だったのですが、 今はほとんどないですね。インターネットの情報も古いままで……。 GTKやGNOMEは進化が早いので、最悪ソースをあたるしかないかもしれません。
287 :
login:Penguin :2008/05/03(土) 14:31:24 ID:Qsowb74w
>284 に賛成。 Linuxでは代替アプリが見当たらないから。すごく助かっている。
そこでqtはどうだろう。
qtはマジ勘弁
始めて使ってみた。スゲ。nautilusなんかより全然いいじゃんコレ。 ubuntuもリポジトリに追加しろ!
nautilusと比べるもんではないと思うが
5月下旬完成予定らしいね。 新バージョンのmfiler2は非常に楽しみだ。
Ubuntuユーザーなのでapt-getでインストールやアップデートができるように なったらかなり嬉しい。開発用パッケージを入れてmakeしなくてもよくなる ので、導入が簡単になる。
わしゃDelphiでファイラー作ったことがあって それと同じようなものがLinuxにも欲しいと思って作ろうとしたんだけど、 Kylixが糞で断念したことがある。 それを思うとLinuxでこんなの作ってる人は偉いよ。 Windowsじゃ欲しかった機能があふに付いてしまったから早々に自作ファイラーは捨てたけど、 Linuxじゃmfiler愛用しとります。
これだけ愛用者がいる、あふってすごいね。 (俺もそうだけど…) 逆に、あふ、fd系ファイラーをwinで使ってた人が mfiler2登場以前、デスクトップlinuxで どうしてたのかが知りたいな。
>>295 mfiler登場前はファイラー暗黒時代だったよ。(言い過ぎ?)
FD Cloneを試してみたこともあったけどどうも私には合わなくて
結局、VimのExplorerとKonquerorとの併用でなんとかしてた。
Emacsは嫌いなのでdiredは元々選択肢に入らなかったし。
LinuxはGUI系のファイラーなら充実してるんだけどね。
KonquererはWEBブラウザとしてはまだまだ今ひとつだけど、
ファイラーとしてはWindowsのExplorerより遥かに上だと思ってる。
FD系のファイラーって、日本人しか使わんでしょ。
だから日本人が作らない限りそういうものは出てこない。
ファイラーって、ユーザインターフェイスが全てみたいなソフトだし、
だからDelphiとかで出回ってるコンポーネントをかき集めてくればかなり楽になる。
あふもDelphi製だ。
そういう開発環境が乏しいからLinuxではファイラーを作るのもWindowsよりかなり手間が増える。
さっきも書いたけど、Kylixが糞だったのが悔やまれるな。
元々Linux/UNIXな人はシェルかEmacsで全部やってる印象
それにしてはGUI系のファイラーはずいぶん充実してるぞ。 種類だってWindowsと比べても劣らない感じだし。
>>299 Lazarusはいまのところ日本語が使えないから無理。
本家のDelphiがUNICODEにまだ対応してないから、
Lazarusで独自にUNICODE対応したらDelphiと互換性が無くなってしまうので
DelphiのUNICODE化を待ってる状態。
Delphiの次バージョンでやっとUNICODE対応するらしいから、
そしたらLazarusも日本語を扱えるようになるだろう。
そうなったらファイラーも作りやすくなるだろうし、作るかも。
mfilerのスレでやる話じゃないな。
ごめん。
>>297 さんとは直接関係ないんだけど、
よく極端な人が、unix等ではGUIは使うな、とか、2バイト文字をファイル名に使うな、
とか言う場合があるんだけど、
あれって昔はともかく、
PCでマルチメディア(CD、映画、TV番組等々)を扱うようになって以降は難しくなったと思うんだよね。
私は「シャ乱Q」という名前を入力した時、何かが終わったと思った。。
つかそういう「〜使うな」の議論自体がもう意味がない。 いくらいっても使う人は使う。それで回りに迷惑がかかる場合は今でもあるが そんなの関係なし。 ちなみにマルチメディアは関係ない。
303 :
作者 :2008/05/15(木) 12:44:42 ID:nFeCojcw
僕はPC-98で育ったので初めてSolarisでシェルを触ったときから これは絶対ファイラがいると考えてたんですよね。 で、すぐに「Linuxプログラミング Softbank」片手にmfiler1を作ったんですよ。 その後mfiler2は、公開しようと思って作りました。 GUIに関してはmono(C#)が一番いいのではないかと考えてます。 GNOME作者が自らが実装しているので。
FreeBSD6.3だけど日本語ファイルがあるディレクトリでmfiler2起動すると core吐いておちちゃいます。 日本語ファイル無いディレクトリで起動して移動してもcore吐いて落ちちゃいます。 どこか見直すべきポイントありますかね?
私はmfiler2がcore吐いたこと無いですけどね。 この情報だけでは分からないので、 core吐く状況の端末出力を貼り付けてみたらどうですか?
306 :
作者 :2008/06/02(月) 22:43:13 ID:n9WGynYz
mfiler3-0.2.0アップです。 ごめんなさい。ぜんぜん完成していません。 とりあえずアップして、改良を重ねる方向で開発していきます。 まともなものを待っている方は1.0.0までお待ちください。 ディストリビューションのメンテナの方も1.0.0まで待ってください。 とりあえず足りない機能は p,u 圧縮ファイル * 正規表現マーク b バックアップ g 文字列検索 + 正規表現マスク GNU screen関係 x端末関係 シェルのエラーメッセージを分かりやすくする あたりです。 あとスーパーインクリメンタルサーチ もないです。 あとコマンドラインにバグもあるようです。 すみませんが、こつこつ開発していて、限界になったので アップしました。 試された方は感想があれば嬉しいです。 意見があれば開発に反映します。 では。
おつかれさまです。Ubuntu 8.04でコンパイルしてみましたがエラーに なってしまいました。 src/isearch.c: In function ‘match_back’: src/isearch.c:67: error: ‘for’ loop initial declaration used outside C99 mode make: *** [isearch.o] エラー 1
308 :
作者 :2008/06/02(月) 23:52:53 ID:n9WGynYz
0.2.1アップです。 修正しました。 あとgによるmgrep追加。
cygwinで普通にコンパイル出来ましたが "invalid system call mfiler3" で起動しませんでした。
更新お疲れ様です。 mfiler3をDebianでconfigureしてみましたが、 Boehm GCが要るみたいですね。 aptitude install libgc-dev しておけばBoehm GCはインストールされます。 screenに対応していないので、まだ常用は難しそうですが、 これからいろいろ試してみます。
mfiler3 のページですが、 >ヒストリ >2006-06-02 0.2.1 gによるmgrep追加。migemoがない場合のコンパイルエラーを修正。 >2006-06-02 0.2.0 アップ。 ヒストリがなぜか2006年に……。 それはいいとして、ちょっと使ってみました。 今までのemacsキーバインドがなぜか無効化されているのは痛いですね……。 TABも使えませんでした。 あとは、hででてくるコマンドラインモードで、 色分けされませんね。あれは地味に気に入っていたので残念。 カスタマイズをいろいろしたいのですが、 設定ファイルがどこにあるのか、関数とかはどうなっているのかよく分からないです。
追記しておきます。 mfiler3/src/etc/.mfiler3をホームディレクトリにコピーすれば カスタマイズ可能みたいです。 mfiler2と比べて、細かいところまでシェルの文法でカスタマイズできるのは高評価。 ただ、定義されているキーが少なく、CTRLが使えないようです。 それと、mfiler3は/ディレクトリで起動するとsegwmentation faultになります。 ホームディレクトリだと大丈夫ですが、mfiler3を終了してcdすると mfiler3が起動しません。 もう一度mfiler3を実行するとうまくいきます。 mfiler3は起動したディレクトリから開始するようになっているので、 そこの処理が原因では?
0.2.1コンパイルできるようになりました。が、今度はcmigemo1.3を インストールして再度コンパイルしてみたところ、コンパイルはうまく ゆきましたがmfiler3が起動しませんでした。 mfiler3: error while loading shared libraries: libmigemo.so.1: cannot open shared object file: No such file or directory それと、mfiler3が動いていたときに気づいたこととしては、vで ページャ(lv)を起動してqで終了したときファイラの画面に戻って くれませんでした。
314 :
作者 :2008/06/17(火) 22:24:55 ID:a6l2szNn
0.5.0 アップです。 色々機能追加しています。 目立つのはコマンドラインでのヒストリ検索 と.indexです。 ヒストリ検索はコマンドラインを触ってもらえば分かります。 .indexはディレクトリに.indexというファイルがあれば 自動的に cat .index | vd して.indexのファイルの内容を仮想ディレクトリしてくれる機能です。 ls > .indexとしてファイルを作って自由に.indexを編集してみてください。 改行が区切りです。好きに順番で並び替えることや 相対パスで違うディレクトリのファイルを読み込むこともできます。 あとシェルスクリプトではヘアドキュメントをサポートしました。 無い機能としては マスク スーパーインクリメンタルサーチ 圧縮ファイルの展開、作成 シンボリックリンクの作成 他端末コマンド実行 ヒストリジャンプ、戻る です。 GNU screenは適当に対応しましたが、これでいいでしょうか。 ああ、あと今度のディレクトリスタックは本物です。 仮想ディレクトリの内容を保持したまま、スタックさせることもできます。 そんな感じです。ちょっと試す感じで試してもらえれば幸いです。 お試し版です。
315 :
作者 :2008/06/17(火) 22:40:27 ID:a6l2szNn
動作確認はubuntu7のみです。 cygwinは対応しないかもしれません。 正直coLinuxのほうがいい気がするので。 coLinuxにはcofsというWindowsのファイルシステムをマウントする 機能があります。 cygwinよりcoLinux上でmfiler3を起動してWindowsのファイルを弄るほうが いいと思います。
久々のバージョンアップお疲れさまです! Cygwinに対応しないのは残念ですが、coLinux使ってみようかな……。 それでは色々試してみます。
src/minato_extra.c:8: error: conflicting types for ‘GC_strdup’ /usr/include/gc/gc.h:270: error: previous declaration of ‘GC_strdup’ was here 私の環境では「GC_strdupが重複している」とエラーがでました。 minato_extra.cのGC_strdupを削除したらコンパイルできました。 コンパイル後、実行しようとすると (null)/mfiler/utf-8/migemo-dict is not found というエラーが出て起動できませんでした。 どうやら /usr/bin/install -c -m 644 migemo-dic/utf-8/hira2kata.dat "/usr/local/share/mfiler/utf-8" /usr/bin/install -c -m 644 migemo-dic/utf-8/migemo-dict "/usr/local/share/mfiler/utf-8" /usr/bin/install -c -m 644 migemo-dic/utf-8/roma2hira.dat "/usr/local/share/mfiler/utf-8" とmigemo-dicにコピーしているのに、mfiler3はmigemo-dictを探してしまうのが原因のようです。 修正をお願いします。
>>301 化石レスだけど、
そういうのって保守的なおっさんが言ってるよりも
最近UNIX系をいじりはじめたばかりの厨が言ってることの方が多いよ。
なんか勘違いしてそういう古い習慣が「かっけーー!!!」と思ってるんだ。
「俺はWindows使ってる一般大衆と違うぜ!」って感じで。
319 :
作者 :2008/06/19(木) 22:21:30 ID:9ixoF7jp
mfiler3 1.0.0アップです。とりあえず完成。 mfiler2に比べてどこが良いか? 1.設定ファイルがシェルスクリプトで統一された 2.コマンドラインがインクリメンタルヒストリサーチ 3. .index ディレクトリに.indexというファイルがあれば それを読み込んで仮想ディレクトリにします。 これで好きなファイルを好きな順で仮想ディレクトリできます。 絶対パスや相対パスで別のディレクトリにあるファイルもOKです。
320 :
作者 :2008/06/19(木) 22:26:48 ID:9ixoF7jp
劣る点
1.細やかなコマンドライン補完、コマンドライン色づけ
2.他端末コマンド実行
3.スーパーインクリメンタルサーチ
4.起動が遅い
5.グロブによるマーク、マスク、仮想ディレクトリ
1-3はおいおい対応します。
4はどうしようもありません。
5は仮想ディレクトリに対応したオリジナルのグロブライブラリが必要です。
あと致命的なのは設定ファイルのエラーメッセージの場所が分からない点です。
これはなんとかしなくてはいけません。
とりあえず、ちょっと休みます。3年半やってきて休養が必要です。
のんびり遊びます。嫁さんも探さないといけないです。
>>317 rm ~/.mfiler3してください。
321 :
317 :2008/06/20(金) 18:35:01 ID:n+Ei7V5U
.mfiler3を削除したら起動しました。 対応ありがとうございます。 ちょっと使って見たところ、現在いるディレクトリを初期ディレクトリにするという動作が コンソールから起動するのにかなり便利ですね。 CTRL+Hがキーバインドされていないのが残念でしたが、 今回のmfiler3はかなり簡単にカスタマイズができるので、自分で設定しました。 機能面としては、 >細やかなコマンドライン補完、コマンドライン色づけ ここ以外はおおむね満足しています。 mfiler2でのカスタマイズがmfiler3でもうまく動くか試してみた後、 本格的に乗り換えようと思います。 何かしら成果があったらこちらでも発表します。それでは。
1.0.0ですが、segvで起動しない.... Program received signal SIGSEGV, Segmentation fault. vector_add (self=0x35, item=0x0) at src/minato_vector.c:67 67 if(self->mCount == self->mTableSize) { Missing separate debuginfos, use: debuginfo-install cmigemo.i386 gc.i386 gcc.i386 ncurses.i386 oniguruma.i386 (gdb) threa apply all bt Thread 1 (Thread 0xb7fd66c0 (LWP 20790)): #0 vector_add (self=0x35, item=0x0) at src/minato_vector.c:67 #1 0x0806f5ac in menu_append (self=0x868d9b0, name=0x86208b8 "2dir (a)ll", key=97, cmd=0x8556e00 "%Q export VIEW_OPTION=all") at src/menu.c:40 #2 0x0806ceb0 in run_command (break_=0xbfff3f2c, return_=0xbfff3f28, statment=0x8687f60, pipein=-1, flg_function=0, title=0x858df78 "/etc/mfiler3/.mfiler3", quick=1, hitanykey=0xbfff3f34, sub_shell=1) at src/shell.c:3730 #3 0x0805eb37 in shell ( cmdline=0x8593000 "### 222 203 211 225 201 設 232 ###\n\nif [ -z \"$EDITOR\" ]\nthen\n if [ ! -z \"$(which emacs)\" ]\n then \n export EDITOR=emacs\n elif [ ! -z \"$(which vim)\" ]\n then \n export EDITOR=vim\n "..., title=0xbffff1e8 "/etc/mfiler3/.mfiler3", pipein=-1, flg_function=0, sub_shell=1) at src/shell.c:7249 #4 0x0805f014 in shell_load (fname=0xbffff1e8 "/etc/mfiler3/.mfiler3", sub_shell=1) at src/shell.c:7621 #5 0x0804cfff in main (argc=1, argv=0xbffff474) at src/main.c:137 それとですが、-Werror-implicit-function-declarationでコンパイルが通るようにしていただけ ないでしょうか。
-Wallに加えて、-Werror=return-typeも加えた方が良いんでしょうか... ============================================================= --- mfiler3/src/menu.c.debug 2008-06-21 01:21:25.000000000 +0900 +++ mfiler3/src/menu.c 2008-06-21 02:06:05.000000000 +0900 @@ -18,6 +18,7 @@ self->mCursor = 0; self->mMenuItems = vector_new(10); + return self; } sMenu* gActiveMenu = NULL; =============================================================== これで直りました(-Werror-implicit-function-declarationで通るようにheader fileを 加えているせいで1行くらいずれてるかも知れません)
326 :
作者 :2008/06/22(日) 07:59:29 ID:ND6Pk98D
1.0.1アップです。上記のランタイムエラー対応です。 あとCTRL-Hで上ディレクトリに移動です。 ホームページに書いていたバグは僕の環境ではswapが有効になって いなかっただけです。すみません。 mfiler2でバグは出尽くしていると思うので mfiler3は安定していると思います。 ただシェルのエラーメッセージがエラー場所を書かないので 駄目だと思うので、そこは直して修正版をアップしたいと思います。 Fedora インポートありがとうございます。
327 :
325 :2008/06/22(日) 15:55:48 ID:t19Ft4bu
328 :
作者 :2008/06/23(月) 09:47:18 ID:Qg6WPDRa
了解です。今回のmfiler3は独自のtmpディレクトリを作っています。 ~/.mfiler3_tmpです。そこに作るようにしてみます。 あと、ここにソケットなども置いています。 このソケットはとても危険で任意のコマンドを起動中のmfiler3に実行させることが できます。これはユーザーに走っているmfiler3に任意のコマンドを mfiler3 -e 'cursor_move +1'など、実行させたいからです。 これで他のソフトとの連携がとりやすくなります。 ~/.mfiler3_tmpはchmod 700なんですが 識者の方セキュリティ的にはこれで良いんでしょうか。 問題あるなら、解決方法を教えてもらいたいです。 パッチ当てたものを今日アップしておきます。
329 :
作者 :2008/06/23(月) 16:31:13 ID:Qg6WPDRa
1.0.2アップです。 -Werror-implicit-function-declarationを通るように修正。 あとは1画面でc,mを押した場合うまく動いていなかったので修正。 しばらく触りません。ゆっくりします。 何か抜けがあったら、教えてもらえれば幸いです。 エラーメッセージが気になりますけどね。 あとapt系のディストリでselectorを使えば 検索文字列から画面で選択してパッケージがインストールできて幸せになりそうです。 暇な人実装よろしく。 rpm系でも同じことできるような気がします。 mapt, myumって感じですかね。はぁ、僕がやるか、、、。
330 :
262 :2008/06/23(月) 17:40:13 ID:rxCAyEBW
vimをリモートバッファで起動するスクリプトをmfiler3用に書き直しました。 使用するときは、.mfiler3の最後に追記してください。 gvim版もありますが、一応コメントアウトしておきます。 ただmfiler2の時と同様、screenのジョブを認識できないのと CTRL-Zでバックグラウンドのmfiler3に戻れないです。 対応していただけるとありがたいのですが……。 自分で調べようと思っても、関数のマニュアルもないので。 # vimをリモートバッファで起動 if [ $IN_SCREEN = 0 ] then # なぜか、バックグラウンドに切り替えるのがうまくいかない keycommand 0 $key_e '*' '%q%s vim --servername HOGE --remote-silent "%F"' 'vim' else # screenのジョブを認識して切り替える措置が必要 keycommand 0 $key_e '*' '%Q%s vim --servername HOGE --remote-silent %F' 'vim' # keycommand 0 $key_e '*' '%Q%s vim --remote-silent %F; %Q screen -X select vim' 'vim' fi # gvimをリモートバッファで起動 # ただ、フォアグラウンドにはできない #keycommand 0 $key_e '*' '%Q%s gvim --remote-silent "%F" >/dev/null' 'gvim'
331 :
262 :2008/06/23(月) 17:44:05 ID:rxCAyEBW
>>330 のソースコードはインデントを保持するため、
行頭に全角スペースが混じっています。
使用するときは、一応注意してください。
332 :
262 :2008/06/23(月) 18:23:09 ID:rxCAyEBW
mfiler2のようにhを押してコマンドラインを呼び出して気づいたのですが、
mfiler3 1.0.2では、コマンドラインの上にヒストリ画面が出てくるようになってますね。
しかもコマンドラインによるインクリメンタルサーチ。これは地味に便利。
ちなみに
>>330 のスクリプトで、eキーを使って編集しても履歴には残ります。
どうしようかな、と思いましたが仕様ということにしておきます。
333 :
作者 :2008/06/23(月) 18:59:01 ID:jGT/6kuU
mfiler3ではマクロの仕様が変わってます。 %sがscreenで実行。%hでヒストリに残りません。 マニュアルは必要ですね。まあ、楽しい作業なので 用意しますよ。 プログラマーなのにマニュアル書きが好きなんて変ですが。 バックグラウンドに戻れないという記述が気になります。 シェルのバグなら、なんとかしないといけません。
334 :
262 :2008/06/23(月) 19:29:09 ID:rxCAyEBW
作者さん、ありがとうございます。
>>330 を修正しました。また行頭に全角文字が入っています。
バックグラウンドに戻れるようになりました。ヒストリに記録しなくなりました。
ただ試してみてわかったのですが、screenを使用しない場合、
バックグラウンドに戻してから、もう一度eで編集できません。
mfiler2のようにjob_titleやjob_numを取得する方法がわからないからです。
screenのjob_titleやjob_numもわかるともっと良いのですが……。
# vimをリモートバッファで起動
if [ $IN_SCREEN = 0 ]
then
# ジョブ名が取得できないので、二回目の編集がうまくいかない
keycommand 0 $key_e '*' '%h%q vim --servername HOGE --remote-silent "%F"' 'vim'
else
# screenのジョブを認識して切り替える措置が必要
keycommand 0 $key_e '*' '%h%Q%s vim --servername HOGE --remote-silent %F' 'vim'
# keycommand 0 $key_e '*' '%h%Q%s vim --remote-silent %F; %Q screen -X select vim' 'vim'
fi
# gvimをリモートバッファで起動
# ただ、フォアグラウンドにはできない
#keycommand 0 $key_e '*' '%h%Q gvim --remote-silent "%F" >/dev/null' 'gvim'
335 :
日立バキバキ高野くん祭り :2008/06/23(月) 19:59:07 ID:XP/I3z13
1.日立製作所社員の高野くん(高野光弘)が会社を誹謗中傷して機密も漏洩
2.日立のユーザーにも「キチガイ」との障害者差別発言
3.日立製作所の企業イメージをバキバキにする
4.自身のサイトの『32nd diary』に掲載
5.日立製作所に通報される
6.あせって似顔絵削除
7.火に油を注ぐだけで所属する日本UNIXユーザ会にも通報祭り勃発
8.「給料泥棒」と説教される
9.「殺します」と殺人予告をして警察に事情を聞かれる←イマココ
高野光弘の行動
現在は、過去の記事を閲覧できなくして、「本日の日記はツッコミ数の制限を越えています」としています。
まずは、不愉快な思いをされた方々に謝罪するべきなのではないでしょうか。
高野光弘の発言
「まぁ、どこの団体もそんなにヤワじゃないので、平気なんですけども。
日本UNIXユーザ会が一番対応に慣れてる感じ。」
日本UNIXユーザ会が対応に慣れているか、みなさん確認してみてください。
連絡先
http://www.net.intap.or.jp/oiia/cont2/p0402.html%7B0recid=10168.html
336 :
262 :2008/06/23(月) 20:09:50 ID:rxCAyEBW
あのあと、ジョブの名前を取得する方法を見つけて、なんとかnon-screen版は 完成しました。良かったら使ってみてください。 しかし、screen版は不具合があるので、まだできてません。 # vimをリモートバッファで起動 function run_vim { export i=0 while [ $i -lt $(job_num|chomp) ] do if [ "$(job_name $i|chomp)" = "vim" ] then let j="$i + 1" vim --servername HOGE --remote-silent $@ & fg $j return fi let i="$i + 1" done vim --servername HOGE $@ reread -a } keycommand 0 $key_e '*' '%h%q run_vim "%F"' 'vim'
337 :
325 :2008/06/23(月) 23:47:28 ID:SzKVpHA7
>>328 1.0.2 up有り難うございます。
ソケット等が home directory以下にあるのは問題ないと思います
CentOS5.0(x86_64)でmfiler3をビルドしたところ、以下のエラーで止まってしまいました。 最初に「require boehm gc」と言われたので、DAGからlibgc-devel.x86_64をinstallして、 $ .configure --prefix=/opt/mfiler3 $ make gcc -o mfiler3 src/main.c -DDATADIR=\"/opt/mfiler3/share\" -DSYSCONFDIR=\"/opt/mfiler3/etc\" minato_string.o minato_vector.o minato_hash.o minato_list.o minato_curses.o minato_kanji.o minato_extra.o minato_debug.o filer.o shell.o gui.o menu.o isearch.o cmdline.o cmdline_completion.o file.o -lcurses -lgc src/onig-4.6.1/.libs/libonig.a -lcrypt -I src -I . -I/usr/local/include -L/usr/local/lib -g -w -I src/onig-4.6.1 -Werror-implicit-function-declaration In file included from src/common.h:152, from src/main.c:1: src/filer.h:70: error: ‘KEY_MAX’ undeclared here (not in a function) src/main.c: In function ‘main’: src/main.c:326: error: ‘KEY_UP’ undeclared (first use in this function) src/main.c:326: error: (Each undeclared identifier is reported only once src/main.c:326: error: for each function it appears in.) src/main.c:327: error: ‘KEY_RIGHT’ undeclared (first use in this function) src/main.c:328: error: ‘KEY_DOWN’ undeclared (first use in this function)
(本文長すぎと言われたので分割) src/main.c:329: error: ‘KEY_LEFT’ undeclared (first use in this function) src/main.c:330: error: ‘KEY_IC’ undeclared (first use in this function) src/main.c:331: error: ‘KEY_DC’ undeclared (first use in this function) src/main.c:332: error: ‘KEY_HOME’ undeclared (first use in this function) src/main.c:333: error: ‘KEY_END’ undeclared (first use in this function) src/main.c:334: error: ‘KEY_PPAGE’ undeclared (first use in this function) src/main.c:335: error: ‘KEY_NPAGE’ undeclared (first use in this function) src/main.c:336: error: implicit declaration of function ‘KEY_F’ src/main.c:341: error: ‘KEY_BACKSPACE’ undeclared (first use in this function) make: *** [mfiler3] エラー 1 あと、1.0.2のアーカイブに:wqってファイルが残ってるようです。 vim使いにおなじみのアレですね。
340 :
作者 :2008/06/25(水) 07:34:15 ID:9F3Wy8hw
ncursesが無いんじゃないでしょうか。 libncurses-devの方が。:wqは面白いので残しておきます(w
341 :
作者 :2008/06/25(水) 07:44:47 ID:9F3Wy8hw
休んでいるですけど、やっぱり気になっていて 256色対応のファイル名正規表現による色づけ とか、コマンドラインの色づけを入れようかなと思ってます。 256色はPuttyが対応しているので、ちょっと入れる気になりました。 gnome-terminalは対応しないんですかねぇ。 簡単に対応できると思うので、やって欲しいんですが。
>>340 libncurses-devは盲点ですよね。
サイトの依存関係にも書いておいては?
あちらではncursesとしか書いていないので、勘違いしてはまる人も多いと思うんですよ。
>>341 Konsoleは256色表示に対応しているので、そっちに乗り換えてみては?
私はKDEが好きなので、ずっとKonsoleばかり使っています。
それと、色づけの話で思い出したのですが、
256色screen+KonsoleのMandriva Linuxで色付け表示がうまくいかないです。
colorを有効にしても、全部白色になってしまいます。
screenが256色だからなのか分からないので、今日調べてみようと思います。
ちなみにscreenを使用しなかったり、Debian Linuxではうまくいくんですよね。
343 :
338 :2008/06/25(水) 09:17:24 ID:0S29Qgax
ncurses-develは入っていて、同じマシンでmfiler2はビルドできます。 $ sudo yum list|grep ncurses ncurses.x86_64 5.5-24.20060715 installed ncurses.i386 5.5-24.20060715 installed ncurses-devel.i386 5.5-24.20060715 installed ncurses-devel.x86_64 5.5-24.20060715 installed php-ncurses.x86_64 5.1.6-20.el5 base 今のところmfiler2で事足りているので問題ないのですが、 せっかくだから3も試してみたいな。
344 :
342 :2008/06/25(水) 10:21:00 ID:/mTETGQ9
>>343 libncurses-devとncurses-devは別物ですよ。
ncursesが名前変わって、libncursesになったみたいです。
多分mfiler3はncurses-devに対応していないんでしょう。
インストールしてみては?
3入れてみたんですが、makeも難なく通ったのに、セグフォで起動しません…(泣 .mfiler3や、.mfiler3_tmpを消したりもしたんですが、効果なし。 環境は archlinux, mfiler3-1.0.2, kernel 2.6.25.6-1, gc 7.0, logはこんな感じ > mfiler3[19764]: segfault at 8c ip b7f7f28b sp bfff4a70 error 4 in libgc.so.1.0.3[b7f65000+23000] お助けを…。
Archでやってみたけどgc>=7.1は必須っぽい いつgcがアップデートされるか分からんし aurにgc-cvsとか入れるのは嫌なんでmfiler3のPKGBUILDはしばらく放置で
>>346-347 thx. 時間が出来次第 gc>=7.1 入れてみます。
Archにはmfiler*のパッケージメンテナがおられたりして助かります。
それ俺 最近あんまりやる気ないけどな
350 :
348 :2008/06/25(水) 22:03:54 ID:og8GJSQV
gc-7.1入れてみたんですが…今度はこんなで起動しません(泣
> 3
> shmget: Permission denied
>>349 おお、archの日本語環境を一手に引き受けておられる方ですな。
> aurにgc-cvsとか入れるのは嫌なんで
わかります。いずれextraにgc-7.1が上がったらボチボチお願いします。
351 :
作者 :2008/06/26(木) 00:51:56 ID:C0rIFZIm
Konsoleは256色対応しているんですか。 gnome-terminalも対応しませんかね。 対応すれば256色ファイル名、ぜひ入れたいです。 今日マニュアルを作成しました。 内部コマンドのマニュアルは作成できるかわかりません。 かなりの数があるので。いまのところソース見ろとしか言えません。 mfiler2は特に内蔵シェルの不具合や不備、Rubyとシェルとの兼ね合いなどで あまり自信がありませんが、mfiler3は手応えがあります。 ぜひ、試してもらいたいです。 まだ、シェルのエラーメッセージが完備されていないので、そこは自信がありませんけどね。 色に関しては、前にも、そのような報告があったので なんらかのバグがあるかもしれません。 shmgetのパーミッションってなんでしょうね。そんなのあったっけ? よくわかりません。 何か設定が違うんですかね。
gnome-terminal は256色対応しているはず。
Fedora 総合スレッド Part 39より
>>gnome-terminal で 256 色表示させる方法を教えてください。
>coreutils-6.10-5.fc9
>--------------------
>* Mon Feb 04 2008 Ondrej Vasik <ovasik redhat com> - 6.10-5
>- enabled 256-color support in colorls shell scripts(#429121)
>知らなかった....
最近は256色をサポートしているようです。
ただscreenのように、コンパイルオプションで
有効化する必要があるかもしれません。
256色対応しているかを確かめるにはこれを実行してください。
もし対応していれば、きれいなグラデーションが表示されるはずです。
ttp://www.frexx.de/xterm-256-notes/data/256colors2.pl
354 :
262 :2008/06/26(木) 13:08:19 ID:vgIyLOQM
# vimをリモートバッファで起動 screen版 function run_vim_screen { if [ -n $vim_window ] then export command='%h%Q screen -t vim -X screen vim --servername HOGE --remote-silent %F' eval $command # なぜかselectがうまくいかない #export command='%h%Q screen -X select $vim_window' #eval $command return fi export command='%h%Q screen -t vim -X screen vim --servername HOGE %F' eval $command # vimのウインドウ番号を保存 export vim_window=$WINDOW reread -a } if [ $IN_SCREEN = 0 ] then keycommand 0 $key_e '*' '%h%q run_vim "%F"' 'vim' else # screenのジョブを認識して切り替える措置が必要 keycommand 0 $key_e '*' '%h%q run_vim_screen "%F"' '' fi
355 :
262 :2008/06/26(木) 13:10:53 ID:vgIyLOQM
ついにscreen版が完成しました。
mfiler2で失敗していたので、喜びもひとしおです。
run_vimの部分は
>>336 を参照してください。
ただ、screenのselectがうまくいかないのでコメントアウトしています。
これさえできれば完璧なのに……。
356 :
作者 :2008/06/27(金) 20:19:29 ID:O9zOgcHC
run_vimおつです。 evalしているのがテクってますね。 できれば、内部コマンドのマニュアル早く作りたいです。 ver 1.1.0アップ。256色に対応しました。 init256コマンドを実行してください。256色に対応します。 fcolor 正規表現 赤0-5 緑0-5 青0-5 で正規表現にマッチするファイルの色が変わります。 .mfiler3に書いてあるので参考にしてください。 テストしたのはPutty, xtermです。 xtermには普通の16色対応にmfiler3側に不具合があるようで 正常に表示しません。 256色は表示できました。 Puttyはどちらも完全に動きます。 手元の環境(ubuntu)ではgnome-terminal, Konsoleともに 256色に対応していなかったので、テストできませんでした。 ソースからコンパイルしようと思いましたが めんどくさくなって挫折。 configureには256のオプションないんですよね。 環境を持っておられる方にテストをお願いしたいです。 また、そのようなディストリがあれば教えてもらいたいです。 そっちに移ろうと思うので。
あれ? うちubuntu8.04 だけど 256色出てますよ。
ああ、~/.bashrc に、 TERM=xterm-256color って書いたの忘れてたわw
360 :
作者 :2008/06/27(金) 21:20:09 ID:O9zOgcHC
うーん、やってみましたがmfiler3は表示がおかしくなります。 ちなみに256colors2.plも同様です。 gnome-terminalのバージョンは2.14.2です。 coLinuxなのでubuntuのバージョンが少し古いのでその関係か 256colors2.plとは別の256色だす方法があるんですかね。 mfiler3は256colors2.plと同じ方法(エスケープシーケンスじか書き) でやってみました。 PuttyはOKです。 よく分かりません。
$ gnome-terminal --version GNOME gnome-terminal 2.22.1 うゆ?
362 :
作者 :2008/06/27(金) 22:13:29 ID:O9zOgcHC
1.1.1アップです。.キーによるドットファイルの表示トグルを追加。
おー、この機能はよく使っていたので追加されてよかったです。トグル状態を 次回起動時にも引き継いでくれるとうれしいかも。
mfiler3でディレクトリのシンボリックリンクを選択してEnterを押しても、 目的のディレクトリに移動せず通常ファイルと同じように扱われてしまう みたいです。
365 :
262 :2008/06/30(月) 16:13:34 ID:Jji1soUu
>>356 >evalしているのがテクってますね。
>できれば、内部コマンドのマニュアル早く作りたいです。
evalは.mfiler3に書いてあったので使ってみました。
マニュアルは欲しいです。ソースもみたのですが、さすがに解読不能でした。
特に、環境変数を書き換える内部コマンドが欲しいです。
exportはシェル変数を書き換えるみたいなので、私の思うような動作ができません。
256色表示できるコンソールで私が確認したのは
Debian Linux lennyのKonsole、CentOS 5のKonsole、
Mandriva Linux 2008.1のKonsole、Open Suse10.3のKonsoleです。
Konsoleは最近のディストリビューションなら、ほぼ対応しています。
ただし、screenを使用する場合はソースからコンパイルして、
configureで設定しないとだめです。
KDE使いなのでGNOME Terminalは分かりません。
366 :
262 :2008/06/30(月) 16:22:09 ID:Jji1soUu
Mandriva Linux 2008.1のscreenで256色にならなかった問題は、 .screenrcのミスでした。 term "screen-256color"を無効にしたらできました。 よって、mfiler3の問題ではありません。お手数をおかけしました。 それと.mfiler3のCtrl+Eキーの定義ですが、10000個以上のファイルに対応するために、 keycommand 0 $key_ctrl_e '*' '%Q%h cursor_move $(file_num|chomp)' とした方が良いと思います。 良かったら、.mfiler3に取り込んでいただけるとうれしいです。
367 :
262 :2008/06/30(月) 16:34:31 ID:Jji1soUu
さて、連投申し訳ないのですが、これで最後です。 mfiler3でも、あふのように循環スクロールができるようにスクリプトを書きました。 export OPTION_SCROLL_TYPE=afuを同時に指定しておくと、幸せになれます。 # 循環上移動 function rotation_up { if [ $(cursor|chomp) = 0 ] then # 一番下へ export max=$(file_num|chomp) %Q%h cursor_move $max return fi %Q%h cursor_move -1 } # 循環下移動 function rotation_down { # 一番下のファイルの番号を求める export max=$(file_num|chomp) let max="$max - 1" if [ $(cursor|chomp) = $max ] then # 一番上へ %Q%h cursor_move 0 return fi %Q%h cursor_move +1 } keycommand 0 $key_up '*' '%Q%h rotation_up' keycommand 0 $key_down '*' '%Q%h rotation_down'
368 :
作者 :2008/06/30(月) 21:03:53 ID:r4WT0Hbw
mfiler3の256色はPuttyで確認していますが Konsoleではどうでしょうか。 うちだとだめなんですが。たぶん、だめでしょうねぇ・・・ exportは環境変数を書き換えるコマンドです。 シェル変数はmfiler3にはありません。 あとfunction中の%Q%hは蛇足です。 %Q%hなどのスペシャルマクロはコマンドのエントリ部のみ 有効です。 エントリ部というのはkeycommandの中、hによるコマンドライン、eval、 loadのスクリプトの中です。 function中に%Q%hがあれば、それはロードする時に読み込んだところで処理されます。 つまり.mfiler3全てが%Q%hされてしまいます。 function中の%sも危険です。.mfiler3全てがscreenに渡されてしまいます。 screenに渡したければ環境変数に代入してevalしてください。 内部コマンドは膨大なので、少しずつマニュアル化していきます。 mfiler2と違って、たぶん、内部コマンドの変更は基本的には無いと思います。 もう完成したと思っているので。基本的にバグ取りが大きな仕事です。 ああ、シェルのエラーメッセージだけはなんとかしなくては なりませんが。 あれ、ほんとに分かりにくいので、少しの変更ではまりますね・・・
369 :
作者 :2008/06/30(月) 22:01:45 ID:r4WT0Hbw
1.1.2アップです。 細かい変更。シンボリックリンクのディレクトリに移動できます。 .キーにバグがありました。今度は各ディレクトリでドットディレクトリのマスク状態を保持します。 全ディレクトリ共通だったので、まずかったです。 256色カラーがV Cでオンになり、.mf3infoに状態が保存され次回起動時も 有効です。256色カラーはPuttyでしか動くことが確認できていません。 gnome-terminal, Konsoleではどうなんでしょうか。
370 :
作者 :2008/06/30(月) 22:10:00 ID:r4WT0Hbw
256色カラーは別次元です。非常にファイルが見やすくなります。 アイコンがなくても、これなら、見やすいです。 ぜひ、gnome-termnal.Konsoleでも対応させたいのですが 手元の環境ではだめです。 fcolorでカラーは定義できますが、ユーザーでの対応は めんどくさいと思うので こちらで定義を増やしていきたいと思います。 でも、できれば有志の方に手伝ってもらいたいです。 fcolorの定義をここに張ってもらうと.mfiler3に取り込みます。
371 :
作者 :2008/06/30(月) 22:16:52 ID:r4WT0Hbw
fcolorの定義は fcolor 正規表現 赤(0-5) 緑(0-5) 青(0-5) です。 例 fcolor '\\.tgz$|\\.tar$|\\.gz$|\\.tar\\.bz2$' 0 3 0$ fcolor '\\.c$|\\.cpp$|\\.cc$' 3 3 0$ fcolor '\\.h$|\\.hpp$' 4 2 0$ fcolor '\\.sh$|\\.pl$|\\.rb$|\\.py$' 2 0 2$ fcolor '\\.mp3$|\\.ogg$' 2 2 0$ fcolor '\\.mp4$' 5 2 0$ fcolor '\\.html$|\\.htm$' 2 4 0$
372 :
作者 :2008/06/30(月) 22:26:35 ID:r4WT0Hbw
基本的にみなさん、設定ファイルを弄るのはめんどくさいと思うので あまり弄らなくてもいいように作っていますが 拡張子別のコマンド登録は弄らないと無理なので なんらかの対策を行うかもしれません。 基本的にファイルに対してコマンドを実行したい時は ファイルにカーソルを合わせてENTERを押してもらえれば いいんですが、毎回コマンドを入力するのもめんどくさいので 登録ツールがあればいいですね。 あとはオプションに対してもツールがあればいいなと思います。 また気が向けば実装するかもしれません。
gnome-termnal で256色出ました。起動時に256色モードにしておくにはどうすればいいですか? あと、起動に15秒かかります><
なぜかlvがCPU100%食っていました。killして再度測定したら 起動に7秒でした。
jでディレクトリを登録した後、一旦再起動してjを押すと登録した ディレクトリが表示されず、どこかのディレクトリを登録しようと すると"Floating exception"と表示されてmfiler3が終了してしまいます。 .mf3infoを削除してみましたがだめでした。
376 :
作者 :2008/07/01(火) 00:08:04 ID:tNWuhgP6
起動の遅さはmfiler3の弱点だと思いますがシェルスクリプトを 読む込むのでどうしようもないんですよ。 screen使って、mfiler3を常時起動しておくとか、そういう風な対策 してもらえればうれしいです。 なんかジャンプメニューにバグがあるようです。 あれはシェルスクリプトで実現しているんですが、まさにクォート地獄です。 もう一度見直してみます。無理ならCで実現しようかなと 思ってます。
377 :
作者 :2008/07/01(火) 00:11:39 ID:tNWuhgP6
gnome-terminalで実行できましたか。 良かったです。 起動時に256にするにはV Cで256にすれば次から設定が保存されます。
378 :
262 :2008/07/01(火) 15:11:15 ID:Srir00mH
>>336 の取り込みありがとうございます。
>>367 の件はevalを用いるように書き直します。
>exportは環境変数を書き換えるコマンドです。
>シェル変数はmfiler3にはありません。
確かに、環境が保存されるという意味では、exportは環境変数かもしれません。
しかし、hでコマンドラインを表示して、
echo $<TAB>で補完候補を探すと、リストには普通の(シェルで定義された)
環境変数とkey定義しか出てきません。
.mfiler3で新しく作った変数が出てこないのです。
私は他のアプリケーション(たとえばVim)に.mfiler3中で定義した変数を渡したいのですが……。
379 :
作者 :2008/07/02(水) 22:23:03 ID:/PtvdvtR
mfiler3から起動したプログラムでしか mfiler3で設定した環境変数は有効ではありません。 version 2.0.0に向けて 起動速度を上げるためRubyインタプリタをまた搭載する予定です。 設定ファイルはまたRubyにします。 現在の起動速度は我慢なりません。
ファイル名やディレクトリ名にマルチバイト文字が含まれていると
表示が乱れることがあるみたいです。スクリーンショットを撮って
みました。
http://a-draw.com/uploader/src/up2194.png.html 乱れているところ:
絢香ayaka
華原朋美
関ジャン∞
高橋 瞳
10
175R
AI
B’z
BoA
CHEMISTRY
+の正規表現マスクはディレクトリに適用されないので、ドットファイルの
トグルもディレクトリに対しては適用されないんですね。.を押したときは
.で始まるディレクトリも消えてほしいけれど、正規表現マスクでディレク
トリまで消えてしまうのは困るので、微妙なところ…。
382 :
作者 :2008/07/03(木) 22:33:55 ID:pS8nAczX
pythonも搭載するかもしれません。 perlもいきたいけど、あれ、組み込むのめんどくさいしなぁ。 どこかに組み込み方が乗っていれば、真っ先に組み込むんですが。 Rubyとシェルスクリプトの設定ファイル2way いい感じになりそうです。 どっちでも設定ファイル書けるようにしておきます。
383 :
作者 :2008/07/03(木) 22:34:22 ID:pS8nAczX
名前が化けるバグはまた直します。
384 :
作者 :2008/07/07(月) 20:09:01 ID:jlx5wKRI
ruby搭載しています。 雑多な部分をRubyに置き換えて起動速度は1.5秒程度になりました。 ただ、大部分の定義はシェルスクリプトです。 これもRubyで置き換えるかは、これから考えます。 そうすればmfiler2と同じように起動が一瞬になるはずです。 久々にRuby触りましたが、やっぱり書くのが楽ですね。 あまり細心の注意がなくても適当に書いて さくっと動いちゃうところが凄いです。
385 :
作者 :2008/07/08(火) 16:37:09 ID:PxYLXpoM
markやregex_renameも3000overのファイル数だと あまりにも遅いので速度の出るRubyにしようと思っています。 version 2.0.0でだいぶ高速化される予定です。 今晩か、明日になると思います。 やっぱり、ソフトウェアは速度が命ですね。 シェルスクリプトは遅いです・・・
386 :
作者 :2008/07/08(火) 22:52:41 ID:PxYLXpoM
2.0.0アップです。Rubyを搭載。 起動スクリプトや一括マーク、一括リネームなどもRubyで書き直したので 速度的に問題なくなっています。 jump menuもRubyで書いたので直っています。 バージョンアップ時は~/.mfiler3,~/.mf3infoを消してください。 内臓コマンドは変わっていませんが、今度のバージョンアップで前のものが残っていると問題になるようになりました。 Rubyに登録したmfielr3を操作するコマンドは少しだけです。 Rubyからmfielr3内臓シェルのコマンドを触れるようにしたので それで済みました。 同じやり方でperl, pythonを組み込める可能性がでてきました。 こんな感じです。 mfiler3 | シェルスクリプトシステム(API) | + ruby + perl + python また気が向けば、搭載したいです。 version 2.0.0は速度的に問題なくなったのが、とても大きいです。 ホームページのアクセスを見る限りmfiler3よりmfiler2のほうを まだ使っている人が多そうですが 気が向いたら、mfiler3もどうぞ。
>>386 コンパイル出来ません...
src/main.c: In function 'read_rc_file':
src/main.c:135: error: 'rc_fname' undeclared (first use in this function)
src/main.c:135: error: (Each undeclared identifier is reported only once
src/main.c:135: error: for each function it appears in.)
src/main.c:146: error: 'home' undeclared (first use in this function)
src/main.c: In function 'main':
src/main.c:809: warning: suggest parentheses around assignment used as truth value
src/main.c:1019: warning: unused variable 'len'
src/main.c:824: warning: ignoring return value of 'write', declared with attribute warn_unused_result
make: *** [mfiler3] Error 1
make: Target `all' not remade because of errors.
それとですが、sprintfの使われ方をみてみると、bufferがあふれてしまう可能性があると
思われます。snprintf()とかに変更していただけないでしょうか。
389 :
作者 :2008/07/09(水) 21:22:31 ID:1BkqUL5Q
修正したよ。 sprintfはどうやばい? 確かにHOMEを長くして意図的にバッファーをあふれさせることはできる。 それが、どうやばいか、分からない。
(私はそこまでの腕はありませんが)bufferを意図的にあふれさせることによって 一般に任意のコードが実行可能になる可能性があります。
作者のblogオモロ
ファイルの上でEnterを押した後C-gでキャンセルし、もう一度Enterを押すと ファイルの表示されている画面が消えてコマンドの履歴みたいなのが表示され ます。C-gで戻れるので使う分には何も問題ないですが…こういう不具合とは 言えないまでもちょっとおかしな動作を見つけたときは報告したほうがいい ですか?
それはコマンドの履歴。 たとえばaaa.plの上でENTERを押してperl aaa.plを実行すれば 次からperl aaa.pl履歴が表示されるんよ。 キャンセルしても履歴は残る。 ファイラ画面が隠れるのは俺もうっといと思っているけど コマンド履歴便利だから我慢しな。
>>390 任意のコマンドを実行なんてユーザーにはできるんだからバッファあふれさせても意味ないと思うが。
問題は他のユーザーにコマンドが実行されることだから
それにはソケットが必要で、ソケットは700で守られている。問題ないはずだ。
>>393 上下で履歴を選択できたんですね。知らなかった。
キャンセルしたときは履歴に残さなくていいかも。
キャンセルの時に履歴に残さないという動作をすると hでコマンド途中まで打ってC-gしたときも 履歴に残らなくなるので、却下。
数字一文字のフォルダに入れないような気がします チルダから始まるフォルダに入るとおかしな動作をします。
ファイル名にダブルクォーテーションが含まれている場合でも うまくいくようにしていただけないでしょうか。
了解。直しとくよ。 mfiler2の方が依然とアクセスが多いな。いいけど。 mfiler3のいい点はシェルがきちんとした実装な点だ。 あとタブが真のタブなので多数の検索結果を保持しながら作業できるよ。 圧縮ファイルの仮想ディレクトリはいれんといかんね。 あとカスタマイズ補完。yum, aptでmfiler3の補完はパッケージ名が補完されないのが 痛い。
久しぶりに投稿します。循環スクロールのRuby版です。.mfiler3.rbに追記すると動きます。 def rotation_up() # 循環上移動 cursor = shell3("cursor|chomp").to_i if cursor == 0 shell("cursor_move $(file_num|chomp)") else shell("cursor_move -1") end end def rotation_down() # 循環下移動 max = shell3("file_num|chomp").to_i - 1 cursor = shell3("cursor|chomp").to_i if cursor == max shell("cursor_move 0") else shell("cursor_move +1") end end keycommand 0, KEY_UP, '*', '%Q%h%r rotation_up' keycommand 0, KEY_DOWN, '*', '%Q%h%r rotation_down'
JPEGファイルでEnterを押したらビューワーを起動したくて keycommand 0, KEY_ENTER, '.jpg', '%q eog %F 1>/dev/null 2>&1' としたんだけど、eogを起動すると1というファイルが作成されてしまう。 何か間違ってる? keycommand 0, KEY_ENTER, '.jpg', '%q sh -c "eog %F 1>/dev/null 2>&1" &' だと意図した通りの動作になるけれど、ファイル名にスペースが含まれていると うまく認識されない。どうすりゃいいですか?
ああ、mfiler3のシェルは2&>1を認識しない。 やるなら 1> /dev/null 2>/dev/null めんどくさいので実装しなかった。 スペースの問題はダブルクォートでくくればよい。 keycommand 0, KEY_ENTER, '.jpg', '%q eog "%F" 1>/dev/null 2> /dev/null' が正解。
できた!ありがとうございます。かなり便利になった。
eとvが機能していないような気がします。%s echo $PAGERや%s echo $EDITOR を実行してみたら何も表示されなかったので、変数がうまく設定されていないっぽい。
またそれか。 screen上でmfiler3のコマンドが実行される時はscreenに渡されてコマンドが実行されるので 当然ながらscreenの環境変数EDITOR, PAGERが設定される必要がある。 よってscreenを実行する前にEDITOR, PAGERを設定してくれ。 .bashrcに書いておくのが良い。
激しく既出でしたか。すんません。過去ログ読むようにします。
>>403 ああ、そういえば、%qより%Qの方が画面がリフレッシュされなくて、いいよ。
今日マニュアル用意するので、待っててくれ。
2.0.1アップ。Hでコマンドの実行結果が別の端末で表示されるようになった。 あとはマニュアルを用意した。 そんくらい。 あとはコマンドラインで色付けが欲しいから、入れる予定。
2.0.2アップ ダブルクォートがファイル名に含まれるファイルのENTERによるファイルの実行が上手く行かない問題を修正。 そんくらい。
あとFedora9では256色, gnome-terminalでも表示できた。
>>409 うまくいっています。有り難うございます。
2.0.5アップです。 コマンドラインで色付けを入れました。 あとカスタマイズ補完が復活。 コマンドラインが楽しい物になった気がします。 色付けはほんといいですね。 あとはバグがいくつかあるようです。 1) .によるドットファイルのトグルでaというファイルも消えてしまう 2) 過去に報告があった、はみ出る漢字がある 3) カスタマイズ補完でオプションの補完など画面が化け化けになることがある 直していきます。バグ報告が一番うれしいです。作者もLinuxオンリーになったので 最近は自分で見つけられますけどね。
おっと口調が戻ってしまった。 おまえら、バグあれば報告しろ。 これでいいか・・
作者さん、バージョンアップおめでとうございます。 早速2.0.5をコンパイルしようとしたのですが、鬼車のコンパイルの途中でエラーになります。 2.0.2はうまくコンパイルしてインストールできたのですが……。 gcc -c src/isearch.c -I src -I . -I/usr/local/include -L/usr/local/lib -g -w -I src/onig-4.6.1 -Werror-implicit-function-declaration -I/usr/lib/ruby/1.8/i486-linux gcc -c src/cmdline.c -I src -I . -I/usr/local/include -L/usr/local/lib -g -w -I src/onig-4.6.1 -Werror-implicit-function-declaration -I/usr/lib/ruby/1.8/i486-linux gcc -c src/cmdline_completion.c -I src -I . -I/usr/local/include -L/usr/local/lib -g -w -I src/onig-4.6.1 -Werror-implicit-function-declaration -I/usr/lib/ruby/1.8/i486-linux gcc -c src/file.c -I src -I . -I/usr/local/include -L/usr/local/lib -g -w -I src/onig-4.6.1 -Werror-implicit-function-declaration -I/usr/lib/ruby/1.8/i486-linux gcc -c src/rb_fun.c -I src -I . -I/usr/local/include -L/usr/local/lib -g -w -I src/onig-4.6.1 -Werror-implicit-function-declaration -I/usr/lib/ruby/1.8/i486-linux src/rb_fun.c: In function ‘mf_mendwin’: src/rb_fun.c:365: error: implicit declaration of function ‘set_signal_clear_all’ make: *** [rb_fun.o] エラー 1
直した。
416 :
414 :2008/08/08(金) 19:33:50 ID:Zmg53mGF
作者さんありがとうございます。 コンパイル・インストールできることを確認しました。 ちょっと使ってみたところ、安定して動作しているようで満足です。 Ver. 2.0.5になって、かなりmfiler2を追い越したのではないでしょうか。
あとmfiler2にあってmfiler3にない機能といえば ファンクションキー sudoメニュー スーパーインクリメンタルサーチ 仮想ディレクトリのfindでnameとかメニュー形式で選べるやつ か。 sudoメニューはかなり便利であった。 ファンクションキーは初心者には必要だろう。 findはまあman見てくれといいたいが、作者も覚えていないので というか、はっきり言って、あんなの覚えてられないので 入れるかなぁ。今の形式のほうがシンプルでいい気がするが・・・ スーパーインクリメンタルサーチはいらんか。バンドするキーも無いし。 ハードディスク全走査するのがめんどしな。
まあ、暇ができればsudoメニュー入れます。
みんな、真面目な話、GUIの方がいいんかい?
>>380 遅レスで悪いんだけど、うちだと再現しない。
環境はeuc?
2.0.6 アップ。色々バグ修正。2G以上のファイルを表示できるように なったのが大きいです。 あとファイル拡張子別カラーで大文字と小文字を区別しなくなりました。
同じファイル名でうち(Fedora9, utf8)だと再現しない。
mfiler3前のようにこまめにアップはしていませんが 毎日のように触っています。 現在はLinuxメインでPCしているので ユーザーとしてバシバシつかっていて 色々使いにくいところが見えるので、それを直していっているところです。 とりあえず目標はmfiler2です。 mfiler2で実装している機能はどんどん入れたいですね。
最近は人が減って悲しいですね……。 それだけソフトが成熟したと言うことでしょうが。 以前より使いやすくなってきているので、 次のバージョンアップを楽しみにしています。
テスト
version 2.0.7アップです。 拡張子とコマンドの関連付けを追加。 例えばmplayer /home/daisuke/音楽/a.mp3を実行すれば mp3とmplayerが関連付けされて /home/daisuke/音楽/b.mp3でENTERを押せば mplayer /home/daisuke/音楽/b.mp3 がヒストリ候補に出てきます。 後は細かな更新です。 vaio type u, Fedora9でデスクトップ効果が有効になることに気づき Linuxがとても熱いと気づきました。 とても開発意欲が上がってます。乞うご期待。
mfiler3 2.0.7使って見ましたが、起動直後に 何故かrubyが落ちます. $ mfiler3 /etc/mfiler3/.mfiler3.rb:795: [BUG] Segmentation fault ruby 1.8.6 (2008-08-11) [i386-linux] アボートしました
2.0.6、2.07 だと起動時に落ちるので 2.0.5 を使ってます (eval): [BUG] Segmentation fault ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] アボートしました
430 :
428 :2008/09/14(日) 01:49:44 ID:DM2F/LFE
色々やって見たところ *2.0.6で一度起動、.mf3infoが作成される *.mf3infoを消さないまま2.0.7にupgradeして実行 すると落ちていたようです。 バージョンが上がったとき以前のファイルを消すように 警告するか、何か消さなくても大丈夫なようにして下されば 助かります。
431 :
428 :2008/09/14(日) 01:58:28 ID:DM2F/LFE
取り敢えず次を当てておくと2.0.[2,5,6]から2.0.7へのupgradeは 大丈夫になります(空白が見づらいですが...)、正しいかどうかは 分かりませんが # diff -u .mfiler3.rb.orig .mfiler3.rb --- .mfiler3.rb.orig 2008-09-13 01:52:40.000000000 +0900 +++ .mfiler3.rb 2008-09-14 01:32:41.000000000 +0900 @@ -792,7 +792,12 @@ i += 1 end - n2 = f.gets.chomp!.to_i + tmp = f.gets + if tmp + n2 = tmp.chomp!.to_i + else + n2 = 0 + end i=0 while i<n2
すみませんが、拡張子とコマンドの関連付けを.mf3infoに保存するように なったので、落ちるんだと思います。 バージョンアップ時は.mf3info消してください。 .mfiler3は特に問題ないと思います。
バージョンアップで.mfiler3(.rb)や.mf3infoを消さなくていいようになったら 楽なのですが難しいですか?.mfiler3.rbは多少カスタマイズしているので、 バージョンアップのたびに編集するのが若干面倒です。.mf3infoもjの登録 ディレクトリが消えてしまったりするのがちょっと…。 ああ、でもどうすりゃそんなことできるのか自分は全く思いつかないです。 ドットファイルにプログラムが書かれているのって珍しい気がします。 GUIはいらないかなと思います。GUIにしたら見栄はよくなるだろうけれど 操作性は変わんないだろうし。でもマウスで操作できるようになったら普段 コンソールを使わないLinuxユーザーの需要が生まれたりして。
結構難しいですね。バージョンアップ時の設定ファイルの扱い。 まだmfiler3は発展途上です。仕方がないかもしれません。 jumpメニューのディレクトリが消えるのは僕も不便を感じています。 jumpメニューだけ.mf3jumpに保存してテキストでも編集可能にしましょうか。 仕様は一行にひとつディレクトリを書いていくだけという。 それなら、だいぶ管理が楽ですよね。 あとはsudoメニューの復活。wkfライブラリの復活でSJISファイルを表示可能に。 USBメモリに書き込み時失敗するバグを修正あたりですかね。 僕が使っていて不便を感じたのは。 GUIは僕もあんまり必要ないと感じています。 それよりmfiler{2,3}のGUI拡張、補助ツールを作る方が有益かなと感じています。 案 1.画像サムネイルWindow, 画像をマークすればファイラでもマークされる 2.Win+Spaceでmfiler3が起動された端末にフォーカスが移って、コマンド入力受付状態になる。コマンドラインランチャいらず。 3.別にWindowを開いてカーソル下のファイルのアイコンやサムネイルを表示する。 こんなの考えてます。まあ、作者がXやGNOMEの知識がないので、勉強してからですが。 なんかいい書籍ないですかね・・・
435 :
429 :2008/09/25(木) 02:35:31 ID:elnb/UzN
以下のように変更したらアボートしなくなりました。 diff --git a/src/cmdline.c b/src/cmdline.c --- a/src/cmdline.c +++ b/src/cmdline.c @@ -1698,7 +1698,7 @@ while(year > 100) year-=100; sprintf(buf2 - , "%s %3d %-8s %-7s%10f %02d-%02d-%02d %02d:%02d %s" + , "%s %3d %-8s %-7s%10u %02d-%02d-%02d %02d:%02d %s" //, "%s %3d %-8s %-7s%10lld %02d-%02d-%02d %02d:%02d %s" , permission, file->mLStat.st_nlink , owner, group @@ -1716,7 +1716,7 @@ } else { sprintf(buf - , "%s %3d %s%s%10f %02d-%02d-%02d %02d:%02d %s -> %s" + , "%s %3d %s%s%10u %02d-%02d-%02d %02d:%02d %s -> %s" //, "%s %3d %s%s%10lld %02d-%02d-%02d %02d:%02d %s -> %s" , permission, file->mLStat.st_nlink , owner, group
2.0.8アップです。また.mf3infoの仕様は変わっています。消す必要があるかもしれません。 その代わりマスクの状態を保存するようになりました。 フォーカスの概念導入。複数のmfiler3が立ち上がっている場合、最後にディレクトリ移動した mfiler3にフォーカスがあると考えます。タイトルが[mfiler3]となっています。 普通のmfiler3はmfiler3としか書かれないです。mfiler3 -e lsを実行すると フォーカスのあるmfiler3でコマンドが実行されます。 X端末のタイトルに現在のディレクトリを描写するようになった。 mfiler2にあった機能です。 USBメモリに書き込むときコピーが失敗していたが修正。 コマンドラインのファイルサイズを書き込み時にアボートするバグを根本的に修正。 ファイルサイズの描写でHumanならあまり文字幅を消費しなくなりました。 Humanなら7文字。Normalなら9文字。Planeなら14文字。 今まではすべて14文字消費していたのでファイルサイズの表示を行うと窮屈になっていたはずです。 Humanをおすすめします。
mfiler2に入れていたExplore風のバインドってあまり需要ないみたいだけど mfiler3でも復活させます。 あれ、ディレクトリ移動がかなり便利なので。 /usr/local/binに移動したいなら 普通の英字キーがインクリメンタルサーチのExplore風のバインドは \, u, [ENTER], l, o, [ENTER], b [ENTER] で移動できます。今デフォルトのあふ風は \, f, u, [ENTER], [ETNER], f, l, o, [ENTER], [ENTER], f, b, [ETNER], [ENTER] でかなり遅いです。 その代わりExplore風のバインドはエディッタによるファイル編集はeだけでなくAlt + eになります。 Alt + ?は端末によっては有効ではないので、デフォルトはあふ風という選択は正しかったのは確かです が、どちらも用意することにしました。 初回起動時にバインドをユーザーに選んでもらうことにします。
作者さん、いつも開発ありがとうございます。 要望なのですが、連続して同じコマンドを入力した場合、 zshみたいにヒストリに残さないようにしてもらえないでしょうか? そうすれば、ヒストリが大変すっきりすると思います。
ヒストリは確かにそのほうがいいかもしれませんね。 ちょっと、そうして見ます。 パッチの件はパッチを当てたバージョンをアップします。 あと今日はmfier3オリジナルバインド (普通の英字キーはインクリメンタルサーチ) を実装して、一緒に2.0.9としてアップします。
/etc/samba/smb.confをエディットしたくなったら オリジナルバインド \, e, ENTER, s, a, ENTER, s, m, Alt + e 9タッチ シェルなら v, i, m, SPACE, /, e, [TAB], /, s, a, [TAB], /, s, m, [TAB], [ENTER] 16タッチ あふ風なら \, f, e, ENTER, ENTER, f, s, a, ENTER, ENTER, f, s, m, [ETNER], e 16タッチ カレントディレクトリのmain.cppを編集。 オリジナルバインドは m, a, Alt +e 3タッチ シェルなら v, i, m, SPACE, m, a, [TAB], [ENTER] 8タッチ あふ風なら f, m, a, [ETNER], e 5タッチ
パッチも採用させてもらいます。ただsystem wideなmigemoの辞書は不備がありません? 僕前に不備を直したんですよ。もうやり方忘れたので、何の不備だか忘れましたが。 もう直っているならいいんですが・・・
オリジナルバインドも実装しました。あとsudoメニューとファンクションキーを実装したら 2.0.9としてアップします。 あとCでタブのディレクトリにコピーとかも入れます。 それで大体mfiler2に追いつくはず。
446 :
442 :2008/09/29(月) 23:44:31 ID:cnpeV06A
>>444 2.0.9がリリースされたら見てみようと思います。
function keyとsudoメニューできてます。 あと圧縮ファイルの仮想ディレクトリ作ってます。 とりあえずtgzだけですが。
圧縮ファイルの仮想ディレクトリ機能は前からほしいと思っていたので とても楽しみです。 ところで、ファイルを複数マークしてrで一括リネームすると画面の表示が 乱れるみたいです。C-lで戻りますが。
要望なのですが、コマンドラインの時のように、 補完でも候補が色分けできるとわかりやすいと思います。 それと、mfiler3ソースのtmpディレクトリにアーティスト名の ディレクトリ(中身は空)が置かれていますが、これはテスト用のディレクトリでしょうか?
>>448 なんかgnome-terminal画面が乱れますね。バックを半透明にしているせいかとか
mfiler3が悪いのだろうかと色々疑って見ましたがシェルからvimを起動しても
乱れる時があるし、どうやらgnome-terminalのバグではないかと思ってます。
xtermで作業したら、大丈夫だったので。
画面が乱れたらCTRL-Lしてください。
>>449 補完の色分けとはどのようにしたらよいのでしょう?
今でも入力した所までは水色にしているんですが、それでいいような気がしています。
でも、何かアイデアがあるのなら、詳しく教えて欲しいです。
ぜひ、採用させてもらいます。
>>450 確かにxtermだと乱れないですね。gnome-terminalとmltermとEtermは乱れるようです。
C-lで直せるのでたいした問題ではないけど一応報告まで。
2.1.0アップです。 圧縮ファイルの仮想ディレクトリを追加。 sudoメニュー、ファンクションキーによる操作も追加。 あとはsystem wideなmigemoの辞書のパッチも当てました。 それくらいですかね。 tmpはテストようのディレクトリです。意味はありません。前にバグがでると聞いていたので テストように置いてます。 あとは、なんですかねぇ。tar.bz2に対応しないといけませんね。 あ、依存ライブラリにlibtar-develも追加されましたね。書くの忘れてました。 修正します。
>>452 src/onig-4.6.1/configureに実行権限がないため、makeが失敗してしまいます。
Makefileを修正することでビルドできました。
--- Makefile.orig 2008-10-14 15:07:13.000000000 +0900
+++ Makefile 2008-10-14 15:38:15.000000000 +0900
@@ -126,7 +126,7 @@
###############################################################################
$(COMPILED_LIBONIG):
- cd src/onig-4.6.1 && ./configure && make
+ cd src/onig-4.6.1 && sh ./configure && make
###############################################################################
# インストール
あと拡張子の関連付けが完璧じゃないですね。 オプションやマクロ(%tなど)も覚えていてくれないと困る気がしました。
455 :
login:Penguin :2008/10/14(火) 19:00:52 ID:nFJ5QzTw
ktkr ほんとに乙です
ついに仮想ディレクトリ機能がついたんですね。超GJです! Ubuntuだとlibtar-devを入れてからmfiler3をコンパイルしたら tar+gzが仮想ディレクトリとして表示されました。
457 :
449 :2008/10/15(水) 12:40:08 ID:TfGbmRxi
2.1.0おつかれさまです。
>>450 zshのように、補完の時でも候補がファイル窓と同じように色分けされるとディレクトリや
ファイルの種類がわかりやすくなると思います。
コマンドライン引数の場合はhを押したときのコマンドラインモードと同じ色で良いと思います。
>>453 同封の鬼車は外そうかなと思ってます。もう、各種ディストリビューションで採用されているので
必要ないでしょう。一応直してアップしておきました。バージョンはそのままです。
>>456 お祝い、ありがとう。
この勢いでftpも仮想ディレクトリにしようかと思ってますが、どうなるか分かりません。
考えていることが上手くいけば簡単にできそうなんですが。
>>457 なるほど。それは結構大変そうではありますが、見やすくなるのは確かですね。
あとコマンドラインでもファイルの拡張子別色分けが有効だといいですね。
ftpの後になりますが、採用するかと思います。
system-wideなmigemoのpatch(と後2つ) 取り入れてくださり有り難うございます。
win用バイナリへのリンクが切れているんですが。。。 どなたかアップしていただけないでしょうか?
mfiler3 version 2.1.1アップです。ftpの仮想ディレクトリを実装。lftpが必要です。 $のメニューから起動するかコマンドラインで vftp サイト ユーザー名 パスワード で入れます。 できる操作はc,m,r,d,D,e,vです。 e,vは一度ローカル側にファイルを移動してからEDITOR, PAGERを起動。それが終了したら またアップという形になっています。
tarで固めていないgzipファイルの上でEnterを押すとtar+gzipのときと同じ ように仮想ディレクトリ化しようとしてしまうので、拡張子が".tar.gz"と ".gz"のときで処理をわけたほうがいいと思った。
了解です。 調子にのってssh,scpでも仮想ディレトリを有効にする予定です。 考えていることができれば、簡単にできるはずです。 ssh-agent, ssh-add, ssh-keygenによるパスワードを入力なしにする方法がないと ディレクトリ移動する度にパスワード入力が必要で、使い物にならないと思いますが その方法はページに書いておきます。(Fedora9のみ)
mfiler3でftp接続してみました。思ったこと ・ftp接続できないサーバにログインしようとすると画面が真っ白になる ・ログインできなかったときは元のディレクトリに戻ったほうがいい ・パスワードが.mhistory3に残ってしまうのはよくないのでは (あと画面に表示されてしまうのも) ・ミラーリングアップロード・ダウンロードができたらいいなあ ・jでブックマークして次回からはパスワードなしでアクセスできたら便利 lftpもブックマークするとパスワードを生のまま保存してしまうので もしかしたら気にしなくていいのかもしれないですが。 sftpには対応していないようなのですが、そのうち使えるようになったり しちゃうんでしょうか。 あと、ftp以外のことで ・圧縮ファイル内にあるディレクトリの名前が長いとファイル名が右で 切れてしまうので、あふみたいな方法でも表示できるようにしてほしい ・./src/etc/.mfiler3.rbの293行目にtypoがありました (s/which allow/which allows/) 依存関係が多くなってきたから、誰かapt-getで取れるようにしてくれないかな…
ftpの感想ありがとうございます。 問題点を修正したものをアップします。 パスワードの件はうーん、どうしようという感じです。 一応パーミッションが600なので、普通に家で使っている人は関係ないと思います。 ただ会社とか学校で使っている人はロック掛け忘れて席を離れると結構ヤバいですね。 sftpというかssh,scpでやろうと思ってます。 一応ディレクトリ移動はできるようになりました。 ssh user@site 'ls -al' | perl でごにょごにょ | vd2 でいけました。 パスワードはキーをサーバーに登録してssh-addしないとディレクトリ移動毎にパスワードを聞かれます。 samba, webもコマンドによるファイルの一覧の取り方さえ分かれば、簡単にできそうではあります。
Arch Linuxにmfiler3を入れてみたらsegmentation faultしてしまいました。 ドットファイルを最新のものにしてみましたがだめみたいです。 何をすればいいでしょうか。
gcは7.0-2です。 一応参考までに他のプログラムのバージョンも書いておきます。 gcc 4.3.2-1 make 3.81-3 autoconf 2.63-1 ncurses 5.6-8 oniguruma 5.9.1-2 ruby 1.8.7_p72-2 libtar 1.2.11-3 lftp 3.7.4-2.1 cmigemo 1.3c
>>468 7.0では動かない
mfiler3をaurにアップロードしないのもそれが理由
gcはなぜか公式のメンテナが不在になってて、7.1にアップデートされない状況
Archは野良ビルドが楽なので、自分でgcをビルドするのがいいと思う
>>469 ありがとうございます。gc 7.0を削除して7.1をインストールしたら
無事起動できた…はずなのですが、一般ユーザーで起動すると
shmget: Permission denied
とエラーが出てしまいました。一度rootで起動しておくと次からは
一般ユーザーでもエラーが出ないようです。Debianで使っていた
ときも同じようなエラーに遭遇したことがあります。
shmgetはたぶんバグあります。 乱数でなんかごにょごにょした覚えがあるので、たまに出る程度で再現性はないとは思うんですが。 覚えて置きます。大したバグではないはずです。 今はsshの仮想ディレクトリの作業です。大体動いてます。コピーとかできます。 ファイルのリスト見れながらコピーできるというのはやっぱり便利です。 うーん一応、アップは明日と約束しておきます。 あと近日中にperlの組み込みの作業ができるかもしれません。 pythonも組み込めますが、まあ、暇があれば。 shell, perl,python,rubyと組み込めたら、everybody happy!? 関数型言語マニアはお断りです。 他にはシェルの実行速度を何とか上げて設定ファイルの読み込み速度を上げて 起動速度を一瞬にしたいです。 最近の使い方としてコマンドラインランチャ(GNOME-DO) + mfiler3で起動することが 多いので、起動速度が非常に重要なんですよね。 ファイル操作やなんかシェル作業が必要になったら、CTRL-Space(Win-Space) + mfiler3で 作業開始って感じです。PentiumM 1Gでは今でも十分な速度ですが、ちょっとだけ重いのが気になります。 ん!?シェルスクリプトをコンパイル方式にするという手が・・・ たぶんパースが遅いんだと思うので、いけそうですね。ぼちぼちやってみます。
version 2.1.2アップです。 sshの接続が可能になりました。vd時も.indexの場合以外ソートするようになりました。 ftp,sshにつなげなかった場合は元のディレクトリに戻ります。
お疲れさまです。sshでlocalhostに接続してみたところ、ログインはできたものの ファイル一覧に"/"がたくさん表示されていてEnterを押すと zsh:cd:1: no such file or directory: /home/USERNAME/localhost/localhost/ とエラーが出ます。 最後に一つだけファイル(?)があり、Enterを押すとミニバッファに $ /home/USERNAME/-\>\ .xinitrc と表示されます。 それから、vssh、vftpでログインできないホストに接続しようとすると やはり画面がホワイトアウトしてしまうので、何かエラーメッセージを出して Enterで抜けられるようにしたほうがいいと思いました。 Ctrl-cで抜けた後はちゃんと元のディレクトリに戻ってくれました。
圧縮ファイルの仮想ディレクトリについてなのですが、screenを起動して
いるとeやvを押したときにエディタやページャが読み込むファイルが作成
されずうまく動作しないみたいです。
それから、圧縮ファイルによってはファイルをcで解凍すると圧縮ファイルの
あるディレクトリに無駄なディレクトリが残ってしまうことがあるようです。
http://v2c.s50.xrea.com/V2C_T20081001b.tar.gz このファイルでは再現
できました。
あと、Backspaceを押すと圧縮ファイルのあったディレクトリの一つ上に移動
してしまうので、元のディレクトリに戻ってほしいです。
mfiler3の最新バージョンにはsrc/etcに.mfiler3や.mfiler3.rbが含まれていないですが、 これらがなくても、動作するようになったのでしょうか。 .mfiler3がないと起動時にエラーとなるのですが……。
>>475 version 2.1.2でちゃんとファイルあるよ。
ドットで始まるファイルが非表示になってるとか
>>477 その通りでした。勘違いしてしまいすみません。
動作がおかしかったのはzlibのdevパッケージが入っておらず、
途中でインストールに失敗していたのが原因のようです。
なぜかconfigureは通っていたので、次のバージョンではconfigure時に
エラーを出して止まってくれるとわかりやすくなると思います。
2.1.3
Archユーザの皆さんへ gcにメンテナが付いて7.1にアップデートしてくださったので、mfiler3-2.1.3をaurにアップしました。 mfiler2同様 "yaourt -S mfiler3" でインストールできます。 依存関係を最小にするため、migemoやonigは依存関係にしていません。 mfiler2のほうはとりあえずそのままにしておきます。
何の話?
最近はシェルの機能アップをしなければならないと痛感しています。 エラー出力、実行速度アップ、スクリプト言語並の便利さを付け足したいと思ってます。 設定ファイルでテトリスが動くようになればいいなぁ・・・ できればrubyを外したいです。二つも言語があったら、複雑です。 ただ、あんまり設定ファイルなんて誰も興味ないと思うので自己満足でしょう。 まあ、起動速度が上がります。 上記の問題や圧縮ファイルの対応を増やしたりするのはちょっとあとになります。すみません。
作者さんにお願いします。 mfiler3もだいぶ安定してきたので、トップページはmfiler3で良いのではないでしょうか? 優れたソフトであるので、雑誌などで紹介されて有名になるといいですね。
たくさんファイルがあるディレクトリでの削除や移動にとても時間がかかります。 marking という関数が遅いようです。 この関数はファイルがマークされているかどうかの判定をしていますが、 これはシェルスクリプトでやらないといけないんでしょうか?
速度が問題なるものはCでやるべきです。 ちょっとシェルを書き直して設定ファイルがシンプルになれば ボトルネックの部分がわかりやすくなるので速度が必要な部分はCで書きます。 雑誌に紹介されるのはシェルスクリプトオンリーになって速度も問題なくなって 真のLinuxらしいファイラになってからの方が嬉しいですね。 それをversion 3.0とします。 Rubyは究極の言語を目指したそうですが究極のファイラを目指します。 ファイラとしてのありとあらえる機能を実装し、内臓スクリプトは強力で奥深く 次世代のシェルとしてみんなに勧められるようなファイラにしたいと思ってます。
個人的にruby好きだからrubyも残してくれた方が嬉しいかも。 標準の設定ファイルでは使用されないけどruby使ったカスタマイズも出来るみたいな。 もちろん負担が大きいようなら無理はいいませんが。
488 :
485 :2008/11/15(土) 20:16:22 ID:hHuxHe7D
とりあえずmarking の内容を以下のように書き換えることで これまで数千ファイルあると何分か待たされていた移動が一瞬で始まるようになりました。 function marking { markfiles $(adir) markfilenames markfilescount if [ $markfilecount = 0 ] then print 0 else print 1 fi }
またシェルを書き直し中です。 ちょっと時間がかかります。 書き直して良いものになればversion 3.0としてアップします。
サブシェル完成。今渡こそまともだと思います。 あとコンパイル方式がいけそうです。ついでにスクリプトファイルの走査が 一回だけで済むようになったので起動速度が、かなり上がるはず。 今まで4回くらい走査してましたから。 あと色々アイデアがあります。 思っていることが全部できればMac対応は考えてます。 cygwinはちょっと・・・。 cygwinに漢字の問題(0x5cがファイル名に含むファイルに対してシステムコールが不完全な問題) がなくなればやる気出ますけど。 誰かcygwinを直してくださいよ。
コンパイル方式はEmacsみたいで面白いですね。 起動速度が速くなるのは歓迎なので、リリースされるのを楽しみにしています。
誰かがcygwinを直すのを待つよりも、UTF-8 cygwinへの対応を検討していただきたいところ
余裕ができれば前向きに検討したいと思います。 今はWindows環境がないんですよね。 もし対応できればcygwin対応というよりWindows対応と言う感じで 必要なファイルすべてをパッケージにしてリリースしたいと思います。 内臓シェルスクリプトエンジンがまともになってます。 ソフトウェアの名前を変えてリリースする予定です。 Rubyは組み込んだままになりそうです。 (revalなんてRubyコマンドを実行するevalコマンドも用意しています)
ただ他環境への移植はある程度自信を持ったものになってからにしたいと思います。 まだまだmfiler2の方が優れている点があります。 tgz以外の圧縮ファイルの対応もしなければなりません。 コマンドラインスタックなどzshの良い点も組み込みたいです。 他のファイラの良い点もどんどん取り入れたいです。 それからですね。
すみません。だいぶ暇がありません。 ただ続けます。 色々構想があります。 シェルスクリプトはpython風のインデント入れました。 見た目綺麗でハッピーです。 まあ、適当にぼちぼち微熱でやっていきます。 究極のファイラが作りたいという思いは変わってません。 名前変えると思います。ディストリビュータの方申し訳ありません。 「あふ」みたいな日本語の名前がつけたいんですよ。 日本型のファイラなので。 bash互換なんか糞喰らえです。
「あふ」みたいか… mfiler えむふぁいら →むふぁ ごめんやめて
やめときますか・・・ シェルスクリプトエンジンに名前つけてあげます。
あと、カスタマイズを簡単にできるようにGUIでキーバインド変えられるように しようかと思ってます。どうも、だいなに近いインターフェースなので、だいな使いに気に入って もらえる場合が多いようで。 あふ使いにはたぶん気に入らないバインドだと思うんですけど カスタマイズしようにもめんどくさい、そんな感じで敬遠されている気がするので。 それか、キーバインドを二つ用意するかですねぇ。 とにかく、簡単に、どちらのクローンにもなるような仕掛けを用意します。 mfilerの存在意義はWindowsでファイラ使っている人がLinuxでも 日本型ファイラが使えるということだと思うので。 インターフェースなんて僕にはユーザーに押し付ける気はありません。 version 3.0がアップできれば内部的には他のファイラには負けないという自信があります。
ちょっと、あふ触って、あふってやっぱりいいなと思いました。 あふみたいなログウィンドウが欲しくなってきました。 フォルダにカーソルを合わせてiを押したら,こんな感じで du -mk %f | log でログウィンドウにフォルダの合計サイズのログが流せる感じで。 もちろんすべてのコマンドでこれが可能で pwd | logとかもいけるようにします。 ファイルコピーした結果とかもlogに流します。 この大改造を施したら、やっぱりファイラの名前変えます。 ちょっとあふを徹底的に意識したファイラにします。 お楽しみに。 まだまだアイデアがあります。仮想端末による画面分割やGUI部品のコマンド化とか ログウィンドウは閉じられるようにして、キーバインドはどうするかな。 ぶつぶつ。
もし僕に技量があればログの機能は、仮想端末で実現するかもしれません。 du -sk %f | log は内部的に下に5行分画面分割してから別の仮想端末にechoするだけにしたらいいので。 その方がかっこいいですねぇ。でも、技術的に、できるか自信ないです。 仮想端末はファイラ画面見ながら、エディッタ画面見たり エディッタ画面を二つ開いたりできるので、ぜひやってみたいんですが・・・
501 :
mfiler作者 :2008/12/18(木) 15:41:22 ID:cj+QTNZd
forkptyという便利な関数があることが分かったけど これってウィンドウサイズは決められても、開始座標のX,Yが決められないので 分割できない。 分かる人います?
上記の質問、FDcloneのしらいさんにまで聞いちゃいました:-p 答えは端末エミュレータを作れば良いとのことでしたが ちょっと考えてみるとカーソル移動のエスケープシーケンスを受ければy軸に いくらか処理を施すという方法でいけそうなので そうしてみます。 動くか分かりませんけど、それしか方法がなさそうな気が・・・
bashc試しましたが、やっぱりmcみたいな感じですね。 向こうの人はあのインターフェースが使いやすいのでしょうか。 ただ日本語ファイル名は画面が崩れます。 日本型のインターフェースの方が楽だと思うんですけどね。
mcみたいというのは上にファイラ画面、下にコマンドライン画面で 基本的に下でコマンドを打って操作するスタイルです。
なるほど。まあ、慣れの問題もあるのかもしれんですね。 例えば、2画面のあふなんかに慣れてると、なんでFD系を未だに使ってる人がいるんだろうとか。
まあ、インターフェースにはそれぞれ好みがありますしね。 たくさん、いろいろなファイラがあるとユーザーにはいいことだと思います。
今新しいシェルスクリプトエンジン「ふみこ」に設定ファイルを移植しています。 今度こそ、まともなシェルエンジンができました。 Rubyも組み込んでいますが、あくまで補助的な物です。 ちゃんとした言語を組み込んだファイラになります。 これで、ビジュアルシェルと名乗っても恥ずかしくない物ができたと思ってます。 perl, pythonの組み込みや、仮想端末機能の追加、圧縮ファイルの対応を広げる コピー時の%表示などファイラ機能のパワーアップ。 まだまだすることはありますが、とりあえず、次のアップは一つの区切りになると思います。 お楽しみに。
509 :
login:Penguin :2008/12/26(金) 17:05:10 ID:nz26+gBv
腐巫女期待age
これは期待せざるを得ない シェルスクリプトにruby,perl,pythonとなればカスタマイズし放題だな。
最近VerUpがなかったから、激しく期待。 今度のバージョンアップで、もっと有名になるといいなぁ。
wkwktktk
513 :
_ :2009/01/17(土) 19:09:50 ID:OsNDNyc9
私事で申し訳ないんですがLFS始めました。 LFSでプログラミングできるまでやってから やっとmfiler3のプログラミングに移ります。 それからです。まあ、あと何ヶ月かはかかると思います。 ごめんなさい。
514 :
_ :2009/01/30(金) 09:39:31 ID:M7v0zTGK
究極のファイラを作りたいという思いは変わっていないので ご安心を。
515 :
login:Penguin :2009/02/06(金) 15:56:04 ID:IQtYlzMF
ふみことともにどこまでも歩んでいく。
516 :
作者 :2009/02/08(日) 23:34:30 ID:vXSbYgAn
ふみこを腐巫女と呼ぶのは絶対やめてください(怒) コンピュータになかなか時間が取れません。 LFSも遅々とした進みです。なんとかプログラミングできる環境を作って 色々アイデアを実現したいです。 仮想端末機能、圧縮ファイルの対応を広げる、perl, pythonの組み込み キーカスタマイズのGUI化、ログウィンドウ なんとなく、ちゃんと社会生活を始めてプログラミングの技量も上がった気がしています。 この辺り、さくっと書いちゃいます。 cygwin対応についてはWindowsのネイティブのAPIを使ったものになると思います。 ディレクトリの読み込みの部分でネイティブAPIを使えば5c問題も解決するので。 あとGUI化についても構想中です。結局仮想端末機能を実装するということは 端末エミュレーターを実装することと同義です。 それならGUIでも一緒じゃん?という思いがあります。この辺今のコードを改良して GUI対応cygwin対応を行いたいと思ってます。
>cygwin対応についてはWindowsのネイティブのAPIを使ったものになると思います。 >あとGUI化についても構想中です。 これはかなり良いですね。次世代のmfiler3にかなり期待しています。 年度末は忙しくなる時期ですので、焦らずがんばってください。
mfiler2 ver4.0.9 を Debian Etch に入れてみました。 サイトの「コンパイルの仕方」そのまんまで実行ファイルができました。 起動した第一印象ですが、mint 的なファイラーを探していたので、 カーソルが下までいったときまた上から出てくるのに強い違和感を覚えました。 とりあえず終了させようとQをおしたら1画面になって焦りました。 (これはあくまで起動直後の個人的な感想であって、私の希望通りにせよ ということではありませんので念のため…) これからどんな使い勝手かいろいろ試してみるつもりです。 日本的な二画面ファイラーは貴重なので、大変期待&応援しています。
スクロールの方法ですね。これには理由があって 描写速度が遅い端末ではこの描写方法が一番効率的なんですよね。 (実はssh接続のWindowsのPuttyが一番描写が早く安定している) オプションであふ風にできます。 q,tabで一画面や二画面になるのはDFの真似です。 このあたりは作者の好みの押し付けで申し訳ありません。 作者は画面の広い一画面を主に使っていて、コピーするときとかのみ二画面という 風に使ってます。 現在はまだLFSやっていて、そこから派生してmake, sed/awk, bashのオライリー本を読んでます。 ほんと今まではLinuxのことを知らなさすぎたと反省しています。 このあたり知っておられる方にはmfiler2, mfiler3なんて一笑にふすような ものだったのではないかと思ってます。 ちょっとLFSを通してGNU Linux文化を学び 日本型ファイラを使いたい人だけではなく マニアックにシェルを使っている方にも 意味のあるものとしてリリースしたいです。
520 :
作者 :2009/03/17(火) 20:33:32 ID:uK2mW4c1
最近はプログラムをしていなくて自由に仕事したり遊んだりしています。 でも、たまにぼけーっとファイラについて考えます。 というか、頻繁に考えてます。遊んでいるといろいろアイデアが浮かびます。 宿題はたくさんあります。 仮想端末、多プログラミング言語化、GUI/cygwin対応。 やるべきことはやってしまいたいです。 ひとつ思ったのはコマンドラインだけでも操作できるようにしたいなというところです。 最近シェルをよく使うようになって、やっぱりシェルっていいなと思ってしまいます。 どこがよいか気づいてますが、いいません。それはファイラには取り込めません。 Minnu's Filerでもコマンドラインモードのみで操作できるようにしたいです。 というかそっちがメインになってもいいくらいにしたいです。 ファイラはおまけみたいな感じで。 いろいろ面白い仕掛けを思いついてます。実装を楽しみにしていてください。 まだまだ先ですが・・・
待ってますよー できれば細かい不具合を修正してほしいとは思うんだけど… んー自分がプログラム書ければ直して使うところなんだけど Perlとシェルスクリプトくらいしか書けないので難しい気がします. Linux 触っているだけの mfiler 使いがスキルアップするには こんな本読んどくべしとかこのサイト見ておくべしとかあったら 教えてほしいです. mfiler3 をいろいろいじってみたい.
長いこと惰性でmfiler2を使ってたんだけど、新バージョン待つ間にmfiler3も触っておいた方が良い? あと多プログラミング言語化でGaucheが使えるようになるととても嬉しい。選択肢に入れてもらえるだろうか。 しかし「自由に仕事」って憧れるフレーズだなぁ…
未だにWindows版を待ち続けているんだけど、(Windows版は)そろそろ見限った方が良い?
524 :
作者 :2009/03/21(土) 22:42:52 ID:mLmxFBEO
そういえばWindows版作ってましたね。それをmfiler3と言ってた気がします。 すみませんが、途中で頓挫してます。 無償のソフトなので、あしからず。 見限っておいてください。 Linux版は責任をもって作り続けます。 とりあえず各種ディストリビューションで採用されるように頑張ります。
Cygwinで使う手もあるけど、重いしUTF-8版が使えないのが× Winなら素直に、あふや内骨格でいいと思う。
526 :
作者 :2009/04/03(金) 21:38:51 ID:kggkFheu
すみませんが、僕はWinでは素直にエクスプローラーです・・・ 開発は続けます。究極のファイラを作るという思いは変わってません。 ただ、リリースはだいぶ先です。いろいろな勉強がすんでLFSが構築できて それからやっとプログラミングにかかれます。 僕は勉強があまりにも足りませんでした。 最近USBメモリ上にLinuxを構築するというのはとても便利だと気づきました。 仮想マシン、友人のマシン、自分のマシン。 どこでも、自分のLinux環境を持っていけます。 mfiler2, mfiler3もそこに置いてもらえれば幸いです。
527 :
作者 :2009/04/11(土) 01:02:13 ID:EivvLKqf
うちの環境ではスピーカーから音が鳴らないLinux。
VMWareではUSBメモリから起動できないことが発覚。
マルチディスプレイでなぜか解像度が低いこと。
いろいろめげそうになってLinux捨ててWindowsで開発しようかと思いましたが
Fedoraで採用してもらったことを考えて、思いとどまりました。
僕にも責任があった。
ユーザーの方で開発を続けてほしい人は
Linuxでも動くUSBスピーカーを誰か寄付してください。
メールは
[email protected] です。
僕には金がありません。
あと勉強もしますが、もう開発も始めます。
いつとはいえませんが、近いうちにリリースします。
USBスピーカーがもらえれば、一生懸命コーディングするので
どなたか、よろしくお願いします。
528 :
作者 :2009/04/11(土) 12:38:13 ID:EivvLKqf
やっぱりcygwinで開発します。Linuxでも動作確認します。
529 :
作者 :2009/04/11(土) 13:54:53 ID:EivvLKqf
起動時からスピーカーつなげていれば音鳴りました\(^_^/ やっぱりLinuxで頑張ります。 USBディスプレイがつながらないとか、USBハードディスクが動かないとか Word/Excelが動かないとか、プリンタつなげるのが面倒くさいとか USBメモリがリードオンリーでつながるとか(HALの設定で変えられるみたいだけど、なんでこれがデフォルト?) ゲームができないとか みんな使っているWindowsの知識がつかないとか 周りに誰もLinux使っている人がいないとか おもしろくない雑誌しかないとか 我慢します。
本当に作者さんなの? ネタにしてはあまりにも(ry
ニセモノだろ 文章が稚拙すぎる
532 :
作者 :2009/04/12(日) 11:40:51 ID:IhkcOZqt
本物です。色々問題解決しました。環境的に申し分ないです。 なんていっても憧れのUNIX環境が普通のPCでも使えるから やっぱりLinuxは素晴らしいです。 見知らぬ相手なのに相手してもらって、すみません。 以後黙々とコーディングします。 バージョンアップの通知だけはします。 あと要望とか感想とかはとても嬉しいです。
本物なのかな?学生は金がないってのには同感。 最近はWineでWinアプリもある程度マトモに使えるよ。 Windowsで作るならSFUも面白いかなあと思ったり。POSIX準拠なのでcygwinより移植しやすいかもしれない。 後Linux以外の*nixも忘れないであげて・・・。DragonflyBSDはデュアルコア認識せずに挫折したけどorz FreeBSDでビルド挑戦中。 では気を取り直して次期ver頑張って下さい。
>>532 ユーザに物を強請るのはあまりいい印象を与えないよ。
そういう時はひっそりとPayPal寄付なんかをWebサイトに付ければいいんじゃないかな。
今は使わせてもらってないけど、いずれUN*X機のデスクトップ環境をメインにした時は使わせて頂きますよ。
535 :
作者 :2009/04/12(日) 22:10:45 ID:IhkcOZqt
応援ありがとうございます。 趣味なので適度に楽しんで、ぼちぼちやっていきます。
偽作者をニヨニヨしてみるスレですね。分かります。
537 :
作者 :2009/04/14(火) 21:30:47 ID:A1iZXDuR
ニヨニヨしたいのは、僕です。
ローカルの CentOS で使ってみたらとてもよかったので、 レンタルサーバ(CORESERVER.JP)でも使ってみようとしたんですが make で 下記のエラーでかれこれ3日詰まってます…。 初心者質問で申し訳ないのですが何が間違っているのかアドバイス頂ければ幸いです。 /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1808: undefined reference to `libiconv_open' /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1809: undefined reference to `libiconv' /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1810: undefined reference to `libiconv_close' /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1817: undefined reference to `libiconv_open' /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1818: undefined reference to `libiconv' /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1819: undefined reference to `libiconv_close' /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1826: undefined reference to `libiconv_close' bin/minato_curses.o: In function `kanji_convert': /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1888: undefined reference to `libiconv_open' /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1889: undefined reference to `libiconv' /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1890: undefined reference to `libiconv_close' /home/hoge/work/mfiler2-4.0.9b/minato_curses.c:1896: undefined reference to `libiconv_close' /home/hoge/lib/libruby.so: undefined reference to `eaccess@GLIBC_2.4' /home/hoge/lib/libruby.so: undefined reference to `__stack_chk_fail@GLIBC_2.4' collect2: ld returned 1 exit status iconv は /usr/lib/iconv.so がありますがエラーになります。 GLIBC_2.4 のエラーはどうしたらいいのかサッパリです…。
539 :
作者 :2009/04/28(火) 22:18:14 ID:utznL9Sg
すみません、わかりません。 iconv関連はdev関係、開発用のinclude, libがないのだと思います。 もう一つはなんですかね。これ? rubyのメーリングリストに投げると分かるかもしれません。
540 :
538 :2009/04/28(火) 23:05:51 ID:AXqQetS1
>>539 なんと作者様からレス頂けるとは感動です。
レンタルサーバでは yum が使えないので
tarball を落としてきてやってみます。
Linux の経験が浅いので躓いてばかりですが、
mfiler を是非使いたいので頑張ります(`・ω・´)
541 :
login:Penguin :2009/04/28(火) 23:09:18 ID:n39YAhrQ
>>538 そのレンタルサーバ上にlibc.soが複数あったり、あるいは
libruby.soがどっか(glibcのバージョンがあってない)別マシンでコンパイルしたものを
取ってきたものだったりしている、ということはありませんか?
eaccess@GLIBC_2.4も__stack_chk_fail@GLIBC_2.4も新しい
distributionのglibcにあるシンボルです。
543 :
538 :2009/04/29(水) 21:09:45 ID:MlDL64oP
>>542 ご助言ありがとうございます。
(g)libc.so について find / -name してみました。
ほとんどの場所が Permission denied でしたが以下が見つかりました。
$ find / -name libc.so
/usr/lib/nptl/libc.so
/usr/lib/libc.so
$ find / -name glibc.so
該当なし。
また、モジュールは全てレンタルサーバ上で configure, make しています。
ただソースを入手するために CentOS のリポジトリから wget して、
rpm2cpio しているものがあるのでここに問題があるのかもしれません…。
レンタルサーバ上の OS のディストリビューションについては
公式サイトで Linux としか書かれていないため不明です。
これから、入れたモジュールを全て消して最初からやり直し、
どこからとってきた何をコンパイルしているのかまとめ直します。
eaccess@GLIBC_2.4 についても情報ありがとうございます。
GNU から glibc をとってきてコンパイルしたのでこれかもしれません…。
こちらについても、一度モジュールを消してやってみます。
皆さんと同じように幸せな mfiler2 ライフを送れるようがんばります。
544 :
538 :2009/04/29(水) 22:58:17 ID:MlDL64oP
まず管理者ログインができないので、
ライブラリのロードパスを変更しました。
export LDFLAGS="-L$HOME/lib"
export LD_LIBRARY_PATH=$HOME/lib:/usr/lib:/lib
ruby 1.8.5 が既に入っていたので、
まず ruby-devel をインストールしました。
Ruby の公式サイトを見ても ruby-devel が見あたらないので
CentOS リポジトリから ruby-devel-1.8.5-5.el5_2.6.i386.rpm を
rpm2cpio してホームにコピーしました。
上記には ruby.so.1.8.5 へのシンボリックリンクしかないため、
CentOS リポジトリから ruby-libs-1.8.5-5.el5_2.6.i386.rpm を
rpm2cpio してホームにコピーしました。
この段階で mfiler2-4.0.9b.tgz を以下の内容で configure しました。
./configure --prefix=$HOME --with-cflag="-L ~/lib -I ~/include" --with-ruby-lib-path=~/lib --with-ruby-lib-name=ruby
そして make すると
>>538 のエラーが発生します。
そこで gnu から iconv を取ってきました。
wget libiconv-1.13.tar.gz
iconv-lib(iconv-dev) といったファイルは無かったので、
上記だけを make, compile しました。
ここで再度 mfiler2 を configure, make しました。
結果は
>>538 のまま変わらず…。
う〜ん…。
545 :
538 :2009/04/29(水) 22:59:27 ID:MlDL64oP
あ、途中で書き込んでしまったみたいです…すみません。
>>548 は mfiler のコンパイルしようとしエラーが発生するまでの
過程です。
546 :
538 :2009/04/29(水) 23:00:23 ID:MlDL64oP
547 :
542 :2009/04/30(木) 00:01:23 ID:8i4a57mf
>>544 やはりそうだろうとは思いましたが、つまり
>libruby.soがどっか(glibcのバージョンがあってない)別マシンでコンパイルしたものを
>取ってきたものだったりしている、ということはありませんか?
ということですね?
CentOSのbuildsysでコンパイルして出来たlibruby.soがCentOS
のglibcのlibc.soにはあるeaccess@GLIBC_2.4シンボルを要求している
のに対して、レンタルサーバ上のglibcのlibc.soにはそのシンボルが無い
為にそのエラーが起こっています。
対処法
*レンタルサーバ上でruby (1.8.6)をtarballからコンパイルし直すのが
確実です。
*rubyのheader fileだけをruby-devel rpm(をrpm2cpioしたもの)
からインストールして、libruby.soのsymlinkに関しては、多分既にレンタル
サーバ上にあると思われるlibruby.so.1.8.5に対して適当にsymlinkを
作成して(mfiler3を)コンパイルをするとうまくいくかもしれません。
>>547 またまた助けて頂きありがとうございます。
> 別マシンでコンパイルしたものを
> 取ってきたものだったりしている、ということはありませんか?
あぁぁぁ、やっと意味が分かりました。
rpm を rpm2cpio することと、tarball のソースを configure, make する違いが分かってませんでした。
rpm ってことはバイナリ、つまり別の環境で make してるってことですね。
初心者すぎて本当に申し訳ないです…。
いそいそとサーバで find / -name libruby.so* してみましたが
該当がありませんでした。
*.a というのは確か Linux では
スタティックリンク ライブラリのファイル名でしたよね。
そもそも公式に libruby のソースが無い時点で?でした。
ruby を configure する時のオプションを変え(--enable-shared)れば
*.so を作れると先ほど知りました。
> *レンタルサーバ上でruby (1.8.6)を
> tarballからコンパイルし直すのが確実です。
libruby.so がレンタルサーバ上に無かったので、
ruby を tarball から --enable-shared でコンパイルしました。
そして改めて make …しましたが iconv のエラーが未だに解決せず…。
:
:
549 :
538 :2009/04/30(木) 15:40:12 ID:ajK+2vNP
:
:
今まで mfiler2 で make していたので、
>>547 さんのご助言に沿い mfiler3 でもやってみましたが
こちらは別のエラーが解決できず…。
configure で以下が発生します。
checking for GC_malloc in -lgc... no
checking "gc.h"... no
checking "gc/gc.h"... no
minato container library require boehm gc
boehm gc は
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ から取得したものを configure, make しました。
include や lib はできています。
~/include/gc/
~/include/gc_cpp.h
~/include/gc.h
~/lib/libgc.so
configure する時は事前に(というか .bashrc で)、
export INCLUDE="$HOME/include"
export LIB="$HOME/lib"
して、configure のオプションでも、
--with-cflag="-L ~/lib -I ~/include"
しているのですが、まだ何か足りないのでしょうねきっと…。
>>548 > そして改めて make …しましたが iconv のエラーが未だに解決せず…
export LDFLAGS="-liconv" とかやってみるとどうでしょうか。
>>549 export CFLAGS="-I${HOME}/include" とかやってみるとどうなるでしょうか。
551 :
538 :2009/04/30(木) 19:16:03 ID:ajK+2vNP
>>550 アドバイスありがとうございます。
どちらもやってみましたが、mfiler2 の make で以下が発生します。
bin/minato_curses.o: In function `kanji_encode_type?:
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1808: undefined reference to `libiconv_open?
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1809: undefined reference to `libiconv?
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1810: undefined reference to `libiconv_close?
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1817: undefined reference to `libiconv_open?
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1818: undefined reference to `libiconv?
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1819: undefined reference to `libiconv_close?
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1826: undefined reference to `libiconv_close?
bin/minato_curses.o: In function `kanji_convert?:
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1888: undefined reference to `libiconv_open?
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1889: undefined reference to `libiconv?
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1890: undefined reference to `libiconv_close?
/virtual/kokolob/work/mfiler2-4.0.9b/minato_curses.c:1896: undefined reference to `libiconv_close?
mfiler3 も変わらず configure にて以下が発生します。
checking "gc.h"... no
checking "gc/gc.h"... no
minato container library require boehm gc
Linux って難しいですね…(´・ω・`)
>>547 様のおかげで GLIBC の問題は解決できたので、
あともう少しな気がするのですが…。
gcを入れろ
553 :
538 :2009/04/30(木) 20:29:45 ID:ajK+2vNP
>>552 様ありがとうございます。
gc については
>>549 の通り、
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ から取得した tarball を configure, make しております。
以下が ll $HOME/lib/libgc* の結果です。
libgc.a
libgc.la
libgc.so -> libgc.so.1.0.2
libgc.so.1 -> libgc.so.1.0.3
libgc.so.1.0.2
libgc.so.1.0.3
改めて gc を configure, make した後、
mfiler2, mfiler3 ともに configure, make を試みましたが
結果は
>>551 と変わらずでした。
554 :
作者 :2009/05/01(金) 01:25:41 ID:mJafLF4M
iconvもコンパイルしたら、どうなんですかね。
iconvのエラーは開発用のヘッダとライブラリがないみたいです。
iconvのソースは
http://www.gnu.org/software/libiconv/ にあります。
今度のバージョンではスタンドアローンでもコンパイルできるように工夫してみます。
ホストにパッケージがない場合は同封のソースをコンパイルするようにすればいいだけなので。
555 :
538 :2009/05/01(金) 05:33:53 ID:l56l1ACr
>>554 作者様、こんなヘタレに再びレスありがとうございます。
iconv については
>>539 でも同様の御指摘を頂いておりました。
>>544 で書かせて頂いた libiconv はまさに
htt?://www.gnu.org/software/libiconv/
から tarball を取得したもので、
これを configure, make しているにも関わらず
>>551 で書かせて頂きましたエラーが発生してしまいます…。
libiconv は libiconv-dev(devel)といったファイルは無かったので、
libiconv-1.13.tar.gz のみ取得しましたが、
これだけでは足りないのかもしれませんね…。
make, install 後、以下のファイルは存在していました。
~/include/iconv.h
~/lib/libiconv.so -> libiconv.2.5.0
~/lib/libiconv.so.2 -> libiconv.so.2.5.0
~/lib/libiconv.so.2.5.0
556 :
538 :2009/05/01(金) 15:21:09 ID:l56l1ACr
報告です。
mfiler2-4.0.9b については make に成功しました。
>>550 様にてアドバイス頂いていた "-liconv" を、
LDFLAGS に指定するのではなく、
cpmfogire 時に --with-cflag にて指定したらエラーは発生しなくなりました。
LDFLAGS はコンパイラが勝手に見てくれるものだと思い込んでいましたが、
違うようですね。
mfiler3 については変わらず、
>>549 の通りで configure でエラーとなります。
mfiler2 だけでも、コンパイルが通ったので本当に感謝です。
自分で試行錯誤を始めてから使えるようになるまで
1週間かかってしまいましたが、
ヘタレを見捨てずご助言くださいました皆々様、ありがとうございました。
557 :
作者 :2009/05/01(金) 22:51:38 ID:mJafLF4M
何にしろコンパイル通って良かったです。 管理者権限がない場合でもコンパイルがスムーズにいくようにしないといけないですね。 色々不備があると思うけど、よろしく!
558 :
538 :2009/05/02(土) 03:06:05 ID:qIiQZRfh
>> 556
× cpmfogire
○ configure
今日キーボードを変えたら、右手がずれていたようで…すみません。
>> 557
本当にありがとうございました。
>>556 の LDFLAGS の件含め、私が素人過ぎて理解できていないので
勉強します(`・ω・´)
お陰様で大変快適です。
これからも無理せず頑張ってくださいませ。
559 :
作者 :2009/05/11(月) 01:02:23 ID:OD9d7Eog
開発再開です。とりあえず、報告。 上記のユーザー権限でのコンパイルの問題は解決しました。 ただ、また書き直しているのとじっくり丁寧に作り込みたいので リリースはいつになるとは言えません。 いまのところ、configure.in, Makefile.inを作っただけです。 書き始めたからには断固たる意志で作り上げたいと思います。
カーソルのあるファイルパスを順次別アプリケーションに送るような事ってできますか? cursor_move_hookを使うのかな?と、漠然とは考えているのですが… カーソル位置のファイルパスを画像ビューアに投げて順次表示させたいな。と。
561 :
作者 :2009/06/17(水) 21:10:40 ID:4N9Tfhqy
マクロ使ってください。 %Mがマークファイルのフルパス %mがマークファイルのフルパス %fがカーソルファイルのファイル名 %Fがカーソルファイルのファイル名フルパス display %Mでdisplayで開けます。
562 :
作者 :2009/06/17(水) 21:12:57 ID:4N9Tfhqy
もし質問の意味がカーソル移動をするたびに画像ビュワーに表示させたいなら rubyで書けます。 mfiler2なら。 mfiler3ならシェルスクリプトで書けます。 書き方は 設定ファイルに $viewer_mode = 0 def mycursor_move() if $viewer_mode = 0 mfiler2のカーソル移動 else カーソル下のファイル名を引数にとってビュワーに送る mfiler2のカーソル移動 end end でこのカーソル移動をキーバインドに割り当てたらいいです。 ファイルが画像かどうかは拡張子で判定すれば 画像じゃないファイルの上にカーソルがきても大丈夫です。 細かいところはマニュアルを調べてください。 とりあえず、可能です。
563 :
560 :2009/06/19(金) 11:46:52 ID:L9bTctoY
作者様。 ありがとうございます。 早速いろいろ試してみたいと思います。
564 :
作者 :2009/06/25(木) 13:56:58 ID:GhFDo6f1
開発続けてます。 最近プロファイラの使いかたを覚えて 効率の良いプログラムの書き方が分かりました。 プロファイラは コンパイラに-pg付けて gprof プログラム gmon.out するだけです。 mfiler3は256色関連のところがひどいコード書いてます。 描写ごとに表示されるファイル名と正規表現かけているのでonigurumaが凄いCPU食ってます。 書いたときは画面に表示される10、20のファイルに正規表現かけても大したこと無いと思ってたんですが プロファイラで見たら凄いことになっていました。 もし、やるなら、ディレクトリを読み込むときに正規表現かけてキャッシュしておかないといけないです。 mfiler3よりmfiler2使ってください。
開発続けてます。mfiler3をベースにしたものです。 目標はシンプルで機能的です。 メモリを浪費するGCは外しました。 処理速度はmfiler2の時点でもFDcloneに勝っていますが (あやふやな記憶ですが 3000overの日本語ファイルがあるディレクトリの読み取り速度や ファイルコピー速度ではmfiler2の方が早かった) 消費メモリや起動速度やその他全体的な処理速度でもFDcloneに負けないように作りたいです。 正直知識では負けますが、動いている、しらいのおっさんには負ける気がしません。
すみません誤爆です。とにかく、動いている作者はFDcloneには負けません。 あかん、もう訳分からん。
なぜ削除。
>>565 Win上でFD系をいくつか使った事あるし、FDcloneもちょっと触ったことある。
使ってみて思ったのが、あふ等の2画面ファイラには操作性で劣るな〜ってこと。
mfilerシリーズは2画面ファイラを選択した時点で圧倒的なアドバンテージを誇っているのだから
FDcloneなんかと比較して勝っているうんぬんって書き込みは人の印象を思いっきり下げてるよ。
569 :
作者 :2009/07/19(日) 01:42:15 ID:367MDiE3
うーん。処理速度と機能はやっぱり勝負ですよ。 プログラマーなら、みんなそう思っていると思います。 でもユーザーインターフェースは遊びの部分が大きいと思うんです。 ばしっと規定して統一感があって、これは使っていて面白い。 そう思わせないと意味がありません。 単にとことん心地の良いものを提供することを追求するのはきりがないし ユーザーによって心地の良いものって違うのだから、追求しても 分からなくなるだけです。 今度のリリースでは機能をとことん追求して、ユーザーインターフェースは シンプルに仕上げて使っていて面白いものにしたいです。
最近使い始めたのですが、 ひとつの拡張子に対して、二つ以上関連付けが設定できて、 選べるようになったら嬉しいです。今でも出来てたらすみません。 あと、.mfiler ファイルの日本語のコメントがSJISで書かれていて、 今時のPC-UNIXでインストールすると、デフォルトで呼ばれるviなどでは 文字化けするので、最初からUTF-8で書いておいて欲しいです。 nkfとかで自分で変換しろってポリシーなら構いません。
571 :
作者 :2009/07/19(日) 02:31:53 ID:367MDiE3
二つ以上の関連付けはメニューでできます。 mfiler2ならこんな感じです。 defmenu("touch", "title a", KEY_1, "shell('touch a', NULL)", "title b", KEY_2, "shell('touch b', NULL)") keycommand NOMETA, KEY_ENTER, ".c", "menu 'touch'" mfiler3ならこんな感じだったと思います defmenu touch "title a" $key_1 "touch a" "title b" $key_2 "touch b" keycommand 0 $key_enter '.c' 'menu touch' mfiler2の設定ファイルがSJISなのはこちらの手違いです。 明日mfiler2のメンテしておきます。
すみません、確認するのに時間がかかってしまいました(^-^; mfiler2 ですが、メニューで選択できるようになりました。 どうもありがとうございます。
明日には間に合わなかったがメンテするなら main.rbにあるタイポ、etner_bz2の修正と keybind_mfiler2.rbの keycommand NOMETA, KEY_y, "*", "menu_my_commands()" をMETAへもお願いしたい
574 :
作者 :2009/07/28(火) 20:39:49 ID:keR6r3xE
了解しました。 今週末に修正しておきます。
575 :
作者 :2009/08/02(日) 22:47:15 ID:WBRWm6y2
修正しました。
乙
577 :
login:Penguin :2009/10/03(土) 18:25:51 ID:DuI1YOoS
mfiler2使い始めでよく知らず、間違っているかもしれませんが質問です。 V+2やTabなどで2画面表示をして、片方にカーソルが当たっている状態にしたときに"."を押して".*"のファイルやフォルダ(設定ファイル)を表示するのですが、 この時両方の画面の".*"ファイル、フォルダが見えてしまいます。 カーソルが当たっている方だけ表示したのですが、可能でしょうか?
作者愛してる
作者になら*を捧げてもいいな
>>580 gdbでどこで止まってるか調べると作者さんも
嬉しいのでは?
>>579 お前他でも同じこと言ってるだろ
*軽だな
583 :
作者 :2009/10/12(月) 02:25:36 ID:F3f2YJN5
>>577 マスクは2画面共通です。
>>580 動かないのか。。。がくり。
うーん、curses周りですかね。
実機がないと分からないです。
まだ開発してます。
組み込み用のシェルスクリプト開発中。
完成したら、ファイラに乗せて配布します。
当方、makeできる環境が無いため、 Win版を再度アップロードしていただけないでしょうか。
了解です。 ただ、ちょっと時間をください。 日本語の対応が良くなったcygwin1.7をベースにしたいと思います。
In what follows we provide a simple formal model of this process. ,
587 :
作者 :2009/11/04(水) 00:27:06 ID:ewMU+7fb
cygwin1.7対応は今作っているシェルスクリプト言語が完成して、それをファイラに組み込んで から対応したいと思ってます。すみません。
588 :
作者 :2009/11/04(水) 00:33:10 ID:ewMU+7fb
・・・近日中にmfiler2を1.7でコンパイルしてアップします。
589 :
作者 :2009/11/08(日) 23:31:23 ID:YjKL+K2J
cygwin1.7でコンパイル、実行に成功しましたが cygwin環境すべてをアップロードしようとすると ディスクの使用容量が1Gを超えます。 どなたか知りませんが、ソースのみのアップでいいでしょうか? バイナリのみをアップするには依存関係などの解決がめんどくさいので そうさせていただきます。 (各種UNIXコマンドがない場合はmfiler2は実行できない) 自分でコンパイルしてください。
作者さん乙です
591 :
login:Penguin :2009/11/14(土) 07:07:33 ID:JLUqrjej
フルインストールなcygwin1.7 でmakeが通らない。 Xなんたらがないみたいなエラーでる。誰か成功した人いる?
Arch Linux で mfiler3 2.1.3 をビルドしようとしたのですが, ruby のバージョンが 1.9.1 になっていて 1.8 とはヘッダファイルの 場所が変わっていたり,関数名などが変更されていたりしたため, コンパイルエラーになってしまいます.コード中の関数などを置換して 強引にコンパイルを通してみたのですが,segmentation fault になって しまいました.できることなら作者さんに直してもらえると助かります.
593 :
作者 :2009/11/17(火) 23:06:16 ID:SO8BE+oz
>>592 ruby 1.9.1対応ってことですね。対応させておきます。
時間をください。
>>593 どうもありがとうございます。気長に待っています。
migemoもビルドできんのね、Arch。。
Puppy Linux 4.3.1JP にてPETパッケージを作成し、mfiler2-4.1.0 を入れてみました。 Home キーを押すとファイル全マークされ、さらにマークされたファイルが 画面の上段に並び、上側に並んでいたディレクトリがその下に表示されます。 以前のmfiler-3.x.x などでは、このような並べ替えはなかったと思うのですが、 新たな仕様なのでしょうか。また、Home キーにて全マークしてもファイルが並べ替えられない ように設定できますか?
ruby1.8パッケージに対してビルドするように修正したmfiler2とmfiler3のPKGBUILDをアップしました。 ビルドと実行にはAURのruby1.8とonigurumaが必要です。 migemoは外してあります。AURにあるmigemoパッケージもビルドできないようですし。 mfilerに付いてくるmigemo辞書も必要がないので削除してあります。 また、mfiler2とmfiler3がコンフリクトしないよう、一部実行ファイルの名前を変更してあります。 mdndはruby18のgtkバインディングが必要のようで、動きません。どうせ動かないのでシェバング行も修正していません。 長いこと放置して申し訳なかったです。
>>597 592ではありませんが、 mfiler3をインストールしてみました。
問題なくできました。ありがとうございます。
599 :
596 :2009/12/15(火) 21:29:32 ID:RpU9++Qw
すみません。596 の質問撤回。マニュアル読んで解決。(sort メニューにて 'm' でトグル )
600 :
592 :2009/12/18(金) 20:05:28 ID:FWzXmiOI
>>597 PKGBUILD を更新していただきどうもありがとうございます.
yaourt -S mfiler3 でインストールすることができました.
mfiler2について質問です。 Meta-xやコマンドラインのマクロ%r、%Rを使用して、rubyにコマンドを渡して実行した際に、 その処理をバックグラウンドで行なうことは可能でしょうか? また、rubyに渡したコマンドは、Ctrl-dやCtrl-cでも終了させることができず 処理が長いコマンドを中断したい時や無限ループに陥いってしまった場合に不便です。 このような時に、rubyに渡したコマンドを強制的に終了させる方法はあるでしょうか?
602 :
作者 :2009/12/27(日) 14:31:30 ID:pMNW0ZTp
ruby1.9対応が進んでおらず申し訳ございません。
いまからやりますね。
>>601 rubyのコードはmfiler2のプロセスと同じプロセス上で
動いているので無理だと思います。
rubyのほうでシグナル設定を行って
シグナルを受けたら、ループを抜けるようにすれば中断できるのかもしれません。
シグナルの設定はmfiler2に戻るときに、またmfiler2用に
初期化されたと思うのでrubyで設定しても問題がないはずです。
603 :
作者 :2009/12/28(月) 12:12:22 ID:sf8fJvXP
まだubuntuではruby1.8がメインで使われているようですし ruby1.9対応はruby1.9がubuntuなどでメインになるまで待たさせてもらいます。
>>602 ruby側でシグナルを設定したら、うまく中断することができました。
ありがとうございます。
無理をせず開発頑張ってください。
605 :
作者 :2010/02/14(日) 03:52:24 ID:4ea87R4g
>>605 mfiler3 3.0.0をインストールする前にkitutukiを試しているのですが、
*make install時に"install: cannot stat `kitutuki.kio': そのようなファイルや
ディレクトリはありません"と怒られますが、どうしたらいいのでしょうか。
*/etc/kitutuki.sh 設定ファイルのソース
とありますが、source tarball中にkitutuki.shは無いようです。代わり(?)に
kitutuki.kshがありますが、これはkitutukiがkshを必要としていると
いう事でしょうか。それとkitutuki.sh(とkitutuki.ksh、あるいはkitutuki,kio)
は無くても良いものなのでしょうか。
607 :
作者 :2010/02/14(日) 21:44:32 ID:4ea87R4g
>>606 kitutukiのREADME.ja.txtのkitutuki.shはkitutuki.kshの間違いです。
mfiler3のREADME.ja.txtのmfiler3.shはmfiler3.kshの間違いです。
kitutuki.kioはtarballの中にあります。
もしかしてmake cleanを実行しませんでしたか?
make cleanを実行するとkitutuki.kioは消えてしまいます。
>>607 確かにmake cleanしました。
確認すると確かにoriginalのtarballにはkitutuki.kioが入っていました。
ただ、例えばパッケージ化する時等ではpre-compiledなbinary data
は一旦全部消去してからtext sourceから作り直す必要があるので
結局make cleanする必要があるのですが、この場合は
どうすればよいのでしょうか。kitutukiを使って.kio ファイルは生成出来る
ようですが、そもそもkitutukiを実行するのに.kio ファイルが必要な
ようで...
609 :
作者 :2010/02/14(日) 23:35:24 ID:4ea87R4g
オプションでランタイムスクリプトはソースファイルのまま でも起動できるようにしてmake時にそのソースファイルで起動できる kitutukiでkitutuki.kshをコンパイルしてkitutuki.kioを 生成するようにしておきます。 アップしたらこちらで伝えますので、お待ちください。
610 :
作者 :2010/02/15(月) 01:12:31 ID:SaaJYtAu
修正してアップしておきました。
これはrubyは切って、自前のkitutukiで行く方向になったってこと?
バージョンアップありがとうございます.起動が高速になり, 加えて,ファイルが大量に存在するディレクトリでの動作が 機敏になったので,たいへん快適になりました. kitutuki のパイプ処理について質問なのですが,mfiler3 で h を押してコマンドラインに移り, $ tar ztvf file.tar.gz | lv を実行すると lv に何も表示されず,バックグラウンドにジョブが 残ってしまいます.パイプはどのように書くのが正しいのでしょうか. また,上記の状態で mfiler3 のコマンドラインから jobs を実行すると number name pgroup 1. tar ztvf file.tar.gz lv 7807 と表示されますが,fg 1 を実行しても cmdline 1: tcsetpgrp failed. use ps fj to find out job process group and use cpg [job id] [pgroup] to change the job process group which kitutuki has. とエラーになってしまいます.ジョブを復帰するにはどうすれば いいのでしょうか.
>>605 お疲れさまです。心待ちにしておりました。
しかし、mfiler の make でコケました(泣
> main.c: In function ‘main’:
> main.c:1040: error: too few arguments to function ‘kitutuki_init’
> main.c:1089: error: too few arguments to function ‘kitutuki_init’
> make: *** [mfiler3] エラー 1
gcc-4.4.3 です。
614 :
作者 :2010/02/16(火) 00:59:19 ID:TkrLbNph
修正したmfiler3をアップロードしました。
Rubyを組み込む予定はありません。
>>612 書いてあるとおりです。
ps fjでlvのプロセスグループを調べて
cpg 1 プロセスグループ
で設定してすろとfg 1で復帰できます。
kitutukiは子プロセスのプロセスグループを見失うことがあります。
>>614 ご返信ありがとうございます.やっと理解できました.
616 :
613 :2010/02/16(火) 22:13:26 ID:+V74wVkA
>>614 素早い対応ありがとうございました。
依然の mfiler2,3 はカーソルの反応がややもたついたりして、
一時期 midnightcommander に浮気したりしてたんですが、起動が遅いのと
キーバインドに馴染めず、新しい mfiler を楽しみにしてました。
ちょっと使ってみたところ表示の速さも、レスポンスの良さも期待以上です。
あと少し気が付いた点を。
・起動すると下記のように怒られ、手動でシンボリックリンクを張らねばなりませんでした。
> mfiler3: error while loading shared libraries: libkitutuki.so.1: cannot open shared object file: No such file or directory
・ヘルプのタイポがありました。
> - カーソル下, CTRP-N
> + カーソル下, CTRL-N
・同じくヘルプで「o」と「O」の説明は内容が同じじゃないでしょうか。
> o 非アクティブ側のパスにアクティブ側のパスをあわせます。
> O アクティブ側のパスを非アクティブ側のパスにあわせます。
617 :
作者 :2010/02/17(水) 23:39:41 ID:aEvSM9D6
libkitutuki.so1が見つからないのはkitutukiをインストールしたあとに sudo ldconfigを実行していないからじゃないでしょうか。 タイポは修正しておきました。アップはしばらく先になります。
mfiler3.ksh の 189行目 がタイポっぽいです. --- mfiler3.ksh.orig 2010-02-17 23:49:02.266932324 +0900 +++ mfiler3.ksh 2010-02-17 23:50:30.264050309 +0900 @@ -189 +189 @@ -keycommand 0 $key_u '.tgz' 'if [ $VIEW_OPTIN = 2pain ] { cmdline "tar xvfz $(cursor) -C $(path -d sdir)" -1 } else { cmdline "tar xvfz $(cursor) -C $(path)" -1 }' +keycommand 0 $key_u '.tgz' 'if [ $VIEW_OPTION = 2pain ] { cmdline "tar xvfz $(cursor) -C $(path -d sdir)" -1 } else { cmdline "tar xvfz $(cursor) -C $(path)" -1 }'
619 :
作者 :2010/02/18(木) 00:03:37 ID:upx75DQq
>>all 言い忘れ。 いろいろと書き込みや突っ込み、ありがとうございます。 励みになります。 あと使用しているライブラリを作った人やアドバイスをくれた方にも 感謝しています。
620 :
作者 :2010/02/18(木) 00:08:46 ID:upx75DQq
>>618 了解です。アップは早めますorz
kitutukiでもeachでローカル変数の$_を使うという致命的なことやらかしているので。
(kitutukiの変数の参照順が
環境変数>グローバル変数>ローカル変数
になっているのでbashの$_が優先されてしまう)
621 :
作者 :2010/02/18(木) 23:15:24 ID:upx75DQq
タイポなどを修正したものをアップしました。
作者さま,どうもお疲れさまです. kitutuki と mfiler3 を野良パッケージ化していて気づいたのです が,kitutuki の Makefile.in の 82 行目の ln -s -f "$(libdir)"/libkitutuki.so.1.0 "$(libdir)"/libkitutuki.so は ln -s -f libkitutuki.so.1.0 "$(libdir)"/libkitutuki.so に修正したほうがよくないでしょうか?Arch Linux の makepkg で make install prefix="${pkgdir}/usr" のようなコマンドを実行すると,一時ディレクトリへのシンボリック リンクが作成されてしまうので… それからこれはどうでもいいのですが,tar玉中のファイルのパー ミッションがすべて 700 になっているのはなぜ?
取り敢えずkitutukiをFedoraに捻じ込みました。
https://bugzilla.redhat.com/show_bug.cgi?id=565603 mfiler3 3.0.xについてはF-14(開発版の更に開発版)ではbuildしました。
F-13(開発版で次期リリース用)ではkitutukiがpushされ次第
buildします。その他のbranch(Fedora 12/11)でmfiler3を3.0.xに上げるかは
後で考えたいと思います
kitutukiもmfiler3も色々patchを当てていて本家のtarballにも当てて
ほしいものもありますが、取り敢えずここまで報告を。
624 :
作者 :2010/02/21(日) 23:52:42 ID:K2ykA+g1
>>622 パッケージ化ありがとうございます。
シンボリックリンクの件はmake中でリンクを張らなくても
ldconfigが勝手に作ってくれた気がするので
そのあたりの確認もしておきます。
パーミッションの件についてはこちらの運用上の理由でソースがFAT上にあるからです。
次のアップでは通常のパーミッションでアップするように気をつけます。
>>623 kitutuki通りましたか!ありがとうございます。
やっぱり英語のドキュメントがないのが問題になっていたようで
申し訳ないです。
usageとreadmeは英訳していきます。
パッチの件了解です。
>>all
splitは正規表現を引数にとるべきでした。
今のままだと空白をフィールドとしてsplitしたら連続する空白を一つの区切りだと
処理せずに空白の数だけ区切ってしまいます。
近日中に修正してアップします。
この変更によってeachなどフィールドの処理をしているコマンドにも
影響があると思います。
あとkitutukiが子プロセスのプロセスグループを見失う件についても
修正できるように努力してみます。
625 :
作者 :2010/02/23(火) 02:02:33 ID:qQQKtTPD
mfiler3-3.0.4とkitutuki-0.9.5をアップしました。 端末制御ライブラリminato_curses.cの描写アルゴリズムを改良。劇的に描写速度が上がってます。 Pentium 3 500MHzの古いノート上のcoLLinuxオリジナル端末で実行しても十分な速度がでてます。 あとキーバインドに割り当てられたコマンドをコンパイルしてから実行するようにしました。 カーソル移動でひっかかる感じはまったくありません。
>>625 mfiler3-3.0.4とkitutuki-0.9.5ですが、mfiler3を(多分working directoryを
fileやdirectoryがたくさんある所に動かして)起動するとsegfaultします。
Program received signal SIGSEGV, Segmentation fault.
0x00137b0b in ttywrite_to_buffer () at minato_curses.c:674
674 *gBufferPtr++ = *p++;
(gdb) bt
#0 0x00137b0b in ttywrite_to_buffer () at minato_curses.c:674
#1 mrefresh_buffer () at minato_curses.c:715
#2 0x0804f2ae in main (argc=1, argv=0xbffff2b4) at main.c:1180
>625-626 うちの環境だと小さい画面だと起動するのですが、 画面を最大化するとセグります。
628 :
作者 :2010/02/23(火) 14:32:13 ID:qQQKtTPD
すみません。よく考えると画面のサイズ=端末デバイスに出力される データ数ではないので512*64バイトで足りるはずがないです。 動的に確保するようにします。 少しお待ちを。
629 :
作者 :2010/02/23(火) 21:35:11 ID:qQQKtTPD
アップしました。バージョンは変えてません。 kitutuki-0.9.5をコンパイル、インストールすればセグるのが直ります。
>>629 今度は別の所で落ちます。mfiler3を起動すると画面の上半分だけ
文字等が描写され、そこで何かtypeしたりカーソルキーを押したりすると
落ちる、といった感じです。
188: list_it* next_it = it->mNextIt;
(gdb) bt
#0 list_clear (self=0x80869b0) at minato_list.c:188
#1 0x0013364c in run (statments=0x80dbed8, title=0xbfff5f6c "keycommand(0, 258):", pipeout=1, pipein=0, pipeerr=2, finaly_exec=0, in_loop=0) at kitutuki.c:13701
#2 0x080534f0 in filer_input (meta=0, key=258) at filer.c:1717
#3 0x0804abc3 in input (meta=0, key=<value optimized out>) at main.c:109
#4 0x0804f8e6 in main (argc=1, argv=0xbffff2e4) at main.c:1254
631 :
作者 :2010/02/25(木) 11:45:08 ID:DcT7M2mN
修正しました。REALLOCが暴走していたようです。 REALLOCされるポインタの相対位置を保存したポインタをREALLOC後位置更新していなかったので。 とりあえず、kitutuki-0.9.6では問題ないと思われます。 mfiler3-3.0.5は1画面時cのコピー,mの移動,lのリンク作成ができなかったのを修正しました。
>>631 確認しました。kitutuki 0.9.6では問題ないようです。
一つ要望ですが、mfiler3 3.0.xでファイルの上でxをtypeして ファイルを(又はファイルを引数として)実行する時に、 ファイル名にスペースやダブルクォーテーション等の キャラクターが入っていた場合、ファイル名をエスケープするようには 出来ないでしょうか。
>>631 おつかれ樣です
"/" でインクリメンタル・サーチに入ったとき、
何故か一文字目に "c" と "p" が入力できないようです。
635 :
作者 :2010/02/26(金) 08:52:05 ID:SXgTcKTt
>>633 直しました。ほかにもミスがないか、もう一度チェックしてからアップします。
>>634 それはC/MIGEMOの辞書ファイルがおかしいのです。
mfiler2の時にこちらで直した覚えがあります。
正直本家のほうで修正していただかないと、どうしようもありません。
といってもC/MIGEMOはMITラインセンスなので
こちらで色々手を加えたC/MIGEMOを配布しようかと思ってます。
Archのパッケージャですが、新mfiler3はまだ少し不安定みたいなのでもう少し様子見にしときます。 アップデートが落ち着いたらkitutukiと新mfiler3をupしますので、お待ちください。 なお、古いmfiler3のほうは消滅しますので 旧のほうが良い!という方は、現在のPKGBUILDをリネームして使って頂ければ結構です。
637 :
作者 :2010/02/27(土) 23:07:08 ID:uWswSb0X
>>622 今確認しましたがldconfigでは作られませんね。
>ln -s -f "$(libdir)"/libkitutuki.so.1.0 "$(libdir)"/libkitutuki.so
>は
>ln -s -f libkitutuki.so.1.0 "$(libdir)"/libkitutuki.so
>に修正したほうがよくないでしょうか?Arch Linux の makepkg で
>make install prefix="${pkgdir}/usr"
上じゃないと/usr/local/libkitutuki.soのシンボリックリンクが
ソースのディレクトリにあるライブラリのリンクとなってしまいます。
cd "$(libdir)"; ln -s -f libkitutuki.so.1.0 libkitutuki.so
だと思ったとおりのことができるんですけど
これで問題ないでしょうか?
638 :
作者 :2010/02/27(土) 23:20:13 ID:uWswSb0X
あとこちらで見つかっている問題としては ジャンプメニューのクリアが機能していない →修正済み mgrepのselectorのreadがEIOで落ちる →原因調査中。TIN?CHLD? kitutukiが子プロセスのプロセスグループを見失う →原因調査中。ただ、こちらでは再現しなくなってます。 です。問題が解決できれば、アップします。 下の二つの問題はやっかいそうなので、時間をください。
>>637 ln -s -f libkitutuki.so.1.0 "$(libdir)"/libkitutuki.so
で問題ないはずです。これは「"libkitutuki.so.1.0"という
文字列」を持つ、パス名が"$(libdir)"/libkitutuki.soという
symlinkを作成する、という意味ですので、この文字列で
source directoryのlibraryへのsymlinkとなる、ということは
ないはずです(Fedoraでも同様のpatchを当てています)
640 :
作者 :2010/02/27(土) 23:26:55 ID:uWswSb0X
>mgrepのselectorのreadがEIOで落ちる > →原因調査中。TIN?CHLD? あ、EINTRじゃないや。またプロセスグループ関連くさい。 プロセスグループの孤立とはなんのことやら。 このあたり良書ないでしょうか。
642 :
作者 :2010/02/27(土) 23:46:01 ID:uWswSb0X
>>639 そうなんですか。てっきり2番目の引数はファイルが対象だと思ってました。
勉強になりました。修正しておきます。
#LPIC受けるつもりで、Linuxを勉強しなおすか。
643 :
作者 :2010/02/27(土) 23:50:06 ID:uWswSb0X
因みにFedoraのpatchはcygwin上でもうまく行くのか全く確かめてない (LD_LIBRARY_PATHが効くのか、とかを含め全然知らない)ので、 その辺は間違いがあれば修正していただければと思います。
645 :
作者 :2010/02/28(日) 11:13:43 ID:czYsMx0g
もちろん、是非をよく検討し、問題があれば修正した上で採用させていただきます。
646 :
作者 :2010/03/01(月) 11:19:29 ID:Qdc0YqFZ
kitutuki 0.9.7 mfiler3 3.0.6 アップです。 色々問題を修正しています。 プロセスグループを見失うバグとmgrepが落ちるバグは取れていると 思われますが、原因究明できたわけではないので全然自信がありません。 ただ、心当たりを修正すると手元では再現しなくなりました。 でも、再現しないのは、単にテスト回数が少ないだけか CPUの実行速度によって起こらないだけか(試したのは比較的速いPC) ソフトウェア的な環境の違い(linux, bash)で起こらないだけかとかあるので 直せたかはわかりません。 話は変わりますが、どこかのbashのバージョンによってはkitutukiがちゃんと動かないことがあります。 あるバージョンのbashで起動したkitutukiでは、たとえばsleep 10してもsleepがフォアグラウンドにこないです。 その環境では例のプロセスグループを見失うバグは頻発します。 その問題はbashのバグだと思っているので放置しています。
647 :
作者 :2010/03/01(月) 11:28:53 ID:Qdc0YqFZ
追記。Fedoraのパッチは当てました。 あとC/Migemoの辞書ファイルをアップしました。 所定の位置におけばインクリメンタルサーチでc,pが効かない問題は解決します。
648 :
作者 :2010/03/01(月) 12:12:59 ID:Qdc0YqFZ
>>647 Fedoraのpatchの件、有難うございました。
cmigemoのmigemo-dictですが、可能ならば具体的に
どこをどう修正したのか教えていただけないでしょうか。
(開発元のcmigemoを修正する権限はありませんが、)
vendor配布のcmigemo自体の修正を検討したいので
(作者さん配布のmigemo-dictでc,pをtypeした時の
検索問題が直ることは確認しました)
>>646 作者さま,たびたびお疲れさまです.新バージョンの
kitutuki (0.9.7) と mfiler3 (0.3.6) を使って見ました.
子プロセスグループが行方不明になる問題は直っているみたいです.
また,cmigemo の 'c' と 'p' も検索できるようになりました.
mgrep についてはファイル選択画面でキーを押すと
EIO
read4: Input/output error
とエラーになりました(詳しく調べられずすみません).
その他気がついたこと
* ホームページ の kitutuki-0.9.7.tgz のリンク先が 0.9.6 に,
mfiler3-3.0.6 のリンク先が 3.0.5 になっている
* mfiler3 の usage.en.txt がインストールされない
651 :
作者 :2010/03/04(木) 19:19:17 ID:5nOEPT5w
>>649 すみません。今確認してますが、たぶん、僕の方の責任だと思われます。
なんか+をクォートするかしないかで、クォートが面倒だったから
辞書のほうから+を使った単語を削除したという無茶なことをやっていた気がします。
今確認しますけど。
辞書改変よりプログラムを修正して対応したいと思います。
>>650 次のバージョンで修正します。
今kitutukiをFreeBSDでも動作確認をしてLinux, FreeBSDで問題のない
動きになっているので、より安定した動作になっていると思われます。
たぶんmgrepも直っているでしょう。(わかりませんけど)
ご指摘ありがとうございます。
652 :
作者 :2010/03/05(金) 19:50:35 ID:s7QDttKf
kitutuki-0.9.8とmfiler3-3.0.7のアップです。 mfiler3ではオリジナルの辞書ファイルでmigemoのc,pが効かないバグは直ってます。 kitutukiはシェルのfork後の親プロセスの処理が正しくなったと思います。 Linuxと同じ処理でFreeBSDで正しく動くことが確認できたので ロジックに間違いはないでしょう。というかそう思いたいです。 (ほんとはSolaris, OSX, Netwalker(ARM)とか色んな環境で試したいのですが 残念ながら手元に環境がありません。 どなたかsshでログインさせてもらえませんかね?) プロセスグループを見失うバグやmfiler3でmgrepで落ちる原因が 解決されています。(と思いたい) とりあえず、バグは修正できたと思うので、致命的なバグが見つからない限り 当分、アップは控えさせてもらいます。 またローカルで細々と開発続けます。
aurにmfiler3-3.0.7とkitutuki-0.9.8をアップしておきました 何かあったらお知らせください
654 :
作者 :2010/03/06(土) 08:09:52 ID:MSjjmYQb
kitutuki-0.9.9あげときました。 migemoでコマンドライン補完ができます。 つい実装してしまったので、上げときますが ほんとにしばらく細々と開発します。 ではでは。
>>653 AURのやつハッシュ値違うっぽいです。
確認願います。
>>655 手元にあるmfiler3-3.0.7.tgzと今落としたmfiler3-3.0.7.tgzのハッシュ値が違っていました
中身もconfigure.in等一部のファイルのサイズが違うので、作者さんがちょっと手を入れて再upしたんでしょうかね?
今直しますので少々お待ちください
直しました
658 :
作者 :2010/03/07(日) 12:23:37 ID:FMSQhIaU
申し訳ないです。スクリプトで自動アップロードしているのでハッシュ値が また変わっているかもしれません。 バージョンあげないときはアップロードしないように気をつけます。
tabキーで逆のディレクトリに移動するようにmfiler3.kshファイルを記述したいのですが、方法が分かりません。 ご教示ください。
660 :
作者 :2010/03/07(日) 19:34:16 ID:FMSQhIaU
3.0.8で追加しておきました。
661 :
作者 :2010/03/08(月) 09:30:06 ID:zVOywcrV
手元ではkitutukiのmigemo補完は0.9.9bで安定しているようです。 0.9.9で上げるべきではありませんでした。 いくつか補完関係のバグがあります。
662 :
作者 :2010/03/08(月) 09:37:21 ID:zVOywcrV
といっても、まだバグがあるかもしれないので 1.0.0へのリリースは時間をかけます。1.0.0は安定板としてリリースします。
aurにmfiler-3.0.8、kitutuki-0.9.9bをupしました。 Archでは「最新安定版」に追従するのが基本ポリシーなんですが、 今回は0.9.9を先にupしてしまっていたのと、0.9.9にバグがあるようなので 例外的に0.9.9bをupすることにしました。 今後は安定版をupするようにしますが、もし安定版に重大なバグがあった場合は 開発版にアップデートしようと思っています。
apt-getしたいです
665 :
作者 :2010/03/09(火) 15:08:22 ID:dB9xCv9g
bashでmigemo補完を行うbash-migemoを上げときました。 migemo補完は使いたいがkitutukiなんてマイナーなスクリプトは 使いたくねーという人はどうぞ。 kitutukiとほぼ同じルーチン使っています。 ただ補完全般をフックしているため bash本来の補完は行われません。 ユーザーカスタマイズ補完とか無効です。 そのあたり了承できれば使用してください。
666 :
作者 :2010/03/09(火) 22:03:52 ID:dB9xCv9g
いえいえ…こちらこそ作者さんに感謝です。
668 :
作者 :2010/03/10(水) 20:33:36 ID:1cAYmQTz
0.9.9cアップです。 内部コマンドsubにバグがありました。動的なメモリの確保のサイズに1バイト間違い があり開放時にAbortすることがあったのを修正しました。 申し訳ないです。 kitutukiはβ版としました。まだバグがあるかもしれません。
669 :
作者 :2010/03/10(水) 20:49:56 ID:1cAYmQTz
いまさらなんでβ版はずしました。パッケージャの人も困るでしょうし。 個人的には徹底的にテストしているつもりです。 ただ、目は二つなんで、たまに漏れるのは大目に見てもらいたいです。 本と申し訳ないんですけど、バグがあったら報告お願いします。
>>669 お疲れさまです。AURにもkitutuki-0.9.9cをupしました。
どうもこちらが安定版に拘っているせいで作者さんが苦労されてるようなので、
mfiler3パッケージで常に最新版を追い掛けるようにすることを考えています。
開発版が使えるようにAURにもう一つmfiler3-develという別パッケージを作る手もありますが、
mfiler3は開発用にブランチを切っていないので、そのようなパッケージを作ってもユーザにとっては不便なだけだと思います
(mfiler3とmfiler3-develのどちらかしかインストールできず、常に最新のmfiler3を使うことができなくなる)。
Archユーザの皆さん、どうでしょうか?
特に異論がなければ、次から最新版を追い掛けるようにしますが。
pキー押下時に複数の圧縮形式から選択できるようにdefmenuを使って実現しようとしました。 keycommand 0 $key_p '*' 'menu archive' defmenu archive 'tar(g)z' $key_g 'if [ $VIEW_OPTION = 2pain ] { m=$(length "$(path -d sdir)"); m=$(($m + 9)); cmdline "tar cvfz $(path -d sdir).tgz "\'$$(markfiles)\' $m } else { cmdline \'tar cvfz .tgz $$(markfiles)\' 9}' # 今のところは1種類だけ と書いたのですが、 メニューからtar(g)zを選択したときにセグります。 対処方法はありますか?
/によるインクリメンタルサーチでmigemoが効いてないような気がします。 バグか自分のミスかがはっきりしないので、できている方がいらっしゃいましたらご一報ください。
>>672 うちはfでも/でもちゃんとmigemo動いてるな
>>672 mfiler3の話なら、私の環境:
kitutuki-0.9.9c mfiler3-3.0.8 cmigemo-1.3dev(MIT license)
では効いているように見える。
因みにREADMEにも書いてあるけどkitutuki, mfiler3両方のconfigure共に
defaultではENABLE_MIGEMO=0なので、--with-migemoを明示的に
configureに渡す必要がある。
675 :
672 :2010/03/11(木) 19:42:30 ID:77JLzTWQ
>673-674 ありがとうございます。私の問題のようですね。 674さんのおっしゃるとおりにやっているつもりなのですが。。 もうちょっと試行錯誤してみます。 バージョンを書かなかったのはマズいですね。しかも2回も。。 > kitutuki-0.9.9c mfiler3-3.0.8 cmigemo-1.3dev(MIT license) で試してます。
676 :
672 :2010/03/11(木) 19:57:34 ID:77JLzTWQ
直りました! 一度make cleanしたらうまくいきました。
677 :
作者 :2010/03/12(金) 19:38:48 ID:tl8lNpvW
>>670 こちらこそ、どうもです。
とりあえず、頻繁なアップロードは避けたいので
よほどのバグ以外はアップロードはしないようにします。
>>671 原因を調査中です。
ただ、修正してもすぐにはアップロードできません。
申し訳ないです。
もう少し全体的にソースを見直して、このようなバグが出ないように
したいと思います。
678 :
login:Penguin :2010/03/13(土) 03:47:35 ID:Xc4WX+MG
mfiler3 ver 2.1.3 で set_related_prog による関連付けを設定したのですが flacやmpeg、divxなど、4文字拡張子の時は related_prog がうまく設定されないみたいです。 3文字拡張子のファイルについては問題なく動作しています。 他にも同じ症状の人いませんか?
679 :
678 :2010/03/14(日) 15:05:28 ID:i2IRsW65
~/.mf3infoを削除してから起動したらうまく行きました。 関連付けって、結局どこで設定するんだろ・・・
>678-679 バージョン2系にこだわる理由って何かあるの?
682 :
login:Penguin :2010/03/27(土) 14:53:08 ID:IvDJWuNj
バグ消し期待age
起動時直後からドットファイルを非表示にするにはどうしたらいいのでしょうか? ~/.mfiler3/mfiler3.ksh の最終行に export DOT_MASK=1 mask -d all -dotdir 1 mask -d all "^[^\.].+" と書いてコンパイルしても次回起動時にドットファイルが表示されてしまいます。
684 :
作者 :2010/03/30(火) 23:32:10 ID:TBhAoc9O
>>683 次のリリース前に確認します。
ドットファイルの表示・非表示の状態の保存はできてなかったですか。
前のバグもそうですし正直言いますと前回のリリースでは
カスタマイズに対するテストは全然行ってません。
おざなりなテストで申し訳ないです。
次のリリースでは改善します。
Shift+カーソルキーに機能を割り当てたいのですが、 設定ファイルにどのように記述すればよいのでしょうか?
686 :
作者 :2010/04/12(月) 02:00:06 ID:crOwnlbG
端末上のアプリケーションではShift+カーソルが押されたことがアプリケーション側で検知できません。 mfiler2についているmkeycodeを実行してみてカーソルキーとShift+カーソルキーを押してみてください。 カーソルキーとShift+カーソルキーが同じキーコードをアプリケーションに 渡していて区別されていないのが分かります。(Puttyでは) これは端末に依存します。区別している端末もあるかもしれません。 区別している端末では設定しだいでバインドできるはずです。(記憶がおぼろげ)
なるほど、そのような制約があったのですか。 返答ありがとうございます。
./libkitutuki.so: undefined reference to `S_ISSOCK' collect2: ld はステータス 1 で終了しました make: *** [kitutuki] エラー 1 てなって、kitutuki-0.9.9c がmakeできないよ。
>>688 環境を言わないと多分作者さんも分からないと思うよ
(少なくとも作者さんには大丈夫なんだろうし
Fedoraでは11-14全てでコンパイル出来る)
man 2 statではS_ISSOCK()は(Not in POSIX.1-1996.)と
書いてあるから、古い環境では定義されてないのかも知れない。
>>689 ごめん。
gentoo x86_64で、
gcc 4.3.4
ncurses 5.7-r3
glibc 2.10.1-r1
oniguruma 5.9.1
cmigemo 1.3c-r2
readline 6.1
ぜんぶgentooのリポジトリから入れた。
て感じなんだけど、他に書いた方がいいことあるかな。
692 :
作者 :2010/05/01(土) 03:25:09 ID:sGTsrjtN
すみませんね。こちらでもlinux/foo.hはインクルードしないように修正 しておきます。勉強不足で申し訳ないです。 #ドキュメント読めとよく言われます 現在コンパイルと実行を試しているのは Debian, Fedora, Ubunutu, Mac OSX, FreeBSD, cygwinです。 これらの環境のバージョンは比較的新しい物を選んでます。 約束はできませんが、次のアップデートではGentoo, Archも加えたいと思います。 あと現在のkitutukiの組み込みコマンドのフィルターはパイプの制限で 大きいデータが流れるとブロックします。 (各OSのパイプの最大サイズ以上のデータが流れると組み込みコマンドがブロックする。 linuxでは4kと聞きました。) 手元ではその問題は修正されてます。 今は組み込みコマンドによるテキスト処理のパフォーマンスの向上に努めています。 納得がいったら、1.0.0をアップデートするので待っててください。
>>691 どうもありがとうございます。リンク先のパッチをあてたところkitutukiはmakeできました。
しかし、
filer.c: In function ‘make_file_stat’:
filer.c:2124: 警告: implicit declaration of function ‘S_ISSOCK’
filer.c:2150: 警告: format ‘%3d’ expects type ‘int’, but argument 3 has type ‘__nlink_t ’
make: *** [filer.o] エラー 1
となって、mfilerがmakeできませんでした。まあ、しばらく待つことにします。
mfiler3-3.0.8なんですが、下記のようなエラーが出てビルドできませんでした。 どうしたらいいんでしょう。 gcc -std=c99 -I /include -L /lib -I /include -L /lib -I /include -L /lib -I /usr/local/include -L /usr/local/lib -I . -I/usr/local/include -L/usr/local/lib -O -c -o filer.o filer.c filer.c: In function ‘filer_vd_add2’: filer.c:728: error: ‘S_IFREG’ undeclared (first use in this function) filer.c:728: error: (Each undeclared identifier is reported only once filer.c:728: error: for each function it appears in.) filer.c:731: error: ‘S_IFDIR’ undeclared (first use in this function) filer.c:734: error: ‘S_IFLNK’ undeclared (first use in this function) filer.c:737: error: ‘S_IFSOCK’ undeclared (first use in this function) filer.c: In function ‘sDir_cd’: filer.c:1179: 警告: ignoring return value of ‘chdir’, declared with attribute warn_unused_result filer.c:1217: 警告: ignoring return value of ‘chdir’, declared with attribute warn_unused_result filer.c: In function ‘filer_activate’: filer.c:1394: 警告: ignoring return value of ‘chdir’, declared with attribute warn_unused_result filer.c:1401: 警告: ignoring return value of ‘chdir’, declared with attribute warn_unused_result filer.c:1415: 警告: ignoring return value of ‘chdir’, declared with attribute warn_unused_result filer.c: In function ‘make_size_str’:
上の続きです。 filer.c:1885: 警告: format ‘%lld’ expects type ‘long long int’, but argument 3 has type ‘__off64_t’ filer.c:1910: 警告: format ‘%lld’ expects type ‘long long int’, but argument 3 has type ‘__off64_t’ filer.c:1936: 警告: format ‘%lld’ expects type ‘long long int’, but argument 3 has type ‘__off64_t’ filer.c:1962: 警告: format ‘%lld’ expects type ‘long long int’, but argument 3 has type ‘__off64_t’ filer.c:1992: 警告: format ‘%lld’ expects type ‘long long int’, but argument 3 has type ‘__off64_t’ filer.c:2017: 警告: format ‘%lld’ expects type ‘long long int’, but argument 3 has type ‘__off64_t’ filer.c:2044: 警告: format ‘%lld’ expects type ‘long long int’, but argument 3 has type ‘__off64_t’ filer.c: In function ‘make_size_str2’: filer.c:2080: 警告: format ‘%lld’ expects type ‘long long int’, but argument 3 has type ‘__off64_t’ filer.c: In function ‘make_file_stat’: filer.c:2124: 警告: implicit declaration of function ‘S_ISSOCK’ filer.c:2150: 警告: format ‘%3d’ expects type ‘int’, but argument 3 has type ‘__nlink_t’ make: *** [filer.o] エラー 1
696 :
作者 :2010/05/19(水) 22:34:56 ID:MxDzDXoH
ヘッダーの定義関連ですね。たぶん。 OSはなんですか?
698 :
作者 :2010/05/20(木) 23:18:02 ID:NGJmHG2X
>>697 gentooは次のアップデートではコンパイルと実行を確認します。
それまでお待ちください。
次は、できれば、全てのディストリビューションですんなりコンパイルが
通るようにしっかりとした記述を行いますんで。
mfiler3-2.1.3.tgzをopenSUSE-11.2で./configure;make;checkinstallしたらinstallのところでmtarでエラーが発生しました。 libtarの入ってない環境でもmake installでmtarをインストールしようとしてるみたいなんで、修正箇所。 Makefile.in INSTALL_MIGEMO = install_migemo + INSTALL_MTAR = @INSTALL_MTAR@ - install: install_mf3 $(INSTALL_MIGEMO) + install: install_mf3 $(INSTALL_MIGEMO) $(INSTALL_MTAR) $(INSTALL) -s -m 755 mattr $(bindir) - $(INSTALL) -s -m 755 mtar $(bindir) + install_mtar: + $(INSTALL) -s -m 755 mtar $(bindir) configure.in MTAR="mtar" + INSTALL_MTAR="install_mtar" AC_SUBST(MTAR) + AC_SUBST(INSTALL_MTAR) 見にくかったらすいません。
>>699 良く分からないけど、3.0.x系を使わない理由はあるの?
YaSTで見当たらなかったんで最新版ビルドしただけなんですが、どっかのリポジトリにあるんですか?
openSUSE userでないのでopenSUSE用の
repositoryがどこにあるのかは分からない。
とにかく最新版のtarballは
>>605 にある。
>>605 から取得してきたところうまいこといきました。
スレ汚しで恥ずかしい限り。
コピーや移動をバックグラウンドでできない?
migemoでインクリメンタルサーチかけたとき、 カーソルキー上下で候補を順にたどることができますが、 検索の結果、該当項目がない場合に上下キーを押すと強制終了します。 タイプミスに気づかず上下キーを押したとき困ってしまうのですが、なんとかなりませんか?
>>704 Task Spoolerを使うと便利ですよ。
大量のファイルを立て続けにコピーしようとした時でも
順番に処理してくれるから、ディスクやCPUに過負荷かからなくて良い。
ファイラのコピー機能ではなく、cpなどのコマンドでコピーすることになりますが。
Mac OSX もここで良いですか? 最近Macを使い始めて、mfiler3をコンパイルしようとしてるのですが、これまで利用してきたUbuntuとだいぶ勝手が 違って戸惑ってます。 OSX10.6で、とりあえずXcodeとMacPortsは入れました。 PortsでBoehm gcを入れてconfigureするとエラーが出るので、gcをソースから入れました。その後のとりあえずconfigureは 通るので(Migemoは無い状態ですが)makeするとエラーで止まります。エラーメッセージをここに貼る以前に、 OS Xでのインストール方法などが書かれてるページなどありましたら教えて頂けると幸いです。自分で探した限りでは 見つかりませんでした・・・。
708 :
作者 :2010/06/27(日) 10:19:28 ID:9pfOTdzO
今度のリリースではOSXもチェックしておきます。 (コンパイルファームでですが) 3.0.0のほうはチェックしたような覚えもあります。
709 :
707 :2010/06/28(月) 23:02:05 ID:S0g/LfAT
>>708 作者様、ご対応どうもです。
私の環境がなにか致命的にライブラリ不足なのかもしれませんので、もう少しトライしてみますが、ご確認いただけると幸甚です。
710 :
作者 :2010/06/30(水) 22:53:52 ID:hyo408P/
>>709 ただ、コンパイルファームと環境が違うようでしたら
確認の取りようがないので、あしからず。
711 :
作者 :2010/06/30(水) 22:59:43 ID:hyo408P/
というかjFD2はどうですか? 使ったことはないんですがOSXで完成度が高いみたいですよ。
712 :
ab25cq :2010/07/11(日) 00:11:40 ID:U8N8SAv3
kitutuki 1.0.0リリースです。
リリース直前にひとつ不具合見つかってますが、上げておきます。
(ls | while <> | { | print } | ; | printが動かない)
mfiler3は1.0.0に対応していません。
また対応させてアップロードします。
1.0.0はバギーかもしれません。
しばらくバグフィックスをしたリリースが続くかもしれません。
それとmfiler3を1.0.0に対応させたバージョンをアップロードしたら
またローカルで細々と開発させてください。
とりあえず、報告まで。
あ、ページは
http://ab25cq.web.fc2.com です
713 :
ab25cq :2010/07/11(日) 00:22:03 ID:U8N8SAv3
言っていたgentoo,archの確認はとれませんでした。 環境構築に挫折しました。手早く試せる環境がないと時間がとれません。 Debian,Fedora, puppy, OSX, cygwinで試しました。 同じLinuxに、それほど差がないと思っているので genntoo,archでも、すんなり通ると思われますが、どうなんですかね、、、。
714 :
名無しさん@そうだ選挙に行こう :2010/07/11(日) 02:53:15 ID:3O9lIXIX
>>712-713 Archは(今のところは)私がやるんで大丈夫ですよ。
ただ、mfiler3に対応していないということでkitutuki-1.0.0のPKGBUILDは様子見です。Archユーザーの方はご了承下さい。
しばらく様子見て(mfiler3、kitutukiとも)バグが取れてきたなという感じになったらAURにアップします。
P.S.
1.0.0、一応ビルド通りましたが…
kitutuki本体をビルドする前にlibkitutuki.soをライブラリパスにインストールする必要があるので、パッケージングの際にちょっと不便ですね。
make lib; make; make lib-install; make installでいけるようにパッチを書きましたので貼っておきます。
http://pastebin.com/zZZ2vXLP あとこれは以前からなんですが、並列make installでコケます。
715 :
ab25cq :2010/07/12(月) 07:23:49 ID:ylneL2u+
上記のバグ(
>>712 )を修正したkitutuki 1.0.0aアップ。
716 :
ab25cq :2010/07/12(月) 23:18:21 ID:2RAiWTVZ
凡ミスとlinesの使い勝手が悪かったので修正。 kitutuki 1.0.0bアップ。 たぶん、ツメの甘い内部コマンドはまだありそうなので、見直します。
migemo-dic.tgzが欲しいです。
718 :
ab25cq :2010/07/17(土) 23:56:24 ID:NqFVNFYs
nkf -w eucjp/辞書ファイル > utf-8/辞書ファイル だけで作れます。 自分で作ってください。
719 :
717 :2010/07/18(日) 21:03:15 ID:WgHVurIE
>>718 へたれですみません、ありがとうございます。
>>705 同じ症状で困ってます。
作者さん、確認お願いします。
721 :
ab25cq :2010/07/28(水) 22:45:57 ID:ZVxbOddl
今は仕事が忙しくてmfiler2には触れません。 たぶん、ソース見たら、すぐ直せるバグだとは思うのですが。
722 :
720 :2010/08/01(日) 12:40:07 ID:xQ9S03e5
あーすみません、書き忘れてましたが 私のほうのはmfiler3での症状です。
saphire 0.9.5+mfiler3 4.0.0 ubuntu10.10で動きました。 migemoの補完も両方で動作しました。
main.cの1067行目と1116行目の引数削れば一応make通るけど問題ないかな
AURにmfiler3-4.0.2とsaphire-0.9.7をアップロードしました。 kitutukiは開発終了とのことなのでorphanしておきました。
727 :
ab25cq :2010/11/26(金) 23:21:13 ID:Bqj3LGCu
ここ落ちたと思ってました。 ab25のページに作った掲示板は消しておきます。 で、こっちにリンク張りますね。 最近何度も再アップしてすみません。 mfiler3 4.0.2はsaphireのrun time script中に外部コマンドが実行される とmfiler3がSIGTTINくらってサスペンドしてしまいます。 saphireのrun time scriptを読み込む前にsaphireのシグナル設定をしていない ためです。saphireのrun time scriptに外部コマンドを書かなければ 問題ないとは思いますけど、(あと~/.saphireを消してsaphireのrun time script でchmod, mkdirが呼ばれたりしないかぎり) 一応修正したバージョンが4.0.3です。 saphire自体は0.9.7 --> 0.9.8は大した修正じゃありません。 ヒストリの保存ファイルのtypoが気になっただけです。 中身はほとんど変わりません。
728 :
ab25cq :2010/11/26(金) 23:31:06 ID:Bqj3LGCu
>>705 mfiler3 4.0.0laterでは直っていると思うのですけど、どうでしょうか。
こっちでは再現しなかったので。
あとmfiler2はサポートを辞めました。
使っている方、ごめんなさい。
代わりにmfiler3を使ってください。
mfiler2のRubyと組み込みシェルの二刀流スクリプトと違ってmfiler3の場合
組み込みシェルだけなので、すっきりしていると思います。
どうぞ、お試しください。
729 :
ab25cq :2010/11/26(金) 23:38:34 ID:Bqj3LGCu
もう一つ、組み込みシェルのパフォーマンスは上がっています。 キーにバインドされているのはコンパイルされたコードです。 今までのように文字列がバインドされているわけではないです。 カーソル移動や起動もこちらで試した環境ではスムーズです。 (ただ、こちらのcoLinuxではなんかひっかかる感じがあります micro sdに保存した環境だからかもしれません)
>727 sapahire-0.9.8の./configureの途中でエラーが出ます。 3111行目の条件式をtestの引数にし忘れていると思われます。 また、mfiler3-4.0.3の./configureと共通して終了後に以下の警告が出ます。 WARNING: 'Makefile.in' seems to ignore the --datarootdir setting 最後に、mfiler3-4.0.3インストール後/usr/local/etc配下にmfiler3.saがありません。 $ uname -a Linux 2.6.32-26-generic-pae #47-Ubuntu SMP Wed Nov 17 16:14:46 UTC 2010 i686 GNU/Linux Xubuntu10.04です。 以上報告まで。
731 :
ab25cq :2010/11/28(日) 01:07:07 ID:e+CAAPu1
>>730 saphire-0.9.9でconfigureの問題, configureのWARNING, mfiler3.sa
がない問題を修正しました。
732 :
ab25cq :2010/12/01(水) 17:36:16 ID:vt9kdgqr
saphire-1.0.0リリースです。 英語マニュアル完成。グローバルパイプの仕様を戻しています。 スタッカブル、キュー、ナンバーの3種類も用意。 あとread に-pオプション lengthに-Lオプション用意してます。 read -pは重要で 例えば 姓名を逆転させるスクリプトで cat data | each { | split | if(read -p -a | length -L | chomp | [ -ge 2 ]) { read -a | lines 1 0 | printf "%s:%s" } else { read -a | printf "%s:nothing\n" } } こんなのも書けます。
mfiler3 4.0.3 saphire 1.0.0でmfiler3を起動するとメモリ使用率がすごい勢いで増えていきます
734 :
ab25cq :2010/12/02(木) 22:43:41 ID:wRjf3JtZ
>733 mfiler3とsaphireのメモリリークについては ./configure --with-debugでコンパイルするとmfiler3終了時に 検出できます。 検出できないなら正規表現のキャッシュですかね。 正規表現のキャッシュは新しい正規表現がでてくるたびに無限に増えていきます。 うーん、sweepコマンドでキャッシュは全て消すようにしてみます。
735 :
733 :2010/12/03(金) 13:10:27 ID:lMTbyfEn
736 :
ab25cq :2010/12/03(金) 23:27:27 ID:+ZCfw5MF
>>735 もしかしたら、そちらのsaphireのバージョンが古いんじゃないでしょうか?
一応ローカルで最新版のmfiler3 4.0.4上げておきました。
なおらないようでしたら、saphireを1.0.0にしてみてください。
mfiler3 4.0.4, saphrie 1.0.0でしたら、間違いなく動くはずです。
$ saphire --version saphire version 1.0.0.author Daisuke Minato. saphireのバージョンは上記でした。 これでmfiler3 4.0.4をmakeしたら正常に動作しました。ありがとうざいました。
コピーするときにタイムスタンプもコピーしたいです。 mcpにcpでいうところのpオプションをつけるには、以下の行をどう変更すればいいでしょうか? keycommand 0 $key_c '*' 'if([ $VIEW_OPTION = 2pain ]){ mcp $(path -d sdir) } else { cmdline -q "mcp $(path)" -1 }'
saphireを新しくreviewしてもらうのに時間がかかってしまいましたが、 Fedora rawhideに saphire-1.0.0-1.fc15 mfiler3-4.0.4-1.fc15 を入れました。昨日のcomposeでpushされています。 Fedora 13/14に関しては後数日でtestingにpushされると思います。
740 :
ab25cq :2010/12/05(日) 10:32:36 ID:OwLBfj4K
>>738 ちょっと確認してみます。確か内部的には可能になっていますが
インターフェースがなくて、タイムスタンプはコピーしない設定で固定していた
気がします。(mfiler2時代に)
そうでしたら、次のバージョンではmcpに-pオプションを付けてみます。
>>739 ありがとうございます。とても嬉しいです。
741 :
ab25cq :2010/12/07(火) 00:43:06 ID:ItbhCqDw
saphire-1.0.1, mfiler3-4.0.5リリース。 バグフィックスやsaphireのUTF8端末でkanjicode -s, kanjicode -eの設定 だったら、utf8のコマンドライン引数を自動的に設定のエンコードに 変換する機能など追加。 cat sjis_data | grep SJIS内で検索したい漢字の検索文字列 がUTF8端末でも期待通り動きます mfiler3の方は英語マニュアル追加。
>741 mcpのpオプションに対応していただきありがとうございました。 無事タイムスタンプのコピーもできるようになりました。
743 :
ab25cq :2010/12/08(水) 17:03:05 ID:FYrqu9xi
>>742 どういたしまして。
741の機能は副作用があります。utf8のファイル名だと駄目です。
cat 12月のデータ | grep 文字列
この場合は"12月のデータ"という文字列はutf8でcatに渡して欲しいけど
grepには"文字列"という文字列はsjisで渡して欲しい
となってkanjicode -sだとcatがfile not found
kanjicode -wだとgrepで読み込めない
とハマリマスorz
だめですね・・・
kanjicode -wにして変換を無効にして
cat 12月のデータ | grep @(print 文字列|nkf -s) | nkf -w
が正解です。
ファイルが英字だと
kanjicode -s
cat data | grep 文字列 | nkf -w
はいけるんですけど。(文字列がvmでsjisに変換される)
744 :
ab25cq :2010/12/08(水) 17:09:24 ID:FYrqu9xi
>>743 正直、この機能はややこしいだけなので、消すかもしれません。
745 :
ab25cq :2010/12/15(水) 12:28:48 ID:BICxByZt
saphire 1.0.3 mfiler3 4.0.7 リリース。mfiler3 4.0.7にはsaphire 1.0.3が必要です。 741の機能は消しています。 ブロックはコンパイルしてからコマンドに渡されるようになりました。 あと read -p -aは|=で、read -pは|-で使えます。 cat data | each { | split | if(read -p -a | length -L | chomp | [ -ge 2 ]) { read -a | lines 1 0 | printf "%s:%s" } else { read -a | printf "%s:nothing\n" } } は cat data | each { | split | if(|= length -L | chomp | [ -ge 2 ]) { |- lines 1 0 | printf "%s:%s" } else { |- printf "%s:nothing\n" } } と書けるようにしました。 他にも色々あるのでCHANGELOG.txtを読んでください。
746 :
ab25cq :2010/12/15(水) 16:43:39 ID:BICxByZt
saphire-1.0.4 mfiler3-4.0.8 リリース。 read -p -aのバグを修正と記号を変更してます。 |> グローバルパイプ |- stackable グローバルパイプ |~ queue グローバルパイプ | STDINパイプ > ls | while(<> |>) { |> print } main.c sub.c > ls | ( | cat; | cat) main.c sub.c main.c sub.c になってます。こっちのほうが自然な感じがしたので。
747 :
ab25cq :2010/12/15(水) 16:46:10 ID:BICxByZt
cat data | each { | split | if(|= length -L | chomp | [ -ge 2 ]) { |- lines 1 0 | printf "%s:%s" } else { |- printf "%s:nothing\n" } } は cat data | each { |> split | if(|length -L | chomp | [ -ge 2 ]) { |lines 1 0 | printf "%s:%s" } else { |printf "%s:nothing\n" } } となってます。
748 :
ab25cq :2010/12/15(水) 21:27:51 ID:BICxByZt
saphire 1.0.5リリース。ちょっとしたバグ修正です。
mfiler3でjキーのジャンプメニューの数字がキーとひとつずれてます
750 :
ab25cq :2010/12/16(木) 23:18:48 ID:8ZexU3Vd
saphrie-1.0.6 mfiler3-4.0.9 リリース
CHANGELOG.txtを見てください。
>>749 修正してます。
eachとforeachが内部コマンドになっています。データの受け渡しがグローバルパイプから
STDINパイプになっています。
パフォーマンスも良くなっています。
8万行のデータをeachかけても単に出力するだけ(| print)なら一瞬です。
上の例は結局
cat data | each { | split | if(| length -L | chomp | [ -ge 2 ]) { | lines 1 0 | printf "%s:%s" } else { | printf "%s:nothing\n" } }
となっています。
751 :
ab25cq :2010/12/16(木) 23:28:05 ID:8ZexU3Vd
グローバルパイプを辞めたおかげで eachが入れ子になっても大丈夫になっています。 >ls main.c sub.c >ls | each { | print; | scan . | each { | add -n 0 X }; | print } main.c Xm Xa Xi Xn X. Xc main.c sub.c Xs Xu Xb X. Xc sub.c
>>750 ジャンプメニューの修正ありがとうございます
>>752 私の環境ではコンパイルが通る。gcc -E した
結果を見てはどうだろう。
755 :
ab25cq :2010/12/17(金) 12:41:01 ID:oaVfl+CC
>>752 ./configureのオプションはなんですか?
>>754 とりあえず
gcc -E readline.c -DDATADIR=\"/usr/local/share\" -DSYSCONFDIR=\"/usr/local/etc\" -DDOCDIR=\"/usr/local/share/doc/saphire\" -DSYSTEM_MIGEMODIR=\"/usr/share/cmigemo\" -I. -I/usr/local/include -L/usr/local/lib -fPIC -I/usr/local/include -L/usr/local/lib -O2
は正常終了しました(-Eオプションの意味が良く分かっていませんが…)。
>>755 オプション無しの./configure && make lib && make lib-install && makeで止まりました。
自分の環境ではsaphire-1.0.3からビルドできなくなったようです。gccのバージョンは4.5.1です。
http://pastebin.com/s0SFWRPY
>>756 gcc -E readline.c ..... とすると大量の出力が
出ると思うけど、その結果をどっかに貼ることは
出来るだろうか?
ああ、readline.cの405行目にあるstatic string_obj* gEditingDir; がmigemo分岐の内側にあるせいだね... 取り敢えず405行目のstatic string_obj* gEditingDir;とあるのを 67行目の#if defined(HAVE_MIGEMO_H) とあるのの直前に持ってくると どうなるだろう
>>760 簡単に言うと、私はmigemoをいれてconfigureに--with-migemo
も渡していた、ということです。
いずれにせよ作者さんが修正してくれるでしょう。
mfiler3 4.0.9 with saphire 1.0.6で ?のヘルプと、!のファイルマネージャ起動が動かないです ?の実行結果 mfiler3.sa 358: index -I string run time script:1 !の実行結果 mfiler3.sa 279: test: missing ] run time script:1
763 :
ab25cq :2010/12/21(火) 00:05:34 ID:XKq4wzUu
saphire 1.0.7 mfiler3 4.1.0リリース。 バグをたくさん直してます。上のエラーの行番号がおかしい点とか。 ブロックをコンパイルするようになってparserと実コードの二回 行番号を増やしていました。 これで行番号関係のバグがなくなったことを祈りたいです。 あと今度のバグ修正で bash上で > ls | saphire -c '| scan .' | less > ls | saphire -c '| less; pwd | less' とかが可能になってます。(というか今まで動かないのがバグ) saphire [スクリプトファイル] でも上記のようなことしても大丈夫になっています。 CTRL-zしてもfgで復帰できます。 バグ報告ありがとうございます。
>>764 私の環境でも同様
取り敢えずgetpgrp()の間違いかな?と思ってやり過ごしたけど
767 :
ab25cq :2010/12/22(水) 00:34:11 ID:zvEHiJ3t
getpgrp(0)の間違いです。でも、これはいらないようです。(killpg自体が) でも、今日はシグナル処理のところでSIGCHLDをブロックしたいといけなかった バグを修正しているので一緒にアップします。 これでbashで $ ls | saphire -c ' | less; | less' がまともに動いているはずです。CTRL-Z, fgも普通に。 まだバグがあるかもしれませんので、おかしかったら報告お願いします。 こっちのローカルでは間違いなく動くんですけどね。 (ソースに自信がないし、ロジックがさっぱり分かっていないorz) saphire-1.0.8アップです。
768 :
ab25cq :2010/12/22(水) 00:36:59 ID:zvEHiJ3t
すみません、いい忘れ。 エラー報告ありがとうございましたm(_ _)m
mfiler3 4.1.0で先頭に~のあるディレクトに入ると~が付いたパスに飛んでしまいます
saphire 1.0.9 #! /usr/local/bin/saphire cd ~/bin && ls #! /usr/local/bin/saphire path=~/bin cd @path && ls 上は動くんですけど下が動かないです。これと似たスクリプトが動かなくなりました。 変数の中の値の先頭にチルダが付いてると動かないっぽい?です。
saphire-1.1.0をmake libするとエラーがでます。 gcc -I. -I/usr/local/include -L/usr/local/lib -fPIC -I/usr/local/include -L/usr/local/lib -O2 -c -o saphire_debug.o saphire_debug.c gcc -I. -I/usr/local/include -L/usr/local/lib -fPIC -I/usr/local/include -L/usr/local/lib -O2 -c -o saphire_extra.o saphire_extra.c gcc -I. -I/usr/local/include -L/usr/local/lib -fPIC -I/usr/local/include -L/usr/local/lib -O2 -c -o saphire_hash.o saphire_hash.c gcc -I. -I/usr/local/include -L/usr/local/lib -fPIC -I/usr/local/include -L/usr/local/lib -O2 -c -o saphire_kanji.o saphire_kanji.c saphire_kanji.c:98: error: expected identifier or ‘(’ before ‘/’ token make: *** [saphire_kanji.o] エラー 1
772 saphire-1.1.0aで通るようになってます。修正感謝です。
明けましておめでとうございます。
saphire-1.1.4にて
>>771 の問題は解決したようです。
作者さんどうもありがとうございました。
776 :
login:Penguin :2011/01/04(火) 02:54:29 ID:L36EN2wu
あけましておめでとうございます。 キーバインドを変更したいのですがどこへ書けばいいのでしょうか? あるいはmfiler3.saを書き換えてコンパイルし直すとか......
saphire 1.1.8の下でmfiler3 4.1.6がコンパイル出来ません。 filer.c:666:5: error: too few arguments to function 'correct_path' filer.c:912:13: error: too few arguments to function 'extname' filer.c:1013:5: error: too few arguments to function 'extname' filer.c:2034:9: error: too few arguments to function 'extname' filer.c:3100:6: error: too few arguments to function 'extname' filer.c:3102:6: error: too few arguments to function 'extname' filer.c:3166:6: error: too few arguments to function 'extname' filer.c:3168:6: error: too few arguments to function 'extname' make: *** [filer.o] Error 1 commands.c:404:13: error: too few arguments to function 'extname' make: *** [commands.o] Error 1 make: Target `all' not remade because of errors.
おつかれ様です。 ちょっと以前のバージョンから mfiler3 で "h" からのコマンドラインで コマンドの補完が効かなくなってしまいました。":" でシェルに入ると効きます。 Archlinux saphire-1.2.1 mfiler3-4.1.8 です。
777ですがmfiler3 4.1.9 with saphire 1.2.2で起動するようになりました
779です saphire-1.2.2 mfiler3-4.1.9で直りました。ありがとうございます。
mfiler3-4.2.0コンパイルエラーです saphire-1.2.3、./configure --without-migemo gcc -c isearch.c -I/usr/include -L/usr/lib -I . -I/usr/local/include -L/usr/local/lib -O2 -DSYSTEM_MIGEMODIR=\"/usr/share/cmigemo\" isearch.c: In function ‘isearch_init’: isearch.c:424:5: error: ‘gMigemoCache’ undeclared (first use in this function) isearch.c:424:5: note: each undeclared identifier is reported only once for each function it appears in isearch.c:425:5: error: ‘gReg’ undeclared (first use in this function) make: *** [isearch.o] Error 1
783 :
782 :2011/01/19(水) 19:29:26 ID:Qat/sjHx
saphire-1.2.4 mfiler-4.2.1で直りました どうもです
784 :
作者 :2011/01/24(月) 12:57:48 ID:NTE13NBO
明けましておめでとうございます 今年もよろしくお願いします
785 :
作者 :2011/01/24(月) 13:08:13 ID:NTE13NBO
>>770 チルダ展開はパーサーで行われます。
@による変数展開はパーサーを介さないのでチルダは展開されません。
@はあくまで制限があるがパーサーを介さないので高速な参照法と思ってください。
(ループ内や変数の内容が数Mオーバーなどに使うことを意図されている)
この場合は$$による変数展開を使ってください。
($だとsaphireで使う記号がクォートされるが$$はクォートされない)
こちらこそよろしくお願いします
787 :
作者 :2011/01/26(水) 00:44:32 ID:BNUhm+2B
saphire 1.2.5 リリースです。 たまにパイプを書き込むプロセスが落ちることがあった致命的なバグを修正。 あと例外処理とオブジェクト指向もどきを追加。 > 3->times { puts aaa } aaa aaa aaa とかあほなことができます。rubyさんごめんなさい。 ほんとはリファレンスとオブジェクトとGCを入れたかったんですけど 諦めました。 例外は > try { puts a; false; puts b } catch { puts c } a c ってな感じでリターンコードがnon 0の文があればcatchに移行します
saphire 1.2.6 で mfiler3 4.2.1を使うとinfinite loopに 陥って最終的にsegfaultで落ちますね (saphire 1.2.5では問題無し) (gdb) bt -20 #124119 0x0011f633 in sCommand_load (fd=5) at saphire_main.c:1804 #124120 0x0011f7e3 in sStatment_load (fd=5) at saphire_main.c:2115 #124121 0x0011fb0b in sStatments_load (fd=5) at saphire_main.c:2281 #124122 0x0011f34f in sBlock_load (fd=5) at saphire_main.c:3791 #124123 0x0011f568 in sArg_load (fd=5) at saphire_main.c:1361 #124124 0x0011f633 in sCommand_load (fd=5) at saphire_main.c:1804 #124125 0x0011f7e3 in sStatment_load (fd=5) at saphire_main.c:2115 #124126 0x0011fb0b in sStatments_load (fd=5) at saphire_main.c:2281 #124127 0x0011f34f in sBlock_load (fd=5) at saphire_main.c:3791 #124128 0x0011f568 in sArg_load (fd=5) at saphire_main.c:1361 #124129 0x0011f633 in sCommand_load (fd=5) at saphire_main.c:1804 #124130 0x0011f7e3 in sStatment_load (fd=5) at saphire_main.c:2115 #124131 0x0011fb0b in sStatments_load (fd=5) at saphire_main.c:2281 #124132 0x0011fc45 in sFunction_load (fd=5) at saphire_main.c:2385 #124133 0x0011f730 in sCommand_load (fd=5) at saphire_main.c:1838 #124134 0x0011f7e3 in sStatment_load (fd=5) at saphire_main.c:2115 #124135 0x0011fb0b in sStatments_load (fd=5) at saphire_main.c:2281 #124136 0x00130951 in saphire_load_obj (fname=0xbf81faac "/usr/lib/mfiler3/mfiler3.sao", pipeout=0x95a3d70, pipein=0x95a3cc8, pipeerr=2, parent_blocks=0x0) at saphire_parser.c:4579 #124137 0x0804b1c2 in read_rc_file_compiled () at main.c:190 #124138 0x0804ebe1 in main (argc=1, argv=0xbf828d44) at main.c:1122
789 :
作者 :2011/02/02(水) 12:04:52 ID:0QCjt1PA
>>788 saスクリプトをもう一回コンパイルしても駄目ですか?
1.2.6でスクリプトのオブジェクトファイルの形式が変わってます。
ブロックに引数ができたので。
手元では1.2.6とmfiler3 4.2.1で動いてます。
790 :
788 :2011/02/03(木) 02:09:19 ID:Rzp4OnZ9
>>789 > saスクリプトをもう一回コンパイルしても駄目ですか?
大丈夫っぽいです。有難うございました。
791 :
ab25cq :2011/03/09(水) 01:15:26.54 ID:pTsB23b8
4.2.2リリースです。 バグフィックスとCTRL-TとCTRL-Wによるタブの扱いがスタックするようになってます。 あとV,Xで実行ファイルの表示を赤くしたりスターをつけたりしないようにできます。 (USBのファイルとかで困っていた)
乙ですん
793 :
ab25cq :2011/03/09(水) 11:28:11.74 ID:X1ptmTrY
4.1.8から4.2.1までstrncpy,strncatの使い方を間違えていて バッファーオーバーランの危険性があったので 使っている方は4.2.2を使ってください。申し訳ないです。 mfiler3 4.2.2にはsaphire 1.3.1が必要です。 こちらもインストールお願いします。 4.2.2は手元ではバグがなく、いい感じで動いてます。 saphireも1.3.1で大体は満足できているので。 良かったら、どうぞ。
794 :
login:Penguin :2011/03/09(水) 21:37:41.57 ID:T5iIBHw3
MacでMacPortsを使ったコンパイル方法教えてください
795 :
login:Penguin :2011/03/09(水) 22:29:30.48 ID:T5iIBHw3
>>795 漏れもやってみたいから、どうやったか教えてください
797 :
ab25cq :2011/03/09(水) 23:52:38.80 ID:X1ptmTrY
とりあえずmacports jpに参加申請しておきました。 macportsの仕組みが理解できるか不安ですが、作って登録してみます。 あとDebianのパッケージの本を買ったのでDebianでパッケージを作ると思います。 Debianでは僕がメンテナやってみます。やらせてもらえるなら。 一応、他ディストリビューションでもメンテナを募集してます。 ご協力お願いします。
798 :
login:Penguin :2011/03/10(木) 00:13:06.26 ID:psnNE45l
>>796 普通にMacPortsでreadlineとonigurumaとc/migemoをインスコしてから
./configure --with-migemo --with-readline-dir=/opt/local --with-onig-dir=/opt/local --with-system-migemodir=/opt/local/share/migemo
make lib && sudo make lib-install && sudo make && sudo make install
でsaphiareをインスコ
./configure --with-migemo --with-system-migemodir=/opt/local/share/migemo
make && sudo make install
でmfiler3をインスコ
の手順で僕はできたよ
799 :
ab25cq :2011/03/10(木) 00:26:22.24 ID:uA6gzZLz
mfiler3 4.2.2でバージョンの表示が4.2.1になっていたので もう一回SourceForge JPにファイルをアップしてます。 手動で修正するには mfiler3のソースファイルのmain.cの834行の setenv("VERSION", "4.2.1", 1); を setenv("VERSION", "4.2.2", 1); にしていただければ修正できます。 実害はないですけど、一応。申し訳ないです。
800 :
login:Penguin :2011/03/10(木) 00:32:04.10 ID:psnNE45l
>>797 メンテナは実績作らないと無理だから、
MLの方にお願いしてみるのがいいんじゃないかな。
だけどビルドするのに筋が悪いとメンテナに嫌われるので、
自分でdebパッケの作り方勉強するのはいいことだと思う。
>>798 tks
うちの場合、onigurumaとかどこに入っちゃってるのかな
せっかく教えてもらったのに、まだできてませんorz
ゆっくり時間があるときに頑張ってみます
803 :
login:Penguin :2011/03/11(金) 01:56:42.46 ID:UDGFxPpB
>>802 MacPortsでいれたなら/opt/localでしょ
作者さんへ mfiler3 4.2.2 のソースファイルに ._main.c といった名前の バイナリファイルが多数含まれています.file コマンドで 調べたら,AppleDouble encoded Macintosh file と出ました. これがあると deb 化に失敗するみたいなので,ビルドに不要なら 削除願います.
805 :
ab25cq :2011/03/13(日) 01:24:32.90 ID:CEns6AKb
>> 804 mfiler3-4.2.4 saphire-1.3.2 で消せたはずです。 あとmake lib-install or make install時にDESTDIRでインストール先を変更できるように 修正しました。 他は特に変わっていません。
>>805 作者さん乙です。
Archではsaphire-1.3.2ビルドのためパッチを当ててますので報告しておきます。
http://pastebin.com/UBs8p6mv dest-installが期待通り動かないので$(DESTDIR)/bin→$(DESTDIR)/$(bindir)などに変更したほか、
make all; make lib-install installで(root権限なしに)パッケージングできるよう弄ってあります。
mfiler3のほうにもパッチ当てました。
http://pastebin.com/qgTaQdd7 saphireと同じくdest-installの修正、USAGE.{en,ja}.txtとCHANGELOG.txtの追加インストールのほか、
docdirの初期値がsaphireのdocdirと同じになっていたのでmfiler3に修正しました。
808 :
ab25cq :2011/03/14(月) 00:17:24.34 ID:v2koBGai
>>806 ,807
パッチ当てたバージョンをアップロードしました。
ありがとうございます。
やっぱり
make && sudo make lib-install && sudo make install
の方が気持ちが良いです。
ただ一つ修正してます。
DESTDIRを指定した場合ライブラリをインストールする場所を
$(DESTDIR)/lib
から
$(DESTDIR)/$(libdir)
に変更しています。間違いかなと思ったので。
あとsub, scanのPREMATCH2のバグも修正してます。
さっき間違っているバージョンをアップロードしましたが
今また正しいバージョンをアップロードしています。
03:14の00:11のバージョンが最新です
>>808 対応ありがとうございます。
手元ではsaphire-1.3.3、mfiler-4.2.5とも問題ないようです。
AURにもアップロードしておきました。
810 :
ab25cq :2011/03/17(木) 01:44:42.32 ID:PxrdRFHA
>>809 ありがとうございます。
saphire-1.3.4アップロードです。
1.3.3とはほとんど変わりないです。
make, sudo make installでインストールできるようになっています。
自分でmacportsを作っていて、このタイプじゃないとパッケージ作るのが
面倒くさいことに気づいたので。
あとsaphire.saをコンパイルするときにenv TERM=dumbとして
TERM環境変数がなくてもコンパイルできるようにしています。
811 :
ab25cq :2011/03/17(木) 11:46:29.50 ID:QWu93v5M
saphire-1.3.5アップロードです。 Linuxでは関係がありません。macportsにはこのバージョンをアップロードします。 手元ではportfileが出来上がってます。アップロードするだけです。
macportsにくるのうれしい!!
コマンドラインでsaphire -c compile mfiler3.saを実行すると run time errで止まります。 環境はxubuntu10.04です。コマンド間違えてる???
814 :
ab25cq :2011/03/18(金) 22:52:33.49 ID:v2/SBV6e
>>813 それは正しくは
saphire -c 'compile mfiler3.sa'
です。
"compile mfiler3.sa"という文字列をsaphireに渡さないといけないので。
それだとsaphire mfiler3.saと-c compileという引数と解釈されて
mfiler3.saが実行されています。
>>all
macports-jp上でsaphireとmfiler3のPortfileつくったんですけど
cmigemoのPortfileが作れません。
800のPortfileを取ってきてmacports-jpにコミットしていいんでしょうか?
というかcmigemoのconfigure, makefileを普通のタイプに書き直したいです。
815 :
シベリアから代筆 :2011/03/19(土) 07:20:39.37 ID:ohmR7sso
>>814 > というかcmigemoのconfigure, makefileを普通のタイプに書き直したい
それはC/Migemoの作者さんとコンタクトと取った方が
いいのでは無いでしょうか。最近(02/27)新しいsource archiveが
リリースされましたし、活動されてますよ。
816 :
813 :2011/03/19(土) 19:32:30.76 ID:Rghdz+ZS
>>814 ずっとシングルクォーテーションを忘れてました。
ちゃんと出来ました、ありがとうございます。2から3へ移行できました。
817 :
ab25cq :2011/03/19(土) 21:11:29.02 ID:EJzRv/0i
>>815 そうですね。思いつきで書いてしまいました。
改造できるかどうか分からないのに。
Macports-jpにはC/Migemoへの依存関係は無しでコミットしてしまいましょうか。
ソースからC/Migemoをインストールしてもらえればvariantで+cmigemoすれば
C/Migemo付きでインストールします。それでいいかな。
このPortfileをMacportsの本家の方にも登録してもらうように頼んでみますかね。
818 :
ab25cq :2011/03/19(土) 21:56:27.98 ID:EJzRv/0i
Macports-jpにアップロードしておきました。 Macportsを使ったインストール方法はホームページに書いています。 Macports本家にはまた後日時間が空けばIRCに頼みに行ってみます。 英語通じるか不安ですが、、、。
819 :
ab25cq :2011/03/20(日) 22:42:24.46 ID:hlYRderq
macportsの本家にPortfileをアップロードの申請をしておきました。 無事アップロードされればいいのですが、、。 あとsaphire, saphire-cmigemo, cmigemoのdebパッケージを作りました。 Debianで作り直したら、これもアップロード頼んでみます。
820 :
ab25cq :2011/03/20(日) 22:45:22.77 ID:hlYRderq
ああ、細かく書くと saphire,libsaphire,libsaphire-dev,saphire-cmigemo,libsaphire-cmigemo,libsaphire-cmigemo-dev cmigemo,libcmigemo,libcmigemo-dev です。mfiler3もまた作ります。 ubuntuで作ったのでDebianで作り直します。
821 :
login:Penguin :2011/03/21(月) 10:41:38.81 ID:whuC8h1V
乙です!これでユーザー増えそうですね! ところでジャンプメニューは数字以外も設定できるですか?一度設定してからjmenuを直接書き換えしましたが,これが正しい?
>>821 ジャンプメニューを数字からアルファベットに変更
add_jump_menuとmake_jump_menuを少しカスタマイズする。
def add_jump_menu {
ary_new JUMP_KEY a b c d e f g h i j k l m n o p q r s t u v w x y z
if([ $JTITLE_LIST_size -le 25 ]) {
print "($JUMP_KEY[$JTITLE_LIST_size]) $ARGV[0]" | ary_add JTITLE_LIST
print "${key_$JUMP_KEY[$(($JTITLE_LIST_size-1))]}" | ary_add JKEY_LIST
} else {
print "(0) $ARGV[0]" | ary_add JTITLE_LIST
print $key_0 | ary_add JKEY_LIST
}
print $ARGV[0] | ary_add JDIR_LIST
make_jump_menu
}
def make_jump_menu {
defmenu jump
i=0
while([ $i -lt $JDIR_LIST_size ]) {
addmenu jump $JTITLE_LIST[$i] $JKEY_LIST[$i] "mcd $JDIR_LIST[$i]"
i=$(($i+1))
}
addmenu jump ----------------- $key_2 "external 'puts dummy'"
addmenu jump '(0)add current directory to jump menu' $key_0 'cmdline "add_jump_menu $(path -d adir)" -1'
addmenu jump '(1)clear jump menu' $key_1 'clear_jump_menu'
}
シェルの名前、てっきりsapphireだと思ってたわ
824 :
login:Penguin :2011/03/23(水) 04:15:40.83 ID:qxEQV+Ab
825 :
ab25cq :2011/03/25(金) 23:19:36.60 ID:8Wtq0iEI
あんまりカスタマイズは好きじゃないです。 saphireは主にワンライナーを書くのに使ってほしいと思ってます。 ワンライナー書きは結構面白いと思うんだけどな、、、。 saphire_shell > range 1 10 | each { | printf "%02d" } | lines x0..4 -B { | join , } 01,02,03,04,05 06,07,08,09,10 とか。なんかx0..4なんて取ってつけたようだけど。 他にはあんまり思いつきませんけど テキストファイルから数字だけ抜き出してCSVにするなら saphire_shell > cat data | scan '\d+' | join , > data.csv これだけでOK 一行5カラムなら上と混ぜて saphire_shell > cat data | scan '\d+' | join , | lines x0..4 -B { | join , } > data.csv だけでいけます。 楽じゃない? ただ、パフォーマンスが、、、なんとかせねば、、、、。
826 :
login:Penguin :2011/03/27(日) 10:05:22.42 ID:IG+uBoR8
シェルをzshとかに設定できないですか?
827 :
ab25cq :2011/03/28(月) 00:07:17.28 ID:BR1ljuoW
せっかくなんでsaphire使ってやってください。 ほんといえばzshなりbashなりがライブラリとしてリンクできたら シェルなんて実装する気はなかったんですけどね。 まあ、欲を言えばemacsのようにカスタマイズ自由自在といきたいのですが あんまりファイラはカスタマイズするとこないですよね、、、。 結局ファイルのコピーの仕方をカスタマイズとかできませんから。 あとmfiler3のカスタマイズ用のコマンドは使いにくいというか、自分でカスタマイズしてて思ったんですけど。 ファイラはエディッタと違って凄くどうでも良い次元でのカスタマイズしかできないというのが自分的に思っている所です。 タブの増やし方とかカスタマイズできそうですけど、する人いるんだろうか、、、。 ああ、DF,mfiler2のようにTABで1windowから2windowにしてqで1windowにするとかのカスタマイズ とかはできますし、面白いとは思います。 あとはruntime scriptのyにユーザーメニューでも作って、作ったsaphireスクリプトを割り当てるとか くらいだと思います。割り当てなくてもhのコマンドラインから実行しても良いし。 マークしているファイルのリストはmarkfilesコマンドで得ることができるので それにたいする処理を行うsaphireスクリプトを作るといったのが現実的なカスタマイズだと思います。
828 :
ab25cq :2011/03/28(月) 00:54:14.75 ID:BR1ljuoW
あ、markfilesを使うときは$,$$,@,@@と変数の参照の仕方に注意してください。 for i in @@(markfiles) { @iを使った処理 } foreach @@(markfiles) { | 処理 } がベストかな。2000個くらいマークしてても処理速度大丈夫だろうし。 たぶん、、、。 ループの中では@変数名で参照するのがパフォーマンス的にいいです。 (一つの単語としてしか展開できないしチルダ展開とか使えませんが) あ、markfiles | each { | 処理 } でもいけるか。2000個マークして| lessとかしないでくださいよw;
fedoraのメンテナーさんいますか? etcディレクトリとその中身がパッケージに含まれていないようです。 ついでにyum-builddepを使えばビルドに必要なパッケージがインストールされるという認識なんですが 全部はインストールされず gc-devel, ruby, ruby-devel を追加でインストールする必要がありました。
>>829 > etcディレクトリとその中身がパッケージに含まれていないようです。
saphireが.saファイルをbyte compileした生成物(.sao)がarch-independent
である自信が無いので、%{_libdir}以下に移しています
> gc-devel, ruby, ruby-devel を追加で
それが必要だったのは昔のmfiler2だったかmfiler3だったか
何かです。
831 :
829 :2011/03/30(水) 20:33:16.75 ID:tGGRbn8t
>>830 配布サイトが移転しているのに気づかず、仰る通り昔のバージョンをダウンロードしていました。
申し訳ありません。私の勘違いでお騒がせしました。
これまでmfiler3をインストールしようとして何度くじけていたことか それが今やmacportsからできてしまうなんて……感涙 作者たん、ありがとん
833 :
ab25cq :2011/04/03(日) 01:28:31.45 ID:Al35tFdW
>>832 macports本家にはまだ申請中です。
JPの方は不具合があります。自動的に依存関係を解決できてません。
手元では直してますが、アップロードはなぜかできなくなっているので、まだ修正できてません。
macports本家の方が受理されれば、問題ないと思います。(migemoはついてませんが)
saphire-1.3.6リリースです。VM本体を修正しています。
今までワンライナーによってはSIGCHLDを食らってreadがEINTRしていました。
シグナルハンドラにSA_RESTARTをつけることによって、解決してます。
簡単に言うとパイプのつなげ方によるreadが処理されるタイミングによってはCTRL-Cしていないのに
途中で止まったりしていました。
あと子プロセスと親プロセスがプロセス間通信していてタイミングによってはtcsetpgrpが
おかしい動作していました。簡単に言うと内部コマンドでCTRL-Cが効かないことが
あったと思います。プロセス間通信をしない記述の変更に成功しました。
今まで強引にプロセス間通信をして無理矢理動かしている感じのコードでしたが
子プロセスと親プロセスのプロセス間通信を止めて素直なコードになったと思います。
OSX, Linuxで同一処理で動いてます。
(cygwinは不安定)
上のバグは深刻なバグでスクリプトがまともに動かないことがあると思うので
最新版を使われることをおすすめします。
834 :
ab25cq :2011/04/03(日) 01:46:51.30 ID:Al35tFdW
saphire-1.3.6じゃなくてsaphire-1.3.7をアップロードしています。
Ubuntu 10.10 64bit mfiler3 4.2.7 with saphire 1.3.7 以前からなのですが~/.mfiler3にmfiler3.saoを作ると、 VIEW_FILE_SIZE is Normal or Human or Plane. と表示されてmfiler3が起動できません。 statファイルがなければ起動できますが、 statが作られると上記のエラーで起動できなくなります。
836 :
ab25cq :2011/04/03(日) 22:59:35.84 ID:Al35tFdW
>>835 statの内容がおかしいようですね。
作られるstatの11行目は何になってますか?ここがPlane, Normal, Humanじゃないと起動しないはずです。
838 :
ab25cq :2011/04/04(月) 20:57:07.06 ID:hEGED0jj
>>837 すみません。勝手な仕様変更が影響しています。
今のバージョンのmfiler3は起動時に
$(sysconfdir)/mfiler3.sao (/etc/mfiler3.saoなど)
を読み込んでから
~/.mfiler3/mfiler3.sao
を読み込みます。
前は~/.mfiler3/mfiler3.saoがあれば$(sysconfdir)/mfiler3.saoは読み込まれなかったのですけれども。
つまりカスタマイズする場合は~/.mfiler3/mfiler3.saoを空で作ってから、そこにスクリプトを書くことになります。
そのときも$(sysconfdir)/mfiler3.saoは先に必ず読み込まれます。
これは前から迷っていることなんですけど、今の仕様で固定させていただきます。
大幅に手を入れる場合は$(sysconfdir)/mfiler3.saoを書き換えてください。
一応CHANGELOG.txtには変更点書いてあるんですけど、なかなか読めませんよね、、、。
>>838 ~/.mfiler3/mfiler3.saoが上書きで読み込まれるのかと思ってたのですが、追加で読み込まれるんですね。
ちゃんと起動するようになりました、ありがとうございます。
840 :
ab25cq :2011/04/08(金) 00:33:53.30 ID:mUIVLgc8
saphire-1.3.8リリースです。 バグが見つかってます。外部登録の内部コマンド(mfiler3の内部コマンドなど)やユーザー関数が パイプにパイプの上限を超えるデータを流すとブロックしてました。 パイプの処理をするコードで外部登録の内部コマンドとユーザー関数が外部コマンドだと 間違って処理されていたのでメモリパイプを使わず普通のパイプを使っていたためです。 具体的にはmfiler3で多量のファイルをマークしてmarkfiles | less, markfiles | printなどパイプで データを渡すとパイプの上限を超えるデータが流れてwriteがブロックしていました。 修正しています。
841 :
ab25cq :2011/04/11(月) 00:02:19.49 ID:HdPW0xbV
saphire-1.4.0リリースです。 Linux, Oracle Solaris, FreeBSD, OSX, cygwinでコンパイル、動作確認を行ってます。 cygwin以外は動作が安定しているようです。
OSX10.6.7です。 mfiler3-4.2.7をmakeしたところ commands.c:2230: error: too few arguments to function ‘err_msg’ エラーが出ました。 err_msgをmerr_msgに変更したところmake成功しました。 macports申請されたんですね!早くportでインストールできるようになって欲しいです。
843 :
ab25cq :2011/04/13(水) 22:51:29.62 ID:ocUc83+T
>>842 次のバージョンで修正します。
macportsは申請したんですけど、こっちの不手際で拾ってくれた人からの返事がなくなってます。
次のバージョンでもう一度portsを作って、もう一回申請してみます。
それができれば、新しいバージョンで、もう一回debパッケージを作ってdebianの方に申請してみます。
あと使っている方に質問なんですけど
不正なメモリアクセスで落ちることはありますか?
こちらのmacでは一度落ちたことがあります。
どうでしょう?。Linuxではないんですけど。
落ちることがあるなら全体のソースの見直しをしないといけないです。
手元ではBoehm GCに対応させているんですけど、それを必須にするとか。
スパゲッティコードになってる変数の参照の簡略化とか。(仕様変更を伴う)
変数の展開のところが怪しいなと思っているんですけど。
再現しないバグなんで、困ってます(>_<)
844 :
ab25cq :2011/04/15(金) 15:47:00.59 ID:FRkgxcQt
saphire-1.4.1 mfiler3-4.2.8 リリースです 大きな変更点はBoehmGCに対応したことで./configure --with-gcで有効にできます。 メモリ管理をBoehm GCに任せることで動作が安定するかもしれません。 パッケージの方で有効にするかは各OSの中の人に任せます。 あとはlines,rowsで-Bを省略できるようになったとかx10,\*10と初期値を省略できるようになったとか です。 mfiler3の方はkeycommand2というキーバインドのアサインの内部コマンドがもう一つできたので 少しは設定ファイルが分かりやすくなったかもしれません。 keycommand2 $key_l { ls -al | less } でlキーにls -al | lessをアサインします。 他の変更点はCHANGELOG.txtを見てください。
845 :
ab25cq :2011/04/21(木) 07:40:12.87 ID:wVgd12IV
saphire 2.0.2リリースです。ようやくまともなシェルになってます。 saphire_vmを書き直して一つのプロセスが一つのプロセスグループを持ち毎回fork後waitしています。 並列実行による不安定さがなくなり、とても安定しました。 複数のプロセスが同じプロセスグループで並列実行される普通のシェルと動作が違うので もうシェルとは呼べないかもしれませんが、内部コマンドをパイプの途中で使うためには 上の修正は必要なことでした。 cygwin, FreeBSD, Oracle Solaris, OSX, Linuxで安定して動いてます。 まだ仕様変更があるかもしれないのでβ表示は取りません。 とりあえず、全体のソースを奇麗にしたいです。parser, vmはまだましとしても commandsや変数展開の所が動けば良かろう的なコードなので。 仕様変更があれば、ご迷惑をおかけしますが、奇麗に直させてください。
きれいにしたら気持ちいいしね
saphire-3.0.0 mfiler3-4.3.0 segmentation faultで落ちます。 (gdb) run Starting program: /usr/bin/mfiler3 Program received signal SIGSEGV, Segmentation fault. 0x00007ffff6cfa541 in strlen () from /lib/libc.so.6 (gdb) bt #0 0x00007ffff6cfa541 in strlen () from /lib/libc.so.6 #1 0x00007ffff6feb6c8 in sWFd_push_back () from /usr/lib/libsaphire.so #2 0x00007ffff700731e in statment_tree_internal_commands () from /usr/lib/libsaphire.so #3 0x00007ffff6ff06fb in ?? () from /usr/lib/libsaphire.so #4 0x00007ffff6fef780 in run () from /usr/lib/libsaphire.so #5 0x00007ffff6ff5c11 in saphire_load_obj () from /usr/lib/libsaphire.so #6 0x00000000004074e6 in ?? () #7 0x0000000000406af5 in ?? () #8 0x00007ffff6c9ef6d in __libc_start_main () from /lib/libc.so.6 #9 0x0000000000407385 in ?? () #10 0x00007fffffffddd8 in ?? () #11 0x00000000ffffffff in ?? () #12 0x0000000000000001 in ?? () #13 0x00007fffffffe122 in ?? () #14 0x0000000000000000 in ?? ()
>847と同様にmfiler3がSegmentation faultになります。 Xubuntu10.04 2.6.32-31-generic-pae saphire version 3.0.0 mfiler3 version 4.2.8(mfiler3-4.3.0.tgz) /usr/local/etc配下のmfiler3.saがeuc-jpでしたので、念のためutf8にしてから再コンパイルを試みたところ失敗しました。 make && sudo make install時には成功しているのですが、何か関係があるのでしょうか? $ sudo saphire -c compile mfiler3.sa exec('kanjicode_file_name') error run time err mfiler3.sa 6: command not found
849 :
ab25cq :2011/04/26(火) 23:20:48.18 ID:wHuDMeg1
>>847 , 848
mfiler3-4.3.2, saphire-3.0.1で
Linuxでセグフォするバグを修正しました。
(というかstring_deleteしたstring構造体をその後使っていたので動くOSXの方がおかしい)
mfiler3.saがEUCJPだったのでUTF-8に変換しました。
sudo saphire -c compile mfiler3.saは期待通り動きません。
saphireは-c compileというオプションがあってmfiler3.saをスクリプトと解釈して実行してしまいます。
sudo saphire -c "compile mfiler3.sa"としてください
>>843 この前再現しないバグがでて困っていたようなんですけど
OSXやSolarisで、たまに落ちるバグは最適化関連が怪しいです。
OSXではいくら考えても問題の無い(と思われる)コードの所で落ちてました。
(FreeしたあとでFreeをしたメモリを触ったと言われる。そうではないのに)
というわけで最適化を施さないのをデフォルトにしました。
configure --with-optimizeすると最適化するようになりますが
Linux以外では有効にしない方がいいと思います。
あと今回の改訂でsaphireは大幅に変わっています。
ベータ表示も取っています。正式リリースです。
(まだプロセス置換関係と正規表現文字列操作コマンドの仕様が変わるかもしれませんが)
詳しくはCHANGELOG.txtを見てください。
>>849 対応乙です。
saphire-3.0.1の--with-optimizeですが、configure.inのtypoのため効かないです。
-AC_ARG_WITH(optimaize, [ --with-optimize with optimize(-O2 in CFALGS) ], [ ENABLE_OPTIMIZE=1 ], [ ENABLE_OPTIMIZE=0 ])
+AC_ARG_WITH(optimize, [ --with-optimize with optimize(-O2 in CFALGS) ], [ ENABLE_OPTIMIZE=1 ], [ ENABLE_OPTIMIZE=0 ])
mfiler3-4.3.2の--with-optimize -if test ENABLE_OPTIMIZE = 1 +if test $ENABLE_OPTIMIZE = 1
何度もすみません。
>>850 に加えて"CFALGS"の修正も必要かと。
$ grep -r 'CFALGS' saphire-3.0.1/
saphire-3.0.1/configure: --with-optimize with optimize(-O2 in CFALGS)
saphire-3.0.1/configure: CFALGS="$CFLAGS -O2"
saphire-3.0.1/README.en.txt: --with-optimize --> enable -O2 flag to CFALGS. You shouldn't enable this on OSX, Solaris
saphire-3.0.1/configure.in:AC_ARG_WITH(optimaize, [ --with-optimize with optimize(-O2 in CFALGS) ], [ ENABLE_OPTIMIZE=1 ], [ ENABLE_OPTIMIZE=0 ])
saphire-3.0.1/configure.in: CFALGS="$CFLAGS -O2"
853 :
ab25cq :2011/04/27(水) 23:19:55.35 ID:QA3XeiHa
--with-optimizeのtypo修正しました。 saphire-3.0.2 mfiler3-4.3.3リリースです。 saphireはcygwin, OSX, FreeBSD, Solarisやらでもコンパイルと実行の確認取ってます。 mfiler3は確認したのはLinux, OSX, cygwinのみです。 mfiler3はSolarisではコンパイルが通りませんし、FreeBSDは試してません。 またSolarisとFreeBSD対応させます。コンパイルとおればすぐ動くと思うので。
854 :
ab25cq :2011/04/27(水) 23:28:42.91 ID:QA3XeiHa
あとsaphireはソースがかなり奇麗になってます。 parserとvmはだいぶシンプルです。 commandsだけが混沌としてるので(正規表現文字列処理コマンドが) また直します。ついでに正規表現ライブラリをonigurumaからpcreに変えるかもしれません。 onigurumaは高速で正規表現が使いやすいんですけど、複数行を食わせると とたんパフォーマンスが落ちます。(数Mバイトの文字列にsub -g -mしていただければ分かると思います) まー僕の使い方が悪いようなんですけど (rubyではパフォーマンスがでているので) そのため内部で処理を複数行の場合と一行の場合で処理を分けているので汚くなってます。 pcreだとその辺り問題がないんじゃないかなと期待してます。 onigurumaの方がpcreより高速と聞いたことがあるので意味ないかもしれませんが。 (あとpcreはmigemoの吐く正規表現は食えるのかなとか不安がある。)
855 :
ab25cq :2011/04/27(水) 23:33:49.65 ID:QA3XeiHa
訂正 複数行を食わせるというか複数の行をまたぐ正規表現を書くと (sub -m 'aaa\nbbbb' X とか)
856 :
ab25cq :2011/04/27(水) 23:43:52.61 ID:QA3XeiHa
あ、違う。やっぱり複数行の文字列をonig_match, onig_searchすると遅くなります。 一行ずつ渡すと速いのに。
857 :
ab25cq :2011/04/29(金) 18:02:38.60 ID:+VMjoeNH
ちゃんと書くと -mがないと一行ずつの処理できるので鬼車に一行だけ渡せて全体が数Mバイトの文字列を処理しても 高速ですが -mを使うと、どこまでマッチするか分からないので鬼車に全ての文字列を渡さないといけないので そうしているんですが、そうして数Mバイトの文字列を渡すと、ものすごく重くなります。 ループするときにマッチした所からもう一回検索かけるようにしても一緒です。どうにかなりませんか、、、。 って書いても誰も分かりませんよね。 自分で解決するしかないか. pcreインターフェースほとんど鬼車と同じでいいんですけど、EUCJPとSJISに対応してませんよね、、、。
858 :
ab25cq :2011/04/29(金) 18:51:33.64 ID:+VMjoeNH
saphire-3.0.3アップです。 結局最適化関連のバグじゃなくて、実際不正なメモリ操作がありました。あほですね。 たまに落ちていたようです。でも、落ちるバグ、まだあるかも。 深刻なバグがでるまで、しばらくローカルで開発します。
>858 開発お疲れ様です。いつも便利に使わせていただいています。 mfiler3 4.3.3 with saphire 3.0.3でディレクトリのジャンプメニューを登録しようとすると以下のエラーが出ます。 グローバルな方のmfiler3.saがおかしいのだと思ったので報告します。 mfiler3.sa 568: invalid argument number on ary cmdline:1
860 :
ab25cq :2011/04/29(金) 23:19:04.93 ID:+VMjoeNH
>>859 こちらこそ、使っていただいて嬉しいです。バグ報告ありがとうございます。
ジャンプメニューが普通に動くように修正したバージョンをアップロードしました。
mfiler3-4.3.4です。
861 :
ab25cq :2011/05/08(日) 23:50:43.28 ID:fTBnWjjx
mfiler3-4.3.5とsaphire-3.0.6リリースです。 boehm gcが必須となってます。saphireの方は全体のソースを見直しました。 mfiler3の方はsaphire-3.0.6に対応しただけです。mfiler3の方はsaphire-3.0.6以上が必須となってます。
初めてmigemoこみでインストールしてみたのですが、 saphireとmfiler3でmigemo-dictの参照場所が違うようです configureのオプションで指定すればいいだけだとは思いますが、 少し気になったもので……既出だったらすいません
863 :
ab25cq :2011/05/15(日) 21:19:17.99 ID:x1mO6ui7
>>862 了解です。saphireのmigemo-dictの参照位置を修正してmfiler3の方に揃えます。
saphire-3.0.9ですが、CFLAGSで指定されるライブラリの検索パスの問題で
古いsaphireがインストールされたシステムでコンパイルに失敗したりします($myprefix/libを先に見てしまうため)
ぱっち
http://pastebin.com/BiB9w0SR
>864 手元ではMakefileの7行目のCFLAGSにも同様の修正が必要でした。 一応報告しておきます。
866 :
ab25cq :2011/05/21(土) 23:55:43.05 ID:QBwqq3BS
>> 864, 865 了解です。報告とパッチありがとうございます。 修正したバージョンをまたアップロードさせていただきますね。
867 :
ab25cq :2011/05/22(日) 10:08:36.30 ID:7k9FtFQ7
3.1.0リリースしています。上のパッチを当てたり、ちょっとしたバグを修正したりです。 CHANGELOG.txtを読んでください。
いつもお疲れ様です
869 :
ab25cq :2011/05/27(金) 23:32:15.57 ID:PzLtv20T
3.1.1リリースです。 ハッシュのアルゴリズムを修正。大量行のテキストをハッシュに持たせると パフォーマンスに大きく差が出るはずです。 詳しくはCHANGELOG.txtを読んでください。
870 :
ab25cq :2011/06/04(土) 01:23:51.03 ID:oGyWoYkw
saphireで手元ではlines, rowsのブロックで-B, -bを使うとブロックがずれるバグが見つかってます。 修正して、またアップロードします。lines, rowsの仕様変更を伴います。 一応報告まで。
871 :
ab25cq :2011/06/05(日) 00:51:56.34 ID:6c01bQzY
ブロックのバグ修正してsaphire-3.1.3としてリリースしています。 コンパイル時にブロックの情報を保存していないバグでした。 mfiler3の方は手元ではftpクライアント機能を作成中です。 またアップロードします。 乞うご期待。
>>871 > ftpクライアント機能を作成中
期待age
>871 |mfiler3の方は手元ではftpクライアント機能を作成中です。 期待してお待ちしてます。
874 :
ab25cq :2011/06/06(月) 23:37:51.07 ID:cyUuuP8Y
mfiler3, saphireをリリースしてます。 saphireも色々変わってますが、クォートするコマンドも入れてます。 以下は同じです。 puts $(print "<>") puts $$(print "<>"| quote) bash風のクォートを行うにはquote -bです。 joinも区切り文字以外をクォートさせるオプション-q, -Qを追加しています。 cp @@(ls) ~/tmp cp $$(ls | join -q|chomp) ~/tmp 上記はあまり変わりません。どちらも空白つきのファイル名に対応します。 あとenvspaceという環境変数を一時的に変更するコマンドも入れてます。 envspace LANG=c { date } 一時的にLANGをcにしてdateを実行 これは実はネストできます。 envspace LANG=c { date; envspace LC_ALL=c { date } } 使うことないと思いますが、、、。 mfiler3の方はftpクライアント機能を入れてます。 パスワードの管理はメンドクサイので毎回標準入力から取るようにしてます。ある意味セキュア、、、orz ftp_startで始められます。 標準入力はタイプしてからENTER+CTRL-Dで入力を終えることができます。 また気が向けばサーバー名、ユーザー名、パスワード名の管理を行う機能を追加します。 ソース見てもらえればユーザーでも書けなくはありません。
mfiler 4.3.7コンパイルエラーです。 gcc -I/usr/local/include -L/usr/local/lib -I . -I/usr/local/include -L/usr/local/lib -c -o filer.o filer.c filer.c: In function ‘filer_vd2_add’: filer.c:602:59: error: ‘linkto2’ undeclared (first use in this function) filer.c:602:59: note: each undeclared identifier is reported only once for each function it appears in make: *** [filer.o] Error 1
876 :
ab25cq :2011/06/07(火) 00:58:26.57 ID:HWH+Latx
修正してます。 mfiler3 4.3.8リリース。
>>876 ありがとうございます、4.3.8でビルド通るの確認しました。
878 :
ab25cq :2011/06/07(火) 23:02:03.56 ID:HWH+Latx
ftp機能は実験中です。また完成したらリリースします。 手元でもバグが見つかっているので。適当なリリース申し訳ないです。
879 :
ab25cq :2011/06/11(土) 23:55:01.33 ID:JJZRgrsI
saphire-3.1.5リリースです。 詳しくはCHANGELOG.txtを見てください。 ヘアドキュメントを入れたのとプロセス置換( >(コマンド) )の方がパーサーで処理せずに コンパイルされてVMで処理するようになって自然な動きになってます。
ダムダムー たんまつ
mfiler3のページってどこだったっけ?
バックアップファイル(チルダで終わるファイル名:hoge.txt~)を表示させないため、ファイルマスクを.*[^~]$にしているのですが、mfiler3を再起動すると invalid env nameで起動しません。 解決法はあるでしょうか?
mfiler3 4.3.9 with saphire 3.1.5 --with-migemo --with-optimize Ubuntu10.04 fでインクリメンタルサーチに入り、/hogeでヒット後、 BSで一字削除して(/hog)、Upキーを押下。 これでほぼ100%クラッシュします。
あと、こんなことをやる人はいないでしょうが、 drw-r--r-- こんなディレクトリに潜ろうとしたら、クラッシュします segmentation fault (core dumped) mfiler3
887 :
ab25cq :2011/06/19(日) 21:00:30.03 ID:jEZ/qtC/
>> 884,885, 886 バグ報告ありがとうございます。 修正して、アップロードさせていただきます。 もう少しお待ちください >>all saphire-3.2.0リリースです。 クラス、オブジェクト、メソッドコールが追加されてます。 継承や多態は入ってません。 あくまで名前空間のようなものです。 クラス内に定義したクラス、配列、ハッシュ、オブジェクト、グローバル変数は そのクラス内でしか使えないなど、そのような使用方法を意識してます。 mfiler3への影響はありません。
884ですが、最新のmfiler 4.3.9 + saphire 3.2.0にアップデートしたところ不具合は起きませんでした。お騒がせしました。 ちなみにmfiler 4.2.1 + saphire 1.2.4を使用していて同不具合が起きていました。
Macports-jpのは更新されないのかにゃ
ゴミ箱を無効にする設定、もしくは一定以上のサイズならゴミ箱に移さない設定は無いのでしょうか。
>>890 Shift+dじゃだめかい? それか、key_dにkey_Dと同じコマンドを割り振るとか
892 :
ab25cq :2011/06/23(木) 00:32:51.06 ID:NJT3t1nj
saphire-3.2.1リリースです。オブジェクト指向に継承を入れてます。 > vim a.sa class A { def yes { puts yes } } class B { self->class A # classメソッドでクラスを”実行”できる。ブロックも取れる self->class { def no { puts no } }など def yes { inherit; puts yes } # ineritでオバーライドしたもとのクラスやメソッドを呼び出せる } class B { inherit def no { puts no } } > load a.sa > B b > b->yes yes yes > b->no no 普通の継承なら上記ですが色々奥深い使い方ができるように拡張してます。 なんか段々Lispっぽくなってきたorz 良かったらどうぞ。
893 :
ab25cq :2011/06/26(日) 09:15:49.66 ID:0kiag/Iw
3.2.2リリースです。 break, returnがまともな実装になってます。 (今までは何だったんだと言われたら、自分では動いてるつもりだったと答える) クラスの実行は関数呼び出しと同じように扱われてます。(つまり、returnできる) cygwin, OSX, Solaris, FreeBSD, Linuxで動作確認しています。 もうおざなりな実装はないと思っているんですけど、見つけたら、報告お願いします。 こっちでも、探しますけど、、、。
894 :
ab25cq :2011/07/03(日) 15:16:54.57 ID:5+5LFsMb
バグ見つけました。saphire 3.2.3リリースです。 class内でブロックを伴いブロック順が意味を持つコマンドの実行がおかしかったはずです。 (lines, rowsなど) 修正してます。
いつもお疲れさまです. バグではないのですが,saphire と mfiler3 のソースコードファイルに config.log と config.status が含まれているため,deb パッケージを 作成すると lintian に警告されてしまいます. 不要であれば削除をお願いします.
896 :
ab25cq :2011/07/07(木) 00:52:13.88 ID:M1Z8Wo/f
了解です。次のリリースでは削除をさせていただきます。
897 :
ab25cq :2011/07/10(日) 22:08:26.56 ID:GNvf9aj7
mfiler3 4.4.0 saphire 3.3.0 リリースです。 mfiler3はsaphire 3.3.0に対応しただけです。 saphireの方は改行コードを配列に要素に含めることができない問題に対応しています。 \a(bel)を改行コード、配列の区切りとして扱えます。 例えば > split -La "aaa\nbbb ccc\nddd" " " | global -La a b > global b ccc ddd とグローバル変数に改行を含めて代入することができるようになってます。 今までは改行コードを配列の区切りに使っていたので無理だったんですけどね。 -Laで\aを配列の区切りとして扱ってます。 あとはsubがブロックを複数取ることができるようになってます。 > print abcdefghij | sub -g '(.)(..)' { | uc } { | print } AbcDefGhij グループ化した正規表現ごとにブロックを起動します。ブロックの出力が変換結果です。
898 :
ab25cq :2011/07/10(日) 22:23:49.81 ID:GNvf9aj7
ああ、mfiler3-4.4.0はsaphire-3.3.0が必須です。 あしからず。
mfiler3 4.4.0 with saphire 3.3.0での質問です。 一念発起してmfiler3.saでいろいろとカスタマイズしていたのですが、atexit_hookの使い方がいまいち分かりません。 下記ではうまくいかないのですが使い方が間違っているのでしょうか? def atexit_hook { save_jump_menu #external -q "sort -u -o $(export HISTORY_FILE) $(export HISTORY_FILE)" external -q "sort -u -o ~/.mfiler3/history ~/.mfiler3/history" save_mfiler3_stat }
下記の例1みたいな場合、例2のように書きたいです。 saphireのヘルプを読むと例2の書き方は許されていないみたいですが対応していただけないでしょうか? 例1 if(条件文) { print a } else { printb } 例2 if(条件文) { print a } else { printb }
901 :
ab25cq :2011/07/14(木) 01:29:04.72 ID:ARvNLqiJ
>> 899 すみません。作者もよくわかってませんorz ぱっと見た所動くはずなんですが、、、。 今とても忙しくて原因を調べる暇がありません。 mfiler3って書き方自体がカスタマイズを念頭に置いていないんです。 自分が使えればいいやという書き方で。ユーザーさんが期待しているのは せっかく組み込んでいるsaphireでのカスタマイズだとは分かっていて なんとかしたいとは思っているんですけど。 次のシリーズではカスタマイズを念頭において書きたいのですが 現状ではsaphireはせっかく組み込んだのにあまり役に立たない状態です。 コピーの仕方とかも内部コマンドは単にコピーだけするシンプルな形にしてスクリプト側で 色々利便性を高める形にできれば、ものすごくカスタマイズの幅が広がし 僕の方も楽に書けるのは気づいていて、なんとかしたいと思ってます。 現状ではカスタマイズはお勧めできません。申し訳ないです。 vimみたいに素のままで使ってください。 >> 900 可能かどうか試してみます。if文は特別にパースしているので少しの改造でできなくはないとは 思います。 if(条件式) { } else { } は無理です。 each { } は無理なので、バランスから言っておかしいので。
902 :
ab25cq :2011/07/14(木) 01:53:33.24 ID:ARvNLqiJ
>>900 少し考えてみたんですけど、無理っぽいです。
elseというユーザーコマンドがあったら、区別がつきません。
申し訳ないです。
>902 > 少し考えてみたんですけど、無理っぽいです。 > elseというユーザーコマンドがあったら、区別がつきません。 > 申し訳ないです。 作者さんのポリシーであまり予約語を作りたくないということであれば、仕様ということで納得できます。 ただ、条件分岐/ループ制御コマンドみたいなのは予約語ということにしておいて、その名前をユーザは使えない(使えるけどその場合何が起きても自己責任)でも良いような気がします。 とりあえず今はこんな風にして逃げることにしました。 if(条件文) { print a } else { print b }
904 :
ab25cq :2011/07/19(火) 01:09:23.93 ID:sFw98KMu
>>903 ふむ。確かにif, elseを2行にしたいとき不格好ですね。
でも、僕はパーサーは仕様もソースも気に入っています。
変えるつもりはありません。あしからず。
とりあえず「ぼくのかんがえたかっこいいmfiler3」のためのカスタマイズは一段落しました。 他の方の参考になればと思って自己満足ですがいくつか投下しておきます。 基本は極力cmdlineを使わず、ファイル操作はマークしてからというものです。 #### 実行 #### ## 拡張子判別実行 keycommand2 $(export key_enter) -f .mark-mp3 { external -q "mpg123 --verbose --control @@(markfiles)" } keycommand2 $(export key_enter) -f .mark-wav { external -q "aplay $(cursor)" } keycommand2 $(export key_enter) -f .mark-htm { external -q "/usr/local/bin/firefox -no-remote -P Default $(cursor) &" } ## マークされてなければマークする keycommand2 $(export key_enter) -f .link { if([ -d $(cursor) ]){ mcd $(cursor) } else { mark -f -n $(cursor_num) 1} } keycommand2 $(export key_enter) { mark -f -n $(cursor_num) 1 } ## タイムスタンプも複写する keycommand2 $(export key_c) -f .mark { if([ $(export VIEW_OPTION) = 2pain ]) { mcp -p $(path -d sdir) } else { cmdline -q "mcp -p $(path)" -1 } } keycommand2 $(export key_c) { mark -f -n $(cursor_num) 1 } ## ごみ箱と直接削除を入れ替える keycommand2 $(export key_d) { if([ $(marking) = 1 ] && [ $(mchoise "DELETE file ok?" yes no) = yes ]){ mrm } } keycommand2 $(export key_D) { &ngsp;&ngsp;if([ $(marking) = 1 ] && [ $(mchoise "move file to trashbox ok?" yes no) = yes ]){ mtrashbox -f -p } }
#### 抽出 #### ## 複数の拡張子のアーカイブをまとめて抽出したい keycommand2 $(export key_u) -f .mark { if(export VIEW_OPTION | [ = 2pain ]){ print $(markfiles) | each { | var name if(var name | index -q .bz2) { external "tar xjvf $(var name) -C $(path -d sdir)" } elif(var name | index -q .tar.gz) { external "tar xzvf $(var name) -C $(path -d sdir)" } elif(var name | index -q .gz) { external "gzip -d $(var name)" } elif(var name | index -q .tar) { external "tar xvf $(var name) -C $(path -d sdir)" } elif(var name | index -q .tgz) { external "tar xzvf $(var name) -C $(path -d sdir)" } elif(var name | index -q .zip) { external "unzip $(var name) -d $(path -d sdir)" } } reread -d sdir } else { print $(markfiles) | each { | var name (省略。上のディレクトリ指定を省いたものが続きます) } reread -d adir } } keycommand2 $(export key_u) -f .gz { mark -f -n $(cursor_num) 1 } keycommand2 $(export key_u) -f .tar { mark -f -n $(cursor_num) 1 } keycommand2 $(export key_u) -f .tgz { mark -f -n $(cursor_num) 1 } keycommand2 $(export key_u) -f .zip{ mark -f -n $(cursor_num) 1 } keycommand2 $(export key_u) { mark -f -n $(cursor_num) 1 }
>904 >903でも発言しましたが、作者さんがそうされたいのでしたら仕様ということで納得できますので問題ありません。 migemoが使える2画面ファイラという理想的なものをいつも便利に使わせていただいていますから。 それと要望なのですが、何かの折にでも$(export $key_ENTER)、要するにSHIFT-ENTERをキーコードに追加していただけると嬉しいです。 mcd -d sdir $(path)$(cursor)を割り当てることができると便利かなと思います。
908 :
ab25cq :2011/07/20(水) 00:41:31.81 ID:f+kHmA7I
>>907 ああ、その要望は何年か前にあったような<Shift-Enter
端末エミュレーターがShift-EnterでEnterと違うキーコードを吐いてくれない限り
コンソールアプリケーション側では対応できないんですorz
あしからず。
saphireを3.3.4にあげると、mfiler3 4.4.0がbuild出来ません。 env TERM=dumb env DYLD_LIBRARY_PATH=/opt/local/lib:/usr/local/lib saphire -rn -c 'compile mfiler3.sa' mfiler3.sao run time err mfiler3.sa 1052: unexpected token2 -->( make: *** [mfiler3.sao] Error 1
>909 mfiler3.saの1052/1071/1108行目にある'()'を削除すればmake installは通るようになります。 saphire3.3.4でdefの仕様が変わった影響のようです。 蛇足だとは思いますが~/.mfiler3/mfiler3.saもコンパイルし直す必要がありました。
911 :
ab25cq :2011/07/30(土) 00:54:29.68 ID:QkNpm8eJ
>>909 ,910
mfiler3-4.4.1, saphire-3.3.5リリースです。
上の問題に対応したmfiler3をリリースしてます。
saphireの方はリダイレクトが制限が無くなっています。
> ls > >(head)
や
> ls > @(print aaa)
が実行できます。
当方mfiler2を使わせてもらってます あふでの Hキーの履歴、 _のコンテキストメニュー(無理か)にあたるキーはないのでしょうか?(見つからなかったもので あとafxでいうメニューをふみ子ちゃん?以降につけてほしいです(出きるのかもだけど手軽にしてほしいと願望を
>>912 同じあふユーザとしてはディレクトリ移動履歴が欲しい気持ちはよくわかります。ついhを押しちゃいますよね。
コンテキストメニューはかなり難しいと思います。OSデフォルトのファイラを特定できたとしても、たぶん外部からコンテキストメニューを呼べないんじゃないかと。
mfiler3ではユーザ定義メニューをdefmenu メニュー名 〜で定義して、menu メニュー名で呼び出せるようです。
1つのメニューを一行で書かないといけないのでメンテが大変かもしれません。
詳しくは/usr/local/etc/mfiler3.sa /usr/local/share/doc/mfiler3/USAGE.ja.txt /usr/local/share/doc/saphire/USAGE.ja.txt辺りを眺めてみるとわかると思います。
Ubuntu 10.04 awesome windowmaneger gnome-terminal 以上の環境でmfiler3を利用させていただいています タイル型ウインドウマネージャのため、アプリを起動させるたびに ウインドウサイズが変化するのですが、そのたびに描画が崩れます C-lで再描画をすればいいのですが、やはり面倒です 解決策はないでしょうか。よろしくお願いします
ownerに書き込み権限が無いディレクトリを中身ごとコピーしようとするとエラーが起こります。 コピー先のディレクトリの中に書き込む権限がないのでこの動作は自然なのですが、コピー元が読み込み専用デバイス(CD/DVDとかmountされたiso)である場合はそのパーミッションを変更できないのでディレクトリをコピーしてはchmodをすることになり聊か手間取ります。 途中で気がついてcpを使いましたがmcpでもcpと同様に動作するようにしていただけないでしょうか? とにかくコピーさえしてしまえばfind -type d -exec chmod 755 \;なんてこともできますし。
916 :
ab25cq :2011/08/16(火) 02:09:10.13 ID:8IWSRpkf
すみません。一応掲示板はチェックしていますが、最近とても仕事が忙しくて なかなかプログラミングできません。(saphireは少し触ってますがmfiler3は触れていない) 要望は(少しでも)使っている人がいることが分かって大変嬉しいので、なんとか対応 させていただきたいんですが、少しお待ちください。
>916 慌てず急がずご自分の楽なペースで開発していただければそれでいいと思います。 1ユーザとしてありがたく使わせていただいています。
saphire 3.4.7でmakeしたらmfiler3のmenuが使えなくなったという人へ。 commands.cの3680行目を"saphire_add_inner_command("mmenu", commands_menu);"に変更してからmake。 /usr/local/etc/mfiler3.sa内でmenuを使っているものを~/.mfiler3/mfiler3.sa内でmmenuで定義し直してコンパイルすれば今まで通りに使えるようになります。
919 :
ab25cq :2011/08/24(水) 14:01:19.75 ID:ukIZIHp9
>>899 亀レスですが、実はsortはsaphireのsortと実行ファイルのsortの2種類あって
そのsortはsaphireのsortが使われているんで駄目だったみたいです。
atexit_hook自体はちゃんと動いています。
すみません。今日リリースする次のバージョンではsaphireのsortはssortにしますね。
>>914 再描写の問題はバグでした。修正したバージョンを今日リリースします。
>>915 修正しました。今日のリリースで対応してます。
920 :
ab25cq :2011/08/24(水) 14:02:09.14 ID:ukIZIHp9
>>918 mfiler3のmenuはmmenuにしました。今日のリリースで修正しています。
921 :
ab25cq :2011/08/24(水) 17:37:38.29 ID:ukIZIHp9
saphire-3.4.8 mfiler3-4.4.2 リリースしています。 saphireのprintfもコンフリクトしてますが、/usr/bin/printfなどとしてシステムのprintfは使ってください。
922 :
ab25cq :2011/08/24(水) 23:00:39.54 ID:ukIZIHp9
saphire-3.4.9リリースしてます。 内部コマンドに対してinheritが使えるようになってます。 > def cd { inherit @@(ary ARGV); pwd } でcdしたあとにpwdを実行するようになってます。 mfiler3の内部コマンドに対しても同様です。 mfiler3への影響はありません。
923 :
914 :2011/08/25(木) 07:32:13.86 ID:r9GEclOw
>>919 > 再描写の問題はバグでした。修正したバージョンを今日リリースします。
やたっ。改善確認しました。
これからも愛用させていただきます。ありがとうございました
>919-922 いろいろと対応していただきありがとうございます。 externalでもsaphireの内部コマンドが使われるというのは盲点でした。言われてみればああそうなのかと思ったので、まさしくコロンブスの卵ですね。
レスすれば復帰する?
926 :
ab25cq :2011/08/31(水) 01:50:23.55 ID:s+n+hTjZ
saphire-3.5.0 mfiler3-4.4.3リリースです。 mfiler3-4.4.3はsaphire-3.5.0以上が必要です。新しいsaphireに対応しただけで特に変わってません。 saphire-3.5.0ではインタラクティブシェルでマクロが使えるようになってます。 C-xしてください。コマンドの選択画面になるはずです。 そこでコマンド選んで実行させると実行結果がコマンドラインに貼付けられるはずです。 whoami | chomp だったら、ユーザー名がコマンドラインに貼付けられます。 今までのファイル選択リストはfselector -mと内部コマンドになって選択したファイルのリストを出力するように なってます。ので、マクロと組み合わせれば、同じことができます。 マクロはsaphire.saにdef macroされています。見れば仕掛けが分かるかもしれません。 ちなみにマクロで実行するワンライナーの編集はmenuコマンドでvim ~/.saphire/macroを選んでもらえればできます。 まーあんまり実用的とは言えないかもしれません。僕は面白いなと思っているんですけどね。 次のリリースではユーザーカスタマイズ補完を予定しています。
927 :
ab25cq :2011/08/31(水) 01:55:44.59 ID:s+n+hTjZ
ああ、あとソースファイルのコンパイル結果のファイルの形式が変わっているので 再コンパイルお願いします。 ソースファイルがホームディレクトリ以下にあるなら > cd > pwd /home/ab25cq > find . -name '*.sa' | each { compile $(|chomp) } でいけるはずです。
ファイル名をカラー表示で1dir(3),1dir(5)の時、 スペースキーでマークしてもファイル名が黄色く反転しません mfiler3 4.4.3 with saphire 3.5.0
起動時に、左側のペインはカレントを表示して欲しいのですが、フラグとかありますか? なければ、起動時の処理はどこに書けば良いのでしょうか。
>929 試してはいませんが~/.mfiler3/statの該当部をsed辺りで書き換えてから起動するシェルスクリプトを書くのが現時点では一番簡単かなと思います。 /usrl/local/etc/mfiler3.saを眺めてみましたが起動するときの特別なフックはないみたいです。 たぶんkeycommand2と同様にmcdすれば起動時に実行されるのではないかと考えられます。 ですが起動したmfiler3でprint $(export PWD)すると$(path -d adir)の結果が返ってくるのでmfiler3からは起動したシェルの${PWD}が見えないのではないかと推測されます。 下記を見るに起動時に引数としてディレクトリを渡せばいいような気がしますが……ここで指定できるのは起動時のpathではないみたいです。 $ mfiler3 --help usage mfiler3 [-c command] [--version ] [ filer initial directory or script file] (後略)
931 :
ab25cq :2011/09/01(木) 01:07:30.77 ID:Grek+y1d
>>928 了解です。また試して修正します。
>>929 ,930
ああ、その辺り支離滅裂になってますねorz
せっかくスクリプトを組み込んでいるのに生かせない状態です。申し訳ない。
内部コマンドだけ、もう少しましな設計にしたら、なんとかなると思うので
またmfiler3の方に注力できれば、見直してみます。
現状でできるのはstatを読み込むときにディレクトリのデータをpwdの出力にすれば
いけそうな気がするんですが、その辺りも想定していないので動くかどうかは分かりません。
>>929 自分の場合は .bashrc や .zshrc でエイリアスを設定し
~/.mfiler3/mfiler3.sa で mfiler3 の起動時に mcd を実行しています.
[~/.bashrc]
alias m3='_PWD=$(pwd) mfiler3'
[~/.mfiler3/mfiler3.sa]
if([ -n $(export _PWD) ]) {
mcd -d sdir $(export _PWD)
}
マニュアルにあるmfiler3.rbはどこにある?
geocitiesにあるマニュアルのことなら、それはとても古いもの 今はmfiler3.rbはない 起動後に?を押すか、ダウンロードしたディレクトリとかにあるUSAGE.ja.txtが新しいマニュアルだから こっちを参照したほうがいいよ
936 :
933 :2011/09/24(土) 06:59:38.36 ID:T3bWFJpA
937 :
login:Penguin :2011/09/24(土) 20:51:21.96 ID:aGfoYlzq
svnやgitでないの?
940 :
ab25cq :2011/11/03(木) 01:16:37.64 ID:1xuj+38d
saphire-3.5.9でコンパイルエラーを修正しています。 mfiler3の方はまだ新しいsaphireに対応できていません。 saphire-3.5.1をお使いください
941 :
939 :2011/11/03(木) 01:22:21.93 ID:cGxdovm3
>>940 mfiler3は未対応でしたか、すみません
regex_renameでファイル名から文字列を削除したい場合どうすればよいのでしょうか regex_rename "0" "" とかやるとセグフォで落ちます
943 :
ab25cq :2011/11/10(木) 01:08:52.71 ID:luf3ls4e
>>942 確認します。来週には新しいmfiler3をアップロードできると思うのでお待ちください。
今日、saphire-3.6.0をリリースしましたが、まだmfiler3の方は対応できていません。
mfiler3ではsaphire-3.5.1をお使いください。
更新状況は
http://ab25cq.sakura.ne.jp からリンクがあるブログやらCHANGELOG.txtを確認してください。
944 :
ab25cq :2011/11/16(水) 23:17:17.96 ID:zHhvIrNu
>>942 確認しました。saphireのバージョンの問題です。
subの引数がおかしい場合セグっていたことがありました。
mfiler3には問題はありませんでした。
今日アップロードしたmfiler3-4.4.6とsaphire-3.6.1で解決しているはずです。
>>all
mfiler3-4.4.6とsaphire-3.6.1をアップロードしました。
mfiler3-4.4.6で新しいsaphire-3.6.1に対応しました。
詳しくはCHANGELOG.txtに書いています。
いつもお疲れさまです
saphire 4.4.6ですが、起動時にsegvで落ちます Program received signal SIGSEGV, Segmentation fault. __strlen_ia32 () at ../sysdeps/i386/i586/strlen.S:56 56 cmpb %dh, (%eax) /* is byte NUL? */ Missing separate debuginfos, use: debuginfo-install cmigemo-1.3-0.8.date20110227.fc16.2.i686 libgcc-4.6.2-1.fc16.i686 ncurses-libs-5.9-2.20110716.fc16.i686 oniguruma-5.9.2-2.fc15.i686 readline-6.2-2.fc16.i686 (gdb) bt #0 __strlen_ia32 () at ../sysdeps/i386/i586/strlen.S:56 #1 0x44d0f7eb in __add_to_environ (name=0x804f991 "COMPLETION_ENABLE_MIGEMO", value=0x1 <Address 0x1 out of bounds>, combined=0x0, replace=1) at setenv.c:119 #2 0x44d0fc97 in __setenv (name=0x804f991 "COMPLETION_ENABLE_MIGEMO", value=0x1 <Address 0x1 out of bounds>, replace=1) at setenv.c:308 #3 0x0804d563 in migemo_init () at readline.c:188 #4 0x0804f186 in readline_init (runtime_script=2) at readline.c:1829 #5 0x0804ab8a in main (argc=1, argv=0xbfffefd4) at main.c:369 #3ですが、setenv("COMPLETION_ENABLE_MIGEMO", 1, 1)ではなくて setenv("COMPLETION_ENABLE_MIGEMO", "1", 1)でしょうか (まだ試してませんが)
948 :
ab25cq :2011/11/18(金) 00:56:02.00 ID:U9KKPDp3
saphire-3.6.2, mfiler3-4.4.7リリースです。
>>946 そうでしたか。saphire-3.6.2ではmd5.{c,h}は消しました。使っていなかったので。
混乱させて申し訳ないです。将来使うかもしれないので使う場合はそのようにします。
>>947 確認しました。saphire-3.6.2で修正しています。
--with-migemoを試していなかったorz
mfiler3-4.4.7の方はバグフィックスをしています。まだあるかもしれませんが
とりあえず、致命的なバグ以外は当分アップロードしません。
立て続けのリリース申し訳ないです。
949 :
947 :2011/11/21(月) 13:50:35.37 ID:zMQ5qNv3
>>948 saphire 3.6.2で動くことを確認しました。
有り難うございます。
950 :
ab25cq :2011/12/01(木) 14:35:42.43 ID:Qa5ioEyo
saphire-3.6.3, mfiler3-4.4.8をリリースしています。どちらも最新版が必要です。(saphire-3.6.2でmfiler3-4.4.8は動かない) 大きな変更点があります。 ブロックの記号が{ }から( )となっています。つまり > def fun ( puts aaa ) > fun aaa です。そのかわりブレース展開が入っています。 > puts a{b,c}d abd acd あとはリファレンスの記号も変わっています。$が`となっています。 > ls | ary -new | ref x > ary `x output of ls そのかわりexport, var, globalの変数は$変数名でアクセスできます。 > pwd | global a > puts $a output of pwd 二つ大きな仕様を変更してしまい、申し訳ないです。 もう一つ、細かいですが、出力に-lで改行を付け足すコマンドで-lから-Lとなっています。 > pwd | global a > global -L a output of pwd そのかわり、ary, hashの一つの要素にアクセスする場合に-Lが有効になっています。(-l ローカル変数とバッティングしていた)ほんと申し訳ないです。 あとはSharp Netwalkerに対応しています。charにsignedを付けるのを忘れていたせいで動きませんでした。いまさらですが、良かったら、試してみてください。
いいよいいよー!
いつもお疲れさまです. saphire の見た目がますます Lisp みたいになっていく.
saphire-3.6.3とmfiler3-4.4.8でsaphireは動くのですが、 mfiler3は下のように表示されて起動できないです。 0 Segmentation fault configureのオプションはないです /homeの.mfiler3と.saphireを消してからでも同様です
954 :
ab25cq :2011/12/04(日) 22:09:53.81 ID:BXKURB5W
すみませんが、こちらでは再現しません。 ldd mfiler3として正しいsaphireがリンクされるかどうか調べてみてください。 おかしいなら前のバージョンのsaphireを消してみてください。/usr/localにあるか、--prefixで指定した所にあります。 あとは多分設定ファイルで落ちていると思われるので、saphire.sao, mfiler3.saoを消してみてください。 (ソースファイル中の) 再度makeすると動くかもしれません。 0が出ているということはsaphireのソースの実行中で落ちていると思います。
mfiler3.saの書き方が変わったんだね 久々にアップデートしたら、カスタマイズしたキーが効かなくて焦った
956 :
ab25cq :2011/12/12(月) 22:44:05.59 ID:4TPX49DC
申し訳ないです。 {,}を(,)に変換してもらえれば、いけるはずです。 $(var a)は$aでもアクセスできるようになっただけで、$(var a)のままでも大丈夫です
957 :
ab25cq :2011/12/14(水) 13:55:54.64 ID:BlJflLX9
リリースです。 致命的なバグが一つ見つかってます。6番です。 1. global, varで-LaにしたのにLF, CR, CRLFなどの改行コードが削られてしまうバグを修正 2. saphire_pareserのsnprintfでバッファー漏れがありました。 3. $での変数展開に不備がありました。 4. ヘアドキュメント中の変数展開で不備がありました。 5. 条件式が > print main.c | if(| -e) ( puts yes ) else ( puts no ) yes > print main.c | if(| -re .....) ( puts yes ) else ( puts no ) yes > print main.c | if(| = main.c) ( puts yes ) else ( puts no ) yes > if(-e main.c) ( puts yes) else (puts no) yes と書ける様になってます 6. !によるリターンコードの反転をコンパイル時に保存しないバグを修正 mfiler3には影響ありません。 内部コマンドが追加されたので全てのsaphireソースを再コンパイルする必要があります。 FreeBSD 7.1-RELEASE-p16で確認。 netwalker で確認。 Cent OS 5.7で確認。 OSX 10.6で確認 5番の条件式の内部コマンド追加がいい感じです。perlみたいです。 > if(-e main.c) (puts yes) else ( puts no ) > ls | each ( if(|chomp | -d) ( | print ) ) ) ディレクトリのみ出力
新年初リリース乙
mfiler3.saを眺めていてちょっと気になったんですが、下記のようにするとシンプルになると思います。 問題がなければ次の更新時にでも反映していただけると嬉しいです。 keycommand2 $(export key_r) ( cursor | extname | length | chomp | + 1 | var m cmdline -q "mrename -c -r $(cursor) $(cursor)" -$m )
960 :
login:Penguin :2012/03/11(日) 17:33:53.82 ID:uWgd8TKx
プログラミングRubyのRubyベタボメっぷりにRubyを使い始めて早10数年、使えば使う程にRubyって駄目だなと痛感する Rubyを学習し始めた頃は誰でもRubyは素晴しいと思うのだが、数年も使えばそのどうしようもない互換性のなさにウンザリする しかも互換性が無くなることをマズいと思っていない集団がRubyを制作しているのでどうしようもない 1.4時代のコードが1.6になった途端に互換性がなくなり動かなくなることはあったが、1.6→1.8ではそれが顕著になり、1.9など何のエラーも出さずに前のコードが動く方が珍しいほど それどころか1.9に行かずREEが海外ではデファクトになりつつある現状、そして始まるPlain RubyとREEの方言問題 例えばPassengerもREEの方がうまく動いたり、かと思えば特定のバージョンだとPlainじゃないとまともに動かなかったりと、とても面倒臭い 美しいコードを求める為の副作用、という名の互換性のなさはRuby界全体に蔓延していて 例えばあれだけもてはやされたRailsも、Rails2とRails3の互換性のなさに誰しも苦労したのは記憶に新しいところ 誰もが互換性のなさに辟易し、俺ライブラリを量産するため、gemで探すと似たような事をする終わったプロジェクトがわんさか引っかかる 諸処の小さなプロジェクトだけがそんな現状ならば許せるが、dbiアダプタでさえそんな現状なので バージョンが変わるとデータベースにすら接続できなくなったとか、dbiのAPIバージョン変わったのにアダプタ側の更新ないな、 とか思ってるとアダプタ作者がRubyから足洗ってたとか余裕 身内同士でRubyはコードが美しいと四六時中自画自賛しているが、実はそれこそがRubyのガン その美しいコードという名のオナニーの為に一体どれだけの互換性と人的リソースが失われていったことか Rubyのコードは美しい、Railsスゲー、ベタボメする人は沢山いたがいつも一過性の人気しか得られないのはそこにあるし ベタボメしていた人達もしばらくするとウンザリしてRuby界から消えてしまうのも原因は実はそこにある 達人プログラマーはRubyをベタボメしなくなったし、Mongrel作者はRailsどころかRubyに見切りをつけちゃったしね ああいう熱狂的なRuby信者でもRubyから足を洗っているのを見ると、tDiaryがRubyに見切りつけてPythonで全部書き直したとか言われても驚かないだろう自分がいる
やっぱりコピペだった
$ wine SCMPX.exe -e -s $(cursor) $(cursor_name).mp3 上記みたいなことをやりたかったのでcursor_nameと付随してcursor_extを作ってみました。 某超低機能2画面ファイラから乗り換えるときにあると便利かも知れません。 ### mfiler3.sa 共通のユーザーコマンド ### def cursor_ext ( file_ext $(cursor_num) ) def cursor_name ( if(print $(cursor_ext) | length | [ -gt 0 ]) ( print $(cursor_ext) | length | + 1 | var extlen print $(cursor) | del $extlen ) else ( print $(cursor) ) )
mfiler4来るか?
これってwin系でも使える?
965 :
login:Penguin :2012/06/07(木) 01:39:32.77 ID:TpDkEEUl
mfiler3-4.4.9しか試してないですがconfigureするとき--with-saphire-dirは効きますか? /usr/local/includeを読みに行って失敗するみたいなんですが
966 :
ab25cq :2012/06/28(木) 23:19:47.15 ID:1DHY2i5I
了解です。問題が起こるか未確認ですが、問題があるようなら修正しておきます。 ただ、次のmfiler3のバージョンはだいぶ先になります。 もし、問題があるなら./configureのあとにvim Makefileして CFLAGSに たとえばsaphireのヘッダーが/home/ab25cq/include/saphireにあって ライブラリが/home/ab25cq/libにあれば -L /home/ab25cq/lib -I /home/ab25cq/include を追加すれば動きます。 詳しくはmakeやgccのオプションを学んでください。
続「ぼくのかんがえたかっこいいmfiler3」のためのカスタマイズ。 >906 def extract ( print $(ary ARGV) | each ( | var file print $(file_nam $file) | var name if (print $file | index -q .bz2) ( external "mkdir $sdir$name; tar xjvf $file -C $sdir$name" ) elif (print $file | index -q .tar.gz) ( external "mkdir $sdir$name; tar xzvf $file -C $sdir$name" ) elif (print $file | index -q .gz) ( external "gzip -d $file" ) elif (print $file | index -q .tar) ( external "mkdir $sdir$name; tar xvf $file -C $sdir$name" ) elif (print $file | index -q .tgz) ( external "mkdir $sdir$name; tar xzvf $file -C $sdir$name" ) elif (print $file | index -q .jar) ( external "unzip $file -d $sdir$name" ) elif (print $file | index -q .xpi) ( external "unzip $file -d $sdir$name" ) elif (print $file | index -q .zip) ( external "unzip $file -d $sdir$name" ) elif (print $file | index -q .cab) ( external "7z x $file -o$sdir$name" ) elif (print $file | index -q .7z) ( external "7z x $file -o$sdir$name" ) ) reread -d all ) keycommand2 $(export key_u) -f .mark ( if(print $VIEW_OPTION | [ = 2pain ]) ( path -d sdir | global sdir ) ?nbsp;extract $(markfiles) if(export VIEW_OPTION | [ = 2pain ]) ( sweep sdir ) ) keycommand2 $(export key_U) -f .mark ( extract $(markfiles) )
def file_nam ( file_ext $(file_index $(ary ARGV 0)) | length | var extlen if(print $extlen | [ -gt 0 ]) ( print $extlen | + 1 | var extlen print $(ary ARGV 0) | del $extlen ) else ( print $(ary ARGV 0) ) ) #### ファイル名変更 #### keycommand2 $(export key_r) ( print $(cursor_ext) | if ( | -z) ( print 2 | var extlen ) else ( print $(cursor_ext) | length | chomp | + 3 | var extlen ) cmdline -q "mrename -c -r '$$(cursor)' '$$(cursor)'" -$extlen ) ## 終了するとき def atexit_hook ( inherit @@(ary ARGV) [ $MF3HOME/mfiler3.sa -nt $MF3HOME/mfiler3.sao ] && compile $MF3HOME/mfiler3.sa ) 以上。 抽出対象拡張子が増えるたびに何箇所も書き加えるのが面倒なので外部に関数をおくことにした。 リネームは文字のエスケープが面倒なことがあるのでクォートすることにした。 終了時にmfiler3.saとmfiler3.saoを比べて前者の方が新しければコンパイルする。 次は以前からいつかやろうと考えていた圧縮用メニューにとりかかろうかと思案中。tgzとzipとbz2くらいは選べるようにしたい。ただ、メニュー作成にはなんか謎の苦手意識が……。
うわっ、何かおかしい。 >967の一部を以下のように訂正します。 keycommand2 $(export key_u) -f .mark ( if($VIEW_OPTION | [ = 2pain ]) ( path -d sdir | global sdir ) extract $(markfiles) if($VIEW_OPTION | [ = 2pain ]) ( sweep sdir ) )
mfilerの配布ページがきえてる…… 作者さんのブログも過去ログきえてる……
>970 SF.jpの方は消えていないので作者さんがサーバ料金を振込し忘れたとエスパーしてみる。 >969の続き def target_path ( if (export VIEW_OPTION | = 2pain) ( path -d sdir ) else ( path ) ) def refresh ( mark -a 0; reread -d all ) #### ユーザ定義メニュー #### defmenu archive '(Z)IP' $key_z 'external "zip -r $TARGETDIR$(cursor_name) @@(markfiles)"; refresh' '(T)AR' $key_t 'external "tar -czvf $TARGETDIR$(cursor_name).tgz @@(markfiles)"; refresh' #### 圧縮 #### keycommand2 $key_p -f .mark ( target_path | export TARGETDIR; mmenu archive; sweep TARGETDIR ) keycommand2 $key_p ( mark -f -n $(cursor_num) 1 ) keycommand2 $key_P -f .mark ( mmenu archive ) keycommand2 $key_P ( mark -f -n $(cursor_num) 1 ) とりあえずこんな感じで。今のところ不満はない。
作者たん飽きちゃったんじゃないだろうな だれかフォークしてEmfiler3をををを
あふforLinux候補が逝ったか
Twitterのアカウントあったと思うけど消えてるよね? HPもブログも故意に消したんじゃないか xyzshっての作ってるっぽいから、ある程度開発したらmfilerで動くようにするんじゃ
975 :
login:Penguin :2012/09/11(火) 00:31:03.90 ID:Qs4F/blc
mfiler3、Mountain Lionでとても重宝してます。 これからも使うよ……!
まあ、今のバージョンでも十分以上に戦えるからな 開発再開を何年でも待つさぁ
書き込みが途絶える的な意味で981より前に次スレを立てておいた方がいいと思うんだけどどうかな?
いったんスレ落としといて 何か動きがあったらまた立ててもいいかも。
xyzsh は mfiler3 で使えるようになるのかな
中身はほとんど一緒らしいから,対応されるんじゃなかろうか
作者さん復活してるっぽい。よかった……っ……
さて、981を超えちゃったけど>978の方針でいいんだっけ? 登録ディレクトリが10個では足りないから無理矢理A-Zまでを追加しているんだけど内部を弄ったわけじゃないから頭文字ジャンプ(っていうの?)ができません。 これをなんとかしている人いませんか? 1レスに収まるくらいのdiffなら投げてもらえればがんばって手元のソースを弄ります。
特に反対ないし、いいんじゃね。