Heim Backend-Entwicklung Python-Tutorial Erstellen eines Desktop-Launchers

Erstellen eines Desktop-Launchers

Dec 07, 2024 am 07:57 AM

Ich verwende QuickSilver immer noch auf meinem Mac, obwohl es mehrere Versuche gibt, es zu ersetzen. Früher gab es eines für Linux namens Gnome Do, die Entwicklung wurde jedoch irgendwann eingestellt. Ich entschied mich für den integrierten Launcher in Gnome Shell und wechselte dann kurz zu rofi mit dieser Konfiguration.

Eine Sache, die mir an Quicksilver sehr gut gefallen hat, ist, dass ich das Ergebnis einer Aktion gewissermaßen an einen anderen Vorgang weiterleiten kann, zum Beispiel:

Building a desktop launcher
„Piping“ in Quicksilver in Aktion

Zum Beispiel kann ich damit beginnen, nach der Datei DSCF8200.jpg zu suchen, dann eine Aktion „Öffnen mit“ auszuwählen und anschließend eine Anwendungsvorschau auszuwählen. Das ist eine Flexibilität, die ich mit rofi und Gnome Shell nicht bekomme.

Außerdem konnte ich Rofi nicht einmal dazu bringen, an einer Wayland-Sitzung teilzunehmen.

Einen Job zu finden scheint immer noch ein langer Prozess zu sein (ja, immer noch #OpenToWork hier), nur um meine Aufmerksamkeit abzulenken, habe ich beschlossen, mit der Arbeit an einem einfachen Launcher zu beginnen, den ich irgendwann verwenden würde. Diesmal würde ich auch die Gelegenheit nutzen, um zu lernen, wie man eine GUI-Anwendung in der Realität erstellt.

Da ich mich mit Python am besten auskenne, beginne ich mit tkinter. Allerdings würde ich klein anfangen und das Experiment mit einem CLI-Befehl starten. Der Aufbau des Kommandos dient als Blaupause für den Werfer.

So hat RapidCopper angefangen (sorry für den einfallslosen Namen).

Und ja, ich bin mir der Tatsache bewusst, dass Tkinter-GUI-Anwendungen derzeit nicht in Wayland funktionieren.

Es befindet sich noch in einem sehr frühen Stadium, ich bin immer noch dabei, Prototypen zu erstellen und die Spezifikationen für den Launcher herauszufinden. Im Moment macht es jedoch die Dinge, die ich möchte.

Die Anwendung erwartet weiterhin ein Setup mit

rc rebuild-index
Nach dem Login kopieren

Dadurch wird die Konfiguration in $HOME/.config/rapidcopper eingerichtet, mit einer SQLite3-Datenbank als Index und einem Ordner für Plugins.

Der Unterbefehl „do“ ist der Teil, in dem er seine Aufgabe erledigt. Ich kann eine Anwendung starten

rc do fire
Nach dem Login kopieren

Und es spuckt eine Liste mit Optionen aus

0 app: /home/jeffrey04/.local/share/applications/userapp-Firefox Developer Edition-EPEGV2.desktop - Custom definition for Firefox Developer Edition
                Firefox Developer Edition
1 app: /home/jeffrey04/.local/share/applications/firefox-developer.desktop - Firefox Aurora with Developer tools
                Firefox Developer Edition
2 app: /home/jeffrey04/.local/share/applications/userapp-Firefox Developer Edition-8CCQV2.desktop - Custom definition for Firefox Developer Edition
                Firefox Developer Edition
Enter choice: :
Nach dem Login kopieren

Geben Sie eine Zahl ein, drücken Sie die Eingabetaste, und die entsprechende Anwendung wird gestartet (über GTK-Launcher, ja, dieses Skript ist nicht portierbar).

Ich wollte die Benutzeroberfläche von Quicksilver ein wenig nachahmen, deshalb habe ich auf das Pipe-Zeichen | aufmerksam gemacht, obwohl es in der Praxis hässlich aussieht.

rc do echo lorem ipsum dolor sit amet "|" clipboard
Nach dem Login kopieren

Der angegebene Text lorem ipsum dolor sit amet wird dann in die Zwischenablage kopiert. Leider musste ich das Pipe-Zeichen in Anführungszeichen setzen, damit es in der Shell nicht als Umleitung behandelt wird.

Ich bin immer noch dabei, die UX und die Spezifikation herauszufinden, aber im Moment hat es die Hauptaufgabe erfüllt, bei der ich Anwendungen starten möchte. Nachdem ich einige Zeit damit verbracht hatte, erinnerte ich mich an Textual, wo es ein Erlebnis bietet, das der Web-Frontend-Entwicklung ähnelt. Derzeit befindet sich die TUI noch in der Entwicklung, scheint aber ähnlich zu funktionieren wie das CLI-Pendant.

Es ist schwer zu sagen, was ich davon erwarte, da ich mich derzeit darauf vorbereite, einige befristete Teilzeitjobs anzunehmen, während ich nach dem nächsten Projekt suche. Dies würde die Zeit und Energie, die mir für das Projekt bleibt, erheblich reduzieren. Der Launcher verfügt derzeit über eine sehr grundlegende Unterstützung für Plugins, aber die API kann sich ändern.

Das obige ist der detaillierte Inhalt vonErstellen eines Desktop-Launchers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden Mar 05, 2025 am 09:58 AM

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden

So herunterladen Sie Dateien in Python So herunterladen Sie Dateien in Python Mar 01, 2025 am 10:03 AM

So herunterladen Sie Dateien in Python

Bildfilterung in Python Bildfilterung in Python Mar 03, 2025 am 09:44 AM

Bildfilterung in Python

Wie benutze ich eine schöne Suppe, um HTML zu analysieren? Wie benutze ich eine schöne Suppe, um HTML zu analysieren? Mar 10, 2025 pm 06:54 PM

Wie benutze ich eine schöne Suppe, um HTML zu analysieren?

Wie man mit PDF -Dokumenten mit Python arbeitet Wie man mit PDF -Dokumenten mit Python arbeitet Mar 02, 2025 am 09:54 AM

Wie man mit PDF -Dokumenten mit Python arbeitet

Wie kann man mit Redis in Django -Anwendungen zwischenstrichen Wie kann man mit Redis in Django -Anwendungen zwischenstrichen Mar 02, 2025 am 10:10 AM

Wie kann man mit Redis in Django -Anwendungen zwischenstrichen

Einführung des natürlichen Sprach -Toolkits (NLTK) Einführung des natürlichen Sprach -Toolkits (NLTK) Mar 01, 2025 am 10:05 AM

Einführung des natürlichen Sprach -Toolkits (NLTK)

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch? Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch? Mar 10, 2025 pm 06:52 PM

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch?

See all articles