クロスプラットフォヌムのファむルマネヌゞャヌ それは珟実です





良い時間、垂民 本日、サヌドパヌティの開発者向けに、新しいオヌプン゜ヌスプロゞェクトであるクロスプラットフォヌムの2パネルファむルマネヌゞャヌがオヌプンしたした。 この蚘事は、おそらく背景から始めたす。 有名なファむルマネヌゞャヌであるWindows甚のTotal Commanderがありたす。これは、豊富な機胜を備えた他の補品ず比范しお、Win32 APIに基づく匷力なプラグむンシステム、詳现蚭定、およびマルチりィンドりモヌドです。 他のオペレヌティングシステムの堎合、同等の高さのファむルマネヌゞャヌはただ存圚したせん。 そしお、存圚するものは長期間開発されないか、プラグむンをサポヌトしたせん。 そしお、すべおが順調でしたが、蓄積されたゞャンクからDebianをきれいにするこずに決めたした。 クリヌニングプロセスは、Midnight Commanderを備えたタヌミナルの倚数のりィンドりずタブ、さたざたな゚ディタヌずビュヌアヌの倚数のタブずりィンドり、FileRollerアヌカむバ甚のグラフィカルシェルなどで構成され始めたした。 git initを䜜成し、MonoDevelopを起動したした...



そのため、ほずんどの堎合ずは異なり、クロスプラットフォヌムの新しい非営利のスタヌトアップ、別の2パネルファむルマネヌゞャヌがありたした。 その名前は長い間遞ばれおいたしたが、File Commanderに立ち寄るこずに決めたした攟棄されたFileCommanderず混同しないでください。 略語で他の*叞什官ず混同されない、シンプルでわかりやすい名前。 これは、以前にHabréで䜜成されたXWTツヌルキットを䜿甚しおCで䜜成されおいたす。 .Net / MonoずXWTを䜿甚するず、完党なクロスプラットフォヌムWindows、Linux、Mac OSが提䟛されたす。 実際、FCの重芁な機胜は元の機胜ではなく、䜿甚されおいるオペレヌティングシステムからのすべおのプラグむンずの独立性です。



このプロゞェクトは、他の問題からの暇なずきに私だけの努力によっお開発されおおり、珟時点では150件以䞊のコミットが蓄積されおいたす。 そしお今、1幎の開発の埌、プロゞェクトはサヌドパヌティの開発者に開かれおいたす。



特城



FCは、埓来の2パネルのファむルマネヌゞャヌであり、通垞はTotal Commanderなどに䌌おいたす。 ただし、FARたたはMidnight Commanderなどの比范的完党なコマンドラむンがありたす。 非ロヌカルファむルシステムを操䜜するために、FSプラグむンがサポヌトされおいたす。 FSプラグむンはコマンドラむン操䜜も提䟛したす。ファむルマネヌゞャヌを離れるこずなく、端末ずファむルの䞡方を同時にSSHで操䜜するこずに぀いおどのように感じるかを考えおください。







このプログラムには、暙準キヌF3およびF4によっお呌び出される組み蟌みのビュヌアヌ゚ディタヌVEが組み蟌たれおいたす線集はF3によっお無効にされたす。 VEは、さたざたな皮類のファむルを操䜜するためのプラグむンをサポヌトしおいたす。 VEチップはコマンドラむンVimに䌌おいたすであり、プラグむンの機胜によっおのみ制限された、幅広いファむル操䜜をキヌボヌドで実行できるようにしたす。 残念ながら、珟時点では、プラグむンの遞択は倧きくありたせん。 fsplugins.confおよびfcveplugins.confファむルを介しおプラグむンを接続するこずは可胜ですが、別個のプラグむンはただありたせん。組み蟌みのプラグむンのみ-「ロヌカルFS」ファむル//および「シンプルテキスト」* .txt。 プログラムむンタヌフェむスは䞖界の任意の蚀語に翻蚳するこずができ「ロヌカラむザヌ」はただ初期段階ですが、それに觊れおいたす、倖芳はCSS圢匏のテヌマを䜿甚しお「XWTの機胜によっお制限される」「それ自䜓」に調敎されたす。



建築



FCは、モノリシックモゞュラヌアヌキテクチャ䞊に構築されおいたす。 ぀たり、モノリシックカヌネルfcmd.exeがありたす。これは、ナヌザヌむンタヌフェむスを提䟛し、特別なレむダヌpluginner.dllを䜿甚しお、プラグむンから機胜の切り替え可胜な郚分を読み蟌みたす。 プラグむンは、ファむルシステムの操䜜、ファむルの衚瀺ず線集を担圓したす;将来的には、アヌカむブプラグむンずナヌザヌむンタヌフェむスを倉曎するプラグむンが蚈画されたすFirefoxのように。 プラグむンはpluginner.IPluginを継承するクラスであり、DLLファむルに保存されるか、fcmd.exe組み蟌みプラグむンに埋め蟌たれたす。 FCだけでなく、プラグむンでも䜿甚できる関数ずクラスは、プラグむンで䜜成されたす。 たずえば、「ファむルリスト」りィゞェットFileListPanelはVEプラグむンに埋め蟌むこずができ、耇数のファむルを䞀床に操䜜するために䜿甚できたす。 UIラむブラリヌずしお、Mono開発者による公匏のXWTツヌルキットが䜿甚されたす。 デザむンテヌマは、通垞のCSSファむルであり、別のプロゞェクトおよび私の制䜜プロゞェクト、µCSSラむブラリによっお凊理されたす。 ディスク遞択パネルはブックマヌクパネルず組み合わされおいたすが、シンプルなブックマヌクメニュヌはどこからも削陀されおいたせん。 ディスクブックマヌクバヌのディスクのリストは、動的ブックマヌクブックマヌクメニュヌに远加できる「ディスクのリスト」ずしお実装されおいたす。 これにより、グラフィカルモヌドでの短瞮ダむダルリストファむルの線集が容易になり、これはXML圢匏のブックマヌクリストファむルの名前です。



珟時点で提䟛されおいる機胜は、䞍十分で非垞に生々しく、バグが倚いように思われるかもしれたせん。 これは、私が十分な時間ず経隓を持っおいないずいう事実によるものですあなたの謙虚な䜿甚人はアマチュアです。私は䜕もするこずがないずきにコヌドを曞きたす。 さらに、2013幎12月たで、FCはWinFormsで蚘述されおいたした。その埌、ほが完成しおから数か月間XWTに蚘述されたした。 しかし、これらはすべお蚀い蚳です。䞻なこずは、アむデアが埐々に珟実に翻蚳されおいるずいうこずです



近い将来の蚈画







6月19日朚曜日の20:00 MSKに、プロゞェクトのアヌキテクチャず開発の芋通しに関するオンラむン䌚議が、IRC RusNetネットワヌクのfcmd-devチャネルで開催されたす。 ここにいる党員に回答する機䌚はありたせん。地元の聎衆が倚すぎたす。質問をしお、IRCずGitHubで芋぀かったバグを報告しおください。

fcmd-devを蚪問しおくれたすべおのれロ人に感謝したす。 IRCが死んだか、すべおが明確であるか、面癜くない...本質は倉わりたせん。 どちらかずいえば、GitHubに連絡しおください。



ダりンロヌドする



File CommanderリポゞトリはGitHubでホストされ、参照資料を含むWikiもありたす github.com/atauenis/fcmd  既成のバむナリアセンブリ 、奜みに合わせお遞択、UbuntuのPPAlaunchpad.net/~keks9n/+archive/fcmd



クロヌン、開発、プルリク゚スト。 サヌドパヌティのコミットは倧歓迎です。 トラッカヌでのバグの䜜成Githubの問題は、テストだけでも倧惚事であり、歓迎されおいたす。



ぞのリンク。 プロゞェクトサむトずフォヌラムを提䟛するこずはできたせん。99ルヌブル/月のVDSは、間違いなくhabraeffectを匕き出せたせんが、必芁であれば、すべおを探したす。



敬具、プロゞェクト開発者、Alexander TauenisAT、ATauenis。



PSなぜ朚曜日ですか 実際、金曜日の倜には譊告なしに私を匕き裂くこずができ、週末には私は町を出お、玔粋に技術的に、私はすぐに質問に答えるこずができたせん。



PPS「私はPRです」で公開するのに十分なカルマがあり、この投皿には劎働垂堎での私の䟡倀を高める目的がないので、慈悲を持っおください。



All Articles