Hallo liebe Ubunt-Gemeinde,
also ich nutze Linux jetzt schon einige Zeit und bin jetzt bei Xubuntu, gefällt mir am besten. Unity hat mir zuviel optischen Schnickschnack und KDE frisst mir zu viele Ressourcen. Was ich bei Xubuntu aber vermisste: ein top Startmenü. Mit Whiskermenü ist man der Sache schon sehr viel näher gekommen, aber ich möchte da mit einem Projekt gerne ausbauen.
Aus Sicht des Anwenders
Hier mal ein paar Ideen:
Anwendungssuche wie bei Whiskermenü
weiterer Reiter wo die Einstellungen sind, damit man da nicht über den Button wie bei Whisker woander hin wechseln muss (also anderes Fenster).
Dateisuche: hier würde ich auf locate und recoll setzen. Zweiteres leistet mir gute Dienste, sucht auch in fast allen Dateitypen und indiziert diese.
Pakete: Infos zu einem Paket anzeigen (das kann Kupfer, öffnet aber ein eigenes Fenster, das ist unpraktisch, weil danach die alte Eingabe weg ist und man auch keine ähnlichen Pakete sieht).
Fenstermanagement: Reiter mit allen offenen Fenstern (bei Browser ev. auch Tabs).
Favoriten: Wie bei Whisker, soll aber auch Dateien und Ordner enthalten können.
Zugriff auf Notizen (bestehnde durchsuchen, neue erstellen, hier Anwendungen die bereits bestehen nutzen).
Layout:
oben Suchfeld
darunter Kategorien: Programme, Dateien, Fenster, Pakete ...
links Ergebnisse (pro Eintrag Icon + Text)
rechts Optionen und Informationen zu aktuellem Eintrag
Je nach Auswahl (Programm, Datei, Fenster) soll es verschiedene Optionen geben. Programm starten oder auch als sudo starten (bei Systemtools oder hin und wieder Dateimanager wichtig). Dateien soll man öffnen können, nicht nur mit Standardtools. Das fehlt mir z.b. extrem auch bei Unity Dash. Weil wenn ich arbeite, brauche ich hin und wieder nebenbei eine Datei und will die nur im meinem Lieblingstexteditor sehen, habe aber dafür teilweise andere Standardanwendung. Und auch den Ordner der Datei enthält öffnen. Ich finde das braucht man auch öfters. Fenster soll man Minimieren, Vordergrund bringen, Arbeitsfläche verschieben und simples Tiling von zwei Fenstern (z.b.: habe ich oft Datei- und Archivmanager auf einer Arbeitsfläche im Split).
Alles am besten mit Plugins erweiterbar. Also Plugins für weitere Reiter und Plugins die Optionen für ein oder mehreren Typ anbieten.
Das ganze soll vor allem sehr gut über die Tastatur steuerbar sein - nicht nur die Suche auch die Auswahl der Kategorien und Aktionen. Ich bin ein Tastaturmensch, Pfeiltasten zählen für mich auch nicht als optima, da muss man von der Grundstellung weg. Also Kateogiewechsel oder Aktionswahl sollte über kurzes Kommando im Suchfeld mlöglich sein. Normale Mausbedienung soll aber auch dabei sein.
Programmierung
Für Anwendungen und Einstellungen habe ich schon im Code von Whiskermenu gestöbert und im Xfce Settingsmanager. Das scheint über die Lib für Garconmenu zu laufen, wo man unter Angabe der Desktopumgebung dann alle Einträge bekommt. Und im Endeffekt scheinen das lauter *.desktop Dateien zu sein, die man dann in Form von Objekten bekommt und Anzeigen muss.
Für die Dateisuche bietet Recoll eine API per C++ und Python.
Auch kenne ich zb. das Tool Kupfer - es bietet viel was ich möchte, aber Dateisuche ist nicht komfortabel, weil es eben im Normalfall nur den besten Treffer anzeigt. Bzw. wenn man viele Plugins aktivert, weiß man nicht alle Aktionen und dann dauert die Suche. Gilt auch für GNome Do
Jetzt aber die Frage: Das ist mein erstes Projekt speziell für Linux. GUI habe ich bisher mit C# Windows Forms und WPF gemacht, das fällt ja weg. C++ Erfahrung habe ich viele, das ist ja gut. Unter Linux gibt es für GUI ja praktisch GTK+ und QT, wobei GNOME, XFCE dabei GTK+ sind. Also wäre das auch die erste Wahl bei meinem Projekt oder?
Außerdem habe ich gesehen, man kann GTK+ direkt in C++ verwenden, wie bei Whiskermenu oder XFCE Settingsmanager. Das finde ich oft nicht so lesbar. Dann gibt es z.b. als Designer Glade und man verwendet dann die dort designte GUI. Das erinntert mich schon eher an Windows. Nicht das ich jetzt direkt C# mit WPF suche, aber wenn etwas ähnlich ist, fällt mir der Einstieg sicher leichter. Jetzt habe ich aber auch noch gesehen, man kann Python nutzen, das ja viele Möglichkeiten bzgl. vorhandener Funktionalität bietet und damit sogar GTK+ nutzen. Dafür scheint es jedenfalls passende Language Bindings zu geben. Nun viele Möglichkeiten und ehrlich gesagt, bin ich jetzt überfragt, was ich nehmen soll. Viele Kollegen von mir loben ja wiederum QT vor allem für die Bibliotheken für Aufgaben wie Dateien, Netztwerk ...
C++ bin ich ja gewohnt und es wohl auch sehr performant. Allerdings denke ich, Python ist wohl geläufiger, einfacher zu lernen und damit können sich Leute mit Programmierkenntnissen wohl eher etwas anpassen oder Plugin schreiben. Zumindest habe ich das fast ohne Python Kentnisse bei Kupfer geschafft um Recoll dort rudimentär einzubinden.
Außerdem natürlich die Frage: Hat jemand sonst Interesse an dem Projekt? Oder habe ich ein Tool übersehen, dass passend ist für mich? Ich will ja auch das Rad nicht neu erfinden. Oder meint ihr ich soll mich in das Projekt, das mir am nähesten kommt, einlinken und dort weiterarbeiten?
Ich hoffe der Text ist nicht zu lange, aber ich denke so merkt man, dass ich mir doch schon einige Gedanken zu dem Thema gemacht habe.
lg UbuntuInAustria