Lange habe ich GNOMEDo genutzt nur um Programme zu starten. Auch Kupfer und Launchy habe ich ausprobiert. Was mir an allen Programmen nicht gefällt: Für die Aufgabe, für die ich sie brauche (zum Starten von Programmen) sind sie viel zu groß, zu überladen und sie laufen die ganze Zeit im Hintergrund und brauchen RAM. Durch uzbl habe ich dmenu
kennen gelernt. Ein Programm, mit dem man leicht eine Liste von Worten als Menü anzeigen kann. Der Benutzer kann nun das gesuchte Wort eingeben und dmenu
schließt automatisch beim Tippen alle unpassenden Wörter aus (dabei wird nicht nur der Wortanfang kontrolliert sondern ob irgendein Teil des Wortes matched). Mit
Ich habe nun noch ein kleines Script – dmenuLauncher.pl
– geschrieben, das die Programme nach Häufigkeit ihrer Aufrufe sortiert, damit die am häufigsten genutzten Programmen immer zuerst gewählt werden, wenn es eine Mehrdeutigkeit gibt.
Features:
- Kleines Perl-Script, dass nur bei Bedarf gestartet wird und sonst weder Prozessorzeit noch RAM benötigt
- Kann in den meisten Fenstermanagern über Tastenkombination gestartet werden
- Programmen können beim Aufruf Argumente übergeben werden
- Sortiert Programme nach Nutzungshäufigkeit
- Horizontale oder vertikale Anzeige der Programmliste
- Programme im Terminal öffnen
- Optimierung der Programmliste (löschen aller Programme mit geringer Aufrufsanzahl aus der Liste)
- Einfaches hinzufügen von Programmen, die nicht in der Liste sind
Das Script habe ich auf gitHub online gestellt. Das Programm dmenu
kann unter Ubuntu über das Paket dwm-tools
installiert werden. Also mit dem Befehl sudo apt-get install dwm-tools
.
Die Datei dmenuLauncher.pl
hat im oberen Teil einen Konfigurationsbereich. Ich habe auf eine externe Konfigurationsdatei verzichtet um diese nicht jedes Mal laden zu müssen.
Zuerst wird der Pfad zur path-Datei (in der die Liste der Programme mit ihrer jeweiligen Aufrufanzahl gespeichert wird) in der Variablen PATHFILE
angegeben.
dmenu
kann die Programme im Menü nebeneinander oder untereinander angezeigen. Dafür kann man dmenuLauncher.pl
entweder mit der Option -h
für horizontal (also nebeneinander) oder -v
für vertical (also untereinander) aufrufen.
Den Standardmodus, der genutzt wird, wenn nichts angegeben wurde kann man über die Variable MODE
steuern. Sie wird entweder auf horizontal
oder vertical
gesetzt.
Die Konfigurationsvariable NUMBER_OF_LINES
gibt die Anzahl von anzuzeigenden Zeilen im vertical
-Modus an.
In der Variablen TERMINAL
wird der Befehl für den Terminalaufruf gespeichert. Der Platzhalter %COMMAND%
wird durch das aufzurufende Kommando (mit Argumenten) ersetzt.
Nun kann durch den Aufruf dmenuLauncher.pl -u
die path-Datei generiert werden. Nach dem Installieren oder Löschen von Programmen kann die Datei so auch aktualisiert werden.
Nachdem man dmenuLauncher.pl
konfiguriert und die path-Datei (mit der Option -u
) generiert hat, kann man eine Tastenkombination dafür einrichten. Bei GNOME unter System -> Einstellungen -> Tastenkombinationen auf den Button “Hinzufügen” klicken, als Namen “dmenuLauncher” und als Befehl den Pfad zur Perldatei (dmenuLauncher.pl
) angeben. Nun gibt es in der Liste ganz unten einen neuen Eintrag. Klickt man auf das Feld “Tastenkombination”, so kann man die gewünschte Tastenkombination drücken (ich habe SHIFT+
Nach dem Starten des Programms (also drücken der zugeordneten Tastenkombination oder per Terminal) öffnet sich nun das Menü und zeigt die Programmliste an. Nun fängt man an, den gewünschten Befehl einzutippen bis er markiert ist. Man kann auch die Pfeiltasten benutzen. Mit der Eingabetaste wird das gewählte Programm ausgeführt und dmenuLauncher
geschlossen.
Drückt man nicht direkt die Eingabetaste sondern
Ob mit ohne ohne Argumente: Durch ein abschließendes Semikolon wird der Befehl im Terminal ausgeführt.
Ein paar Beispiele:
firef
öffnet Firefoxfiref
öffnet firefox und geht auf die Seite “http://zinformatik.de”http://zinformatik.de top;
öffnettop
in einem Terminalls -lh ~;
zeigt das Ergebnis vonls -lh ~
in einem Terminal an.
Da die ganze Liste von Programmen sehr groß ist, man jedoch meist nur einen sehr kleinen Teil nutzt gibt es die Möglichkeit die Liste der Programme zu optimieren. Durch den Aufruf von dmenuLauncher.pl -o
werden alle Programme aus der Liste entfernt, die noch nie genutzt wurden. Ein weiteres Argument gibt die Anzahl der Aufrufe an, die ein Programm mindestens haben sollte. So werden durch dmenuLauncher.pl -o 3
alle Programm aus der Liste entfernt die weniger als 3 mal aufgerufen wurden.
Möchte man nach der Optimierung ein Programm aufrufen, das sich nicht mehr in der Liste befindet, so kann man es einfach komplett eingeben. Auch wenn es dann keine Auswahl gibt, wird das Programm ausgeführt und mit der Aufrufsanzahl 1 in die Liste gespeichert.
Um ein neues Programm in die Liste aufzunehmen braucht man es also nur einmal eingeben.
Mit dmenuLauncher
habe ich also ein sehr kleines Programm, welches nur kurz läuft um mir die Auswahl eines Programms zu ermöglichen und danach sofort wieder beendet wird. Das Laden ist auch auf älteren Systemen kaum zu spüren, weil keine Bibliotheken geladen werden. Das bedeutet ich kann jedes häufiger genutzte Programm mit 3-4 Tastendrücken ohne irgendeine Verzögerung starten.