Unter Windows kann man im Kontextmenü der Taskleiste schnell auf zuletzt verwendete Dateien zugreifen – eine Funktion, die ich oft nutze. Unter GNOME gibt es so etwas leider nicht. Also habe ich mir dieses Feature einfach selbst gebaut – mit Bash und etwas Unterstützung von ChatGPT.
LLMs als Werkzeug beim Coden
Vibe-Coding ist aktuell in aller Munde. Ich war anfangs ziemlich skeptisch – vor allem wegen der bekannten Schwächen von Sprachmodellen: Halluzinationen, begrenzter Kontext, fehlendes echtes Verständnis. Ich dachte mir: Die Intelligenz muss doch immer noch vom Programmierer kommen. Und das sehe ich eigentlich heute immer noch so. Der kreative Prozess, die Architektur und das eigentliche Verstehen – das kann (und soll) die KI einem nicht abnehmen. Trotzdem: Inzwischen schätze ich LLMs als Werkzeug sehr, vor allem beim Umsetzen von Teilaufgaben. Statt mühsam Foren durchzulesen oder Dokumentationen zu wälzen, frage ich gezielt die KI – und bekomme oft schnell eine brauchbare Antwort oder sogar direkt ein Skript.
So auch bei diesem Projekt: Ich habe meine Recherche zuerst mit ChatGPT gemacht, Ideen ausprobiert, Varianten diskutiert – und danach liess ich mir ein Bash-Skript schreiben. Wie üblich musste ich die KI von einigen Dingen überzeugen, aber schlussendlich entstand ein lauffähiges Skript.
Was mein Skript macht
Das Skript überwacht die Datei ~/.local/share/recently-used.xbel
, in der GNOME zuletzt verwendete Dateien speichert. Es liest daraus die aktuellsten 15 Einträge, weist jeder Datei basierend auf ihrem Typ ein passendes Emoji zu (PDF, Bild, Text usw.) und generiert daraus dynamisch eine .desktop
-Datei mit einem eigenen Kontextmenü.
Diese .desktop
-Datei lässt sich im GNOME-Anwendungsmenü oder im Dock verwenden – genau wie jede andere App-Verknüpfung. Beim Rechtsklick auf den Eintrag erscheinen im Kontextmenü die zuletzt verwendeten Dateien – direkt verlinkt und startbereit. So lassen sich häufig genutzte Dateien mit einem Klick öffnen, ohne den Dateimanager zu bemühen.
Das Skript läuft im Hintergrund, überwacht Änderungen an der recently-used.xbel
-Datei und aktualisiert die .desktop
-Datei automatisch bei Bedarf. Auch ein kleines SVG-Icon wird dabei generiert, das visuell zum Menü passt.
Das Projekt findest du auf GitHub:
https://github.com/MrReSc/recent-files-watcher
Installation und Verwendung
Damit das Skript korrekt läuft, sind nur wenige Schritte nötig:
-
Skript speichern und ausführbar machen
Speichere das Skript beispielsweise unter
~/.local/bin/recent-files-watcher.sh
und mache es ausführbar:chmod +x ~/.local/bin/recent-files-watcher.sh
-
Autostart einrichten
Damit das Skript bei jedem Systemstart automatisch ausgeführt wird, kannst du es in dein Profil eintragen. Öffne dazu z. B. deine
~/.bashrc
,~/.bash_profile
oder~/.profile
und füge folgende Zeile hinzu:~/.local/bin/recent-files-watcher.sh &
Disclaimer
Ich habe das Bash-Skript Zeile für Zeile gelesen und verstehe grundsätzlich, was es macht. Trotzdem bin ich nicht bei jedem Detail ganz sicher. Besonders das Debuggen fällt mir schwer, wenn ich den Code nicht komplett selbst geschrieben habe.
Trotzdem finde ich: Dieses Projekt zeigt gut, wie man mit Unterstützung von LLMs wie ChatGPT eigene Ideen umsetzen kann – auch ohne Bash-Expert:in zu sein.
Titelbild: https://pixabay.com/photos/list-surnames-table-personal-data-428312/
Mir gefällt Dein Script (bzw, das Script der KI) gut. Allerdings frage ich mich, ob man es braucht, weil es das schon gibt. Nämlich im Dateimanager. Dort findet man die recent files unter "Zuletzt". Da ich davon ausgehe, dass der Dateimanager ohnehin geöffnet ist, bleibt die Klick-Anzahl gleich. In beiden Fällen sind es zwei Klicks. Vergiss meinen Kommentar, wenn es Dir im Artikel vorrangig um "Vibe coding" ging.
Eigentlich ging es mir genau darum, den Dateimanager nicht öffnen zu müssen. Ich wollte die zuletzt verwendeten Dateien direkt aus dem Dock öffnen können. Dazu muss ich noch sagen, dass ich die Erweiterung "Dock from Dash" verwende und mein Dock immer sofort eingeblendet wird, wenn ich mit der Maus am unteren Bildschirmrand ankomme.
> Ich habe das Bash-Skript Zeile für Zeile gelesen und verstehe grundsätzlich, was es macht. Trotzdem bin ich nicht bei jedem Detail ganz sicher. Besonders das Debuggen fällt mir schwer, wenn ich den Code nicht komplett selbst geschrieben habe.
Da werden uns wohl in den nächsten Jahren einige Überraschungen erwarten von Code, der bei LLMs in Auftrag gegeben und nur teilweise verstanden aber trotzdem verwendet wird.
Das richtet sich nicht gegen deinen Artikel oder dich, es ist im Gegenteil recht interessant zu sehen, wie da vorgegangen wird.
Der Artikel sollte auch auf diese Problematik aufmerksam machen. Danke für deinen Kommentar.