Erstellen eines Desktop-Launchers
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:
„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
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
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: :
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
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











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 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 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.

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.

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 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 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 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.
