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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Heiße Themen

Java-Tutorial
1664
14
PHP-Tutorial
1268
29
C#-Tutorial
1246
24
Python vs. C: Anwendungen und Anwendungsfälle verglichen Python vs. C: Anwendungen und Anwendungsfälle verglichen Apr 12, 2025 am 12:01 AM

Python eignet sich für Datenwissenschafts-, Webentwicklungs- und Automatisierungsaufgaben, während C für Systemprogrammierung, Spieleentwicklung und eingebettete Systeme geeignet ist. Python ist bekannt für seine Einfachheit und sein starkes Ökosystem, während C für seine hohen Leistung und die zugrunde liegenden Kontrollfunktionen bekannt ist.

Python: Spiele, GUIs und mehr Python: Spiele, GUIs und mehr Apr 13, 2025 am 12:14 AM

Python zeichnet sich in Gaming und GUI -Entwicklung aus. 1) Spielentwicklung verwendet Pygame, die Zeichnungen, Audio- und andere Funktionen bereitstellt, die für die Erstellung von 2D -Spielen geeignet sind. 2) Die GUI -Entwicklung kann Tkinter oder Pyqt auswählen. Tkinter ist einfach und einfach zu bedienen. PYQT hat reichhaltige Funktionen und ist für die berufliche Entwicklung geeignet.

Python vs. C: Lernkurven und Benutzerfreundlichkeit Python vs. C: Lernkurven und Benutzerfreundlichkeit Apr 19, 2025 am 12:20 AM

Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.

Der 2-stündige Python-Plan: ein realistischer Ansatz Der 2-stündige Python-Plan: ein realistischer Ansatz Apr 11, 2025 am 12:04 AM

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Python und Zeit: Machen Sie das Beste aus Ihrer Studienzeit Python und Zeit: Machen Sie das Beste aus Ihrer Studienzeit Apr 14, 2025 am 12:02 AM

Um die Effizienz des Lernens von Python in einer begrenzten Zeit zu maximieren, können Sie Pythons DateTime-, Zeit- und Zeitplanmodule verwenden. 1. Das DateTime -Modul wird verwendet, um die Lernzeit aufzuzeichnen und zu planen. 2. Das Zeitmodul hilft, die Studie zu setzen und Zeit zu ruhen. 3. Das Zeitplanmodul arrangiert automatisch wöchentliche Lernaufgaben.

Python vs. C: Erforschung von Leistung und Effizienz erforschen Python vs. C: Erforschung von Leistung und Effizienz erforschen Apr 18, 2025 am 12:20 AM

Python ist in der Entwicklungseffizienz besser als C, aber C ist in der Ausführungsleistung höher. 1. Pythons prägnante Syntax und reiche Bibliotheken verbessern die Entwicklungseffizienz. 2. Die Kompilierungsmerkmale von Compilation und die Hardwarekontrolle verbessern die Ausführungsleistung. Bei einer Auswahl müssen Sie die Entwicklungsgeschwindigkeit und die Ausführungseffizienz basierend auf den Projektanforderungen abwägen.

Python: Automatisierung, Skript- und Aufgabenverwaltung Python: Automatisierung, Skript- und Aufgabenverwaltung Apr 16, 2025 am 12:14 AM

Python zeichnet sich in Automatisierung, Skript und Aufgabenverwaltung aus. 1) Automatisierung: Die Sicherungssicherung wird durch Standardbibliotheken wie OS und Shutil realisiert. 2) Skriptschreiben: Verwenden Sie die PSUTIL -Bibliothek, um die Systemressourcen zu überwachen. 3) Aufgabenverwaltung: Verwenden Sie die Zeitplanbibliothek, um Aufgaben zu planen. Die Benutzerfreundlichkeit von Python und die Unterstützung der reichhaltigen Bibliothek machen es zum bevorzugten Werkzeug in diesen Bereichen.

Python: Erforschen der primären Anwendungen Python: Erforschen der primären Anwendungen Apr 10, 2025 am 09:41 AM

Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

See all articles