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!

Pythonisbothcompiledandinterpreted.WhenyourunaPythonscript,itisfirstcompiledintobytecode,whichisthenexecutedbythePythonVirtualMachine(PVM).Thishybridapproachallowsforplatform-independentcodebutcanbeslowerthannativemachinecodeexecution.

Python ist nicht streng line-by-line-Ausführung, sondern wird basierend auf dem Interpreter-Mechanismus optimiert und bedingte Ausführung. Der Interpreter konvertiert den Code in Bytecode, der von der PVM ausgeführt wird, und kann konstante Ausdrücke vorkompilieren oder Schleifen optimieren. Das Verständnis dieser Mechanismen trägt dazu bei, den Code zu optimieren und die Effizienz zu verbessern.

Es gibt viele Methoden, um zwei Listen in Python zu verbinden: 1. Verwenden Sie Operatoren, die in großen Listen einfach, aber ineffizient sind; 2. Verwenden Sie die Erweiterungsmethode, die effizient ist, die ursprüngliche Liste jedoch ändert. 3.. Verwenden Sie den operator =, der sowohl effizient als auch lesbar ist; 4. Verwenden Sie die Funktion iterertools.chain, die Speichereffizient ist, aber zusätzlichen Import erfordert. 5. Verwenden Sie List Parsing, die elegant ist, aber zu komplex sein kann. Die Auswahlmethode sollte auf dem Codekontext und den Anforderungen basieren.

Es gibt viele Möglichkeiten, Python -Listen zusammenzuführen: 1. Verwenden von Operatoren, die einfach, aber nicht für große Listen effizient sind; 2. Verwenden Sie die Erweiterungsmethode, die effizient ist, die ursprüngliche Liste jedoch ändert. 3. Verwenden Sie iTertools.chain, das für große Datensätze geeignet ist. 4. Verwenden Sie * Operator, fusionieren Sie kleine bis mittelgroße Listen in einer Codezeile. 5. Verwenden Sie Numpy.concatenate, das für große Datensätze und Szenarien mit hohen Leistungsanforderungen geeignet ist. 6. Verwenden Sie die Append -Methode, die für kleine Listen geeignet ist, aber ineffizient ist. Bei der Auswahl einer Methode müssen Sie die Listengröße und die Anwendungsszenarien berücksichtigen.

CompiledLanguageOfferSpeedandSecurity, während interpretedLanguagesProvideaseofuseAnDportabilität.1) kompiledlanguageslikec areFasterandSecurebuthavelongerDevelopmentCyclesandplatformDependency.2) InterpretedLanguages -pythonareaToReAndoreAndorePortab

In Python wird eine für die Schleife verwendet, um iterable Objekte zu durchqueren, und eine WHHE -Schleife wird verwendet, um Operationen wiederholt durchzuführen, wenn die Bedingung erfüllt ist. 1) Beispiel für Schleifen: Überqueren Sie die Liste und drucken Sie die Elemente. 2) Während des Schleifens Beispiel: Erraten Sie das Zahlenspiel, bis Sie es richtig erraten. Mastering -Zyklusprinzipien und Optimierungstechniken können die Code -Effizienz und -zuverlässigkeit verbessern.

Um eine Liste in eine Zeichenfolge zu verkettet, ist die Verwendung der join () -Methode in Python die beste Wahl. 1) Verwenden Sie die monjoy () -Methode, um die Listelemente in eine Zeichenfolge wie "" .Join (my_list) zu verkettet. 2) Für eine Liste, die Zahlen enthält, konvertieren Sie die Karte (STR, Zahlen) in eine Zeichenfolge, bevor Sie verkettet werden. 3) Sie können Generatorausdrücke für komplexe Formatierung verwenden, wie z. 4) Verwenden Sie bei der Verarbeitung von Mischdatentypen MAP (STR, MIXED_LIST), um sicherzustellen, dass alle Elemente in Zeichenfolgen konvertiert werden können. 5) Verwenden Sie für große Listen '' .Join (large_li

Pythonusesahybridapproach, kombinierte CompilationTobyteCodeAnDinterpretation.1) codiscompiledtoplatform-unintenpendentBytecode.2) BytecodeIsinterpretedBythepythonvirtualMachine, EnhancingEfficiency und Portablabilität.


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

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Dreamweaver Mac
Visuelle Webentwicklungstools
