FileManager #
Dieses Projekt ist auf BerliOs
gehostet. Hier, auf dieser Wiki kann man sich über einige zum Projekt bezogene Dinge unterhalten. Die Entwicklung ist Vorzugsweise auf Linux da es sich aber um ein Java basiertes Projekt handelt, sollte es in den Grundzügen überall laufen.
Das Projekt wird später in den Desktop integriert, der dabei entstehende C Code ist nicht protierbar, auf andere Systeme als Vorgesehen.
Kurz zum Projekt #
Mir schwebt es vor ein Programm zu schreiben, dass den mc, nautilus, Xfce-Dateibrowsxer und Windows-Explorer vereint. Alle haben toole Funktionen und auch eine gute Integration in den Desktop. Diese Projekt versucht ersteinmal einen einfachen Dateibrowser zu ersetzen und eine brauchbare Schnittstelle für die jeweiligen Desktops zu bieten. In einem zweiten Schritt wird die Integration in den Desktop versucht. Das Projekt soll weiter zumindest folgenndes können.
- GUI Anzeige
- Anzeige vollständig über XML änderbar
- Aktionen können auch selber definiert werden und den Menüs angefügt werden.
- Konfigurationsdialoge, die einfache Dinge tuen sollen aus Konfigurationen (XML) erstellt bzw. definiert werden können
- Consolen Anzeige
- Rein(e) Tastaturbedinung
- Mount von Virtuellen Dateisystemen
- Unter Linux: mount unterstüzen
- Unter Windows: net use unterstüzen
Bibliotheken #
| Name | Bemerkung |
|---|---|
inotify | Ermöglicht den Zugriff auf mehr Dateiattribute. |
fuse | Nutzen von FUSE |
VFS | Verschiedene Dateisysteme |
Menu #
Die meisten GUI-Anwendungen haben ein Menu, hier soll eine Grobe stüze sein, was zumindes bedacht werden sollte. Eine Mögliche aufteilung (standard) ist unten zu sehen.
Datei #
| Neuer Tab (Reiter) | Ein neues Tab anlegen |
|---|---|
| Neues Fenster | Ein neues Fenster öffnen |
| Öffnen --> | Vorschläge zum wählen des Programmes das für das Öffnen der markierten Datei verwendet werden soll. |
| Ordner anlegen | Ordner anlegen |
| Datei anlegen | Datei anlegen |
| Verknüpfung anlegen | Linux ln oder in Windows eine Datei (NTFS kann auch sym-links) |
| Mit Server/Service verbinden | VFS auf ein anderes Ziel einstellen oder mit einem Service verbinden (Jabber Bot) |
| Datei Eigenschaften | Eigenschaften der markierten Datei |
| Müll anzeigen/leeren | Dateien die als gelöscht markiert sind Löschen |
| Alle Fenster/Anzeigen schließen | Alle Kinder (Fenster) schließen. (Wenn Aufrufer selbs Kind ist wird er zum Elternelement) |
| Einstellungen | Konfiguration des Programmes |
| Beenden | Anwendung beenden |
Bearbeiten #
| Ausschneiden | Eine Datei zum bewegen markieren |
|---|---|
| Kopieren | Eine Datei zum duplizieren markieren |
| Einfügen | Eine markierte Datei verschieben/kopieren. |
| Alles auswählen | Dateien in der Ansicht markieren |
| Nach Muster auswählen | Dateien in der Ansicht, die auf die Regel passen, markieren |
| Auswahl umkehren | Datei markierung invertieren |
| Duplizieren | Aktion Kopieren und Einfügen |
| Umbenennen | Eine Datei mit neuem Namen versehen |
| Zum löschen markierern | Nur markieren und nicht bewegen (FS kann RO-Mouted sein) |
| Direkt löschen | Lösche eine Datei aus dem System (FS muss schreibbar sein) |
| Senden an | Datei versenden Via Mail, an Programm (STDOUT) oder Server |
| Sync | Dateien abgleichen |
| Verschlüsseln | Datei verschlüsseln mit AES, ... (GPG). |
| Signieren | Datei signieren mit PGP |
| Archiv anlegen | Markierte Dateien zu einem Zip, Jar, Tar, 7zip, ... zusammenstellen |
Ansicht #
| Symbolleisten --> | Alle möglichen Symbolleisten | |
| Vollbild | Keine Popupmeldungen mehr | |
| Dateiansicht --> | Baum, Liste, Normal, ... | |
| Verborgene Datein | Anzeigen? | |
| Geschützte Datein | Anzeigen? | |
| Anordnung --> | Sortiertung, Willkür, Datum, ... | |
| Icons --> | Vergrössern, Verkleinern, normal | |
| Lesezeichen (Gehe zu) | ||
| Ebene auf | ||
| Zurück in der History | ||
| Vor in der History | ||
| Verlauf leeren | ||
| Eintrag einfügen | ||
| Einträge verwalten | ||
| Home | ||
| root | ||
| Metaansicht | gefundene Server | |
| ... | ||
| Hilfe | ||
| About |
GUI Konfiguration #
Die GUI soll komplett durch eine XML Datei erstellt werden. So dass jeder die Möglichkeit hat die GUI nach seinen Anforderungen anzupassen. Ähnlich wie bei Firefox und Co. Soll jeder seine Anzeige selber in die Hand nehmen können. Dazu kommt, das einbinden von fremden Programmen - Programm Pipe wird integriert -, das ändern der Anzeige nicht nur wegblenden der Eintäge sonder auch das Verschieben dieser in den Kategorien.
Als Beispiel ansatz soll diese XML dienen.
<config>
<menu>
<name>Datei</name>
<elements>
<element visible="true|false" pipe="true|false" toolbar="true|false">
<name>Öffnen</name>
<item icon="open.png" action="Menu.Event.OPEN" toolbar="true|false" visible="true|false" name="Öffnen"/>
<item icon="openas.png" action="Menu.Event.OPEN" toolbar="true|false" visible="true|false" name="Öffnen" />
</element>
</elements>
</menu>
</config>
Das sollte nun einen Eintrag bauen mit zwei untereinträgen. Eventuell hat ein Element auch eine __action__. Dass sollte später über eine DTD geklärt sein.