Programmierbarer Schmierzettel Boop-GTK

Aus LinuxUser 01/2021

Programmierbarer Schmierzettel Boop-GTK

© lightfieldstudios, 123RF

Notizzettel mit Extras

Boop ist ein digitaler Schmierzettel, der sich per Javascript um praktische Funktionen erweitern lässt – ideal für Textarbeiter, Webentwickler oder Programmierer.

Die Zeichen, Wörter oder Zeilen einer Textdatei zählen, alle Zeichen eines Texts in Klein- oder Großbuchstaben verwandeln, eine Zeichenfolge Base64-(de-)kodieren, Umlaute in HTML-Entitäten umwandeln oder umgekehrt, CSS-Dateien sauber formatieren oder per Minify optimieren – für diese und viele ähnliche Aufgaben gibt es im Netz zahlreiche nützliche Helferlein und Seiten wie Wordcounter.net, Convertcase.net, Base64decode.org oder Cssminifier.com. Eine Suche bei der bevorzugten Suchmaschine führt in der Regel schnell zum Ziel. Ob man jedoch potenziell private oder vertrauliche Informationen per Copy & Paste zu vielleicht zweifelhaften Webseiten übertragen sollte, steht auf einem anderen Blatt.

Besser wäre da ein digitaler Notizzettel, der sich über Skripte programmieren lässt. Boop [1] erfüllt genau diese Aufgabe. Das für den Mac entwickelte Open-Source-Programm unterstützt die Eingabe oder das Einfügen von Texten per Zwischenablage. Per Knopfdruck lassen sich dann eine Vielzahl vordefinierter Skripte oder auch eigene kleine Programme auf den eingegebenen Text anwenden. So bleiben alle Daten in den eigenen vier Wänden, das Stöbern nach der richtigen Tool-Webseite kann man sich sparen.

Mit Boop-GTK [2] steht nun eine Portierung auf das GTK-Toolkit zur Verfügung, die das Programm für Linux- wie auch Windows-Nutzer zur Verfügung stellt. Die noch sehr junge Anwendung fehlt bislang noch in den Paketquellen der gängigen Linux-Distributionen. Einzig für Arch gibt es mit boop-gtk einen Eintrag im Arch-User-Repository (AUR). Nutzer anderer Distributionen müssten das Programm aus dem Quelltext bauen oder auf die vom Projekt bereitgestellten Snap- [3] oder Flathub-Pakete [4] zurückgreifen.

Skriptfähig

Das Prinzip von Boop ist immer dasselbe: Sie kopieren Ihren Text oder Code in das Anwendungsfenster oder schreiben gleich direkt in den Editorbereich. Dann aktivieren Sie den Skript-Dialog über [Strg]+[Umschalt]+[P]. Im darauffolgenden Auswahldialog haben Sie die Wahl zwischen (Stand Redaktionsschluss) 59 unterschiedlichen Skripten (Abbildung 1).

Abbildung 1: Wer viel mit Texten arbeitet, zählt mit Boop die Anzahl an Zeichen, Wörtern oder Zeilen.

Abbildung 1: Wer viel mit Texten arbeitet, zählt mit Boop die Anzahl an Zeichen, Wörtern oder Zeilen.

Deren Bandbreite reicht von Add Slashes, das bestimmten Sonderzeichen wie ',",\ oder NUL einen Backslash \ voranstellt, bis hin zu einer Funktion, die es Entwicklern erleichtert, Lokalisierungs-Strings zwischen iOS- und Android-Formaten umzuwandeln. Über die Suchbox im Kopf des Dialogs lässt sich eine bestimmte Funktion leicht herausfiltern.

Webentwickler finden hier zum Beispiel die Möglichkeit, CSS-Dateien mit Format CSS aufzuräumen, Texte per HTML Decode und HTML Encode für Webseiten aufzubereiten beziehungsweise entsprechende Kürzel wieder zu entfernen oder mittels Minify CSS die CSS-Auszeichnung zu komprimieren. Entsprechend verwandelt Format CSS den optimierten CSS-Code wieder in ein lesbares Format (Abbildung 2).

Abbildung 2: Boop optimiert CSS-Code oder wandelt den komprimierten Code wieder in lesbaren Text um.

Abbildung 2: Boop optimiert CSS-Code oder wandelt den komprimierten Code wieder in lesbaren Text um.

Eher auf die Programmierung von Anwendungen spezialisierte Entwickler führen mit Eval Javascript die beliebte Skriptsprache direkt im Kontext von Boop aus und lassen sich das Ergebnis ausgeben (Abbildung 3). Ähnlich wie CSS-Code kann Boop auch JSON und XML minimieren und entsprechend wieder auspacken sowie JSON in verschiedene andere Formate überführen.

Abbildung 3: Mit der Aktion <span class="ui-element">Eval Javascript</span> f&uuml;hren Sie Javascript-Code im Anwendungsfenster aus.

Abbildung 3: Mit der Aktion Eval Javascript führen Sie Javascript-Code im Anwendungsfenster aus.

Diverse Textfunktionen wie Camel Case, Kebab Case (alle Wörter mit Minus verbunden), Snake Case (per Unterstrich verbunden), Sponge Case (zufällige Groß-/Kleinschreibung), Markdown Quote und Reverse Lines sowie Reverse String runden das Repertoire für Textarbeiter ab. Bei Bedarf lassen sich auch MD5-Prüfsummen oder Hash-Werte (SHA1, SHA256, SHA512) für die eingegebenen Inhalte errechnen.

Erweitern

Fehlt Ihnen eine bestimmte Funktion, lässt sie sich – mit entsprechendem Know-how – direkt in Boop integrieren. Dazu finden Sie im Hamburger-Menü rechts oben die Option Open Config Directory. Der Menüpunkt öffnet einen Dateimanager mit dem Ordner ~/.config/boop-gtk. Im Unterorder scripts/ abgelegte Javascript-Dateien lädt Book automatisch beim Programmstart in die Anwendung.

Anregungen und Details zur Funktionsweise der Skripte erhalten Sie über den Menüpunkt Get More Scripts. Er lädt das vom ursprünglichen Boop-Entwickler gepflegte Github-Repository in den Browser. Dort finden Sie eine Reihe von Skripten, die es bislang noch nicht direkt in das Programm geschafft haben [5]. Für erste eigene Schritte können Sie sich bei diesen Beispielen bedienen.

Das Boop-Projekt zeigt auf seiner Homepage auch direkt ein Beispiel: Der Poopificator ersetzt per Zufallsgenerator Wörter durch ein Kothaufen-Emoji [6] – na ja. Übertragen Sie dazu den Inhalt aus Listing 1 in eine neue Datei mit dem Namen poop.js, und verschieben Sie diese dann nach ~/.config/boop-gtk/scripts/. Nach einem Neustart von Boop finden Sie unter den Aktionen einen neuen Eintrag mit dem Namen Poopificator.

Listing 1

poop.js

/**
  {
    "api":1,
    "name":"Poopificator",
    "description":"Swaps random words with poop emojis.",
    "author":"Ivan",
    "icon":"html",
    "tags":"poop,emoji,hashtag"
  }
**/
const poopFactor = 0.2
function main(state) {
  var all = state.fullText.split(" ")
  state.fullText = all.map(x => r() ? x : "&#128169;").join(" ")
}
function r() {
  return Math.random() >= poopFactor
}

Die Aktion ersetzt nun zufällige Wörter mit dem HTML-Code &#128169;. Mit der zweiten Aktion HTML Decode verwandeln Sie die HTML-Schnipsel dann in das gewünschte Emoji (Abbildung 4). Im hier abgedruckten Beispiel müssen wir diesen Weg gehen, da unser Textsatzsystem Sonderzeichen dieser Art nicht zulässt. Übernehmen Sie das Skript direkt von der Projektseite, erübrigt sich der Zwischenschritt.

Abbildung 4: Mit dem Beispielskript Poopificator erweitern Sie den Funktionsumfang von Boop.

Abbildung 4: Mit dem Beispielskript Poopificator erweitern Sie den Funktionsumfang von Boop.

Fazit

Boop ist ein nützlicher Helfer für Anwender, die für eine oder mehrere der angesprochenen Funktionen auf Webdienste zurückgreifen. Das Programm funktioniert auch ohne Internet-Zugang, braucht weniger Ressourcen als ein Webbrowser, und sämtliche Daten bleiben auf dem eigenen Rechner. Die Community sorgt dafür, dass immer neue Funktionen hinzukommen. Mit grundlegenden Programmierkenntnissen lässt sich die Anwendung zudem auch in eigener Regie erweitern. (cla)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 01/2021 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben