IRC-jxp devel

Z JKwiki

Přejít na: navigace, hledání
Poznamky z jednoho pokecu na IRC. Prosím, držte vše na této jedné stránce.

Obsah

Co je cílem?

  • Dvoupanelový filemanager v GTK+
  • Bude se psát v C++
  • Modularita a spousta pluginů s jednotným GUI
  • Snadná lokalizace
  • Přenositelnost: POSIX
  • Spolupráce s podobnými projekty
  • VFS: FUSE ?

Co není cílem?

  • Konzolový souborový manžer (máme mc) ani pro knihovny Qt (máme Krusader)
  • Šmejd

Proč to děláme?

  • Chceme vytvořit dostatečnou (=identickou) náhradu slavného Total Commanderu
  • Chceme mít kvalitní file manager pro GTK
  • Chceme usnadnit přechod uživatelů Windows na Linux
  • Jako poctu JXP (ví někdo za co?)

Team

  • anicka <anicka@anicka.net> - libovolné programování, leč k organizaci se nehlásím
  • dum8d0g <dum8d0g@gmail.com,jabber.cz> - grafika, dokumentace, bugy
  • diverman <mail ee kvuli robotům> - low-level c/c++
  • slavick <slavick@centrum.cz> - grafika, testovani, dokumentace
  • plastique <vlastimil@e-ott.info> - dokumentace, web
  • sewi <sewi2go@gmail.com> - trochu c/c++, GTK+ a web
  • muffy <cyphr0@gmail.com> - testing, psychologie, neoficialni deb balicky
  • filbar <filbar@linpro.cz> - tester, neoficiální rpm balíčky
  • martink <martin_kohler@seznam.cz> - tester, web
  • jardasmid <jadrdasmid@{seznam.cz,jabber.cz}> - c++, gtkmm, gtk+
  • mkoubik <koubik@centrum.cz> - C, GTK+, Python a testing

Komunikace

Architektura programu

.-----------------.
|                 |           .-------------------.
|     Jádro       |<=========>|   GUI             |
|                 |           `-------------------'
|.................|
|                 |           .-------------------.
|   Modul  API    |<=========>| Dir. Ls. Modul    |
|                 |           `-------------------'
|                 |           .-------------------.
|                 |<=========>| Copy Modul        |
|                 |           `-------------------'
|                 |                  .
|                 |                  .
|                 |                  .
|                 |           .-------------------.
|                 |<=========>| Jiny Modul        |
|                 |           `-------------------'
|                 |
|                 |           .-------------------.     .-----------------.
|                 |           |                   |<===>| Modul v Perlu   |
|                 |<=========>| Perl API Modul    |     `-----------------'
|                 |           |                   |     .-----------------.
|                 |           |                   |<===>| Modul v Perlu   |
|                 |           `-------------------'     `-----------------'
|                 |           .-------------------.     .-----------------.
|                 |           |                   |<===>| Modul v Pythonu |
|                 |<=========>| Python API Modul  |     `-----------------'
|                 |           |                   |     .-----------------.
|                 |           |                   |<===>| Modul v Pythonu |
|                 |           `-------------------'     `-----------------'
|                 |           .-------------------.     .-----------------.
|                 |           |                   |<===>| Modul v Xyz     |
|                 |<=========>| Xyz API Modul     |     `-----------------'
|                 |           |                   |     .-----------------.
|                 |           |                   |<===>| Modul v Xyz     |
|                 |           `-------------------'     `-----------------'
|                 |
`-----------------'
  • Jádro neumí nic, jen zobrazit gui a načíst pluginy podle konfigurace.
  • Moduly jsou psané ve stejném jazyce jako jádro (bezpodmínečně).
  • Modul může být jen API pri další moduly v jiném jazyce.
  • Moduly nemají vlastní GUI – používají jen schopnosti jádra, což zahrnuje i tvorbu GUI pro moduly.
  • Každý modul si zaregistruje callbacky na různé události v jádře.
  • Moduly obsluhují i tak základní věci, jako je načítání adresářů či kopírování souborů. Čistá a jednoduchá struktura programu je cenější než ušetření těch pár řádků programu navíc.
  • Čistá modularita usnadní vývoj a zpřehlední kód – bude jen malé jádro, API pro moduly a hromada malých specializovaných modulů.
  • Moduly budou standardní součástí programu.
  • Je zde možnost, že by některé moduly byly přilinkovány již při kompilaci. To by ovšem snížilo konfigurovatelnost.

Technické detaily

  • Správa zdrojových kódů: SVN + Trac
Osobní nástroje
kategorie