Neues Layout für einen gar nicht so alten Blog
Neues Layout
Ich muss immer mal ein wenig experimentieren, damit man nicht einrostet. Da ich beim HIERO-Theme immer wieder an Grenzen stoße und die Dokumentation auch nicht so besonders ist, stelle ich hier auf ein neues Theme um.
An der Lahn ist auch ganz schön
Bilder
Lahntal
Ein Bisschen Heimatliebe muss ja auch mal sein. Hier an der Lahn ist es durchaus schön.
autohotkey Alternative espanso auf macOS Monterey
Ich musste beruflich mal wieder umsteigen, nach 6 Jahren auf Windows bin ich jetzt wieder auf macOS unterwegs. Da es auf dem Mac autohotkey einfach nicht gibt und ich in den letzten 17 Jahren hunderte von shortcuts memorisiert habe, musste ein Ersatz her. Hier war reddit mal wieder mein Freund. In einem Sub wurde sich da mal über Alternativen unterhalten. Da konnte man ja einfach mal schauen welche am häufigsten auftauchte und das war espanso. Ein open source Projekt, was schon mal dafür spricht und außerdem werden YAML-Dateien verwendet. Die verwenden wir im Job auch und dann war der Umstieg nicht schwer. Was machst Du jetzt mit 800 Shortcuts im .ahk Format? VIM anwerfen, umformatieren mit einem Macro und nach ein paar Stunden fummelei, wegen des neuen YML-Syntax lief dann alles wieder. Und weil das so gut geklappt hat, habe ich direkt auf meiner Parallels Windows 11 arm64 Installation auch espanso installiert, da hier meine autohotkey nicht sauber funktionieren wollte.
# # # ███████╗██╗███╗ ██╗███████╗███████╗██╗██╗ ███████╗██████╗ # ██╔════╝██║████╗ ██║╚══███╔╝██╔════╝██║██║ ██╔════╝██╔══██╗ # █████╗ ██║██╔██╗ ██║ ███╔╝ █████╗ ██║██║ █████╗ ██████╔╝ # ██╔══╝ ██║██║╚██╗██║ ███╔╝ ██╔══╝ ██║██║ ██╔══╝ ██╔══██╗ # ███████╗██║██║ ╚████║███████╗███████╗██║███████╗███████╗██║ ██║ # ╚══════╝╚═╝╚═╝ ╚═══╝╚══════╝╚══════╝╚═╝╚══════╝╚═════╝╚═╝ ╚═╝ # # Hilfen: # vars: [{ name: "clipboard", type: "clipboard" }] # label: "" unterhalb von trigger # Multiple triggers - triggers: ["" , ""] # Enter = \n # matches: - trigger: "--#" replace: "-preisvergleich -yatego -amazon -ebay -preisroboter -idealo -ladenzeile -kaufen
Man sieht schon, alles kein Hexenwerk. Mit trigger: wird der Shortcut definiert, hier --# und replace: definiert die Ersetzung, hier also "-preisvergleich -yatego -amazon -ebay -preisroboter -idealo -ladenzeile -kaufen" das brauche ich dann schon mal in der Goolge Suche, wenn ich das Produkt nicht kaufen will.
Die Syntax ist wirklich schnell gelernt. Mit "vars: [{ name: "clipboard", type: "clipboard" }]" wird auf die Zwischenablage zugegriffen.
triggers: ["sgf#", "sf#" ] replace: "Sehr geehrte Frau ,\n" vars: [{ name: "clipboard", type: "clipboard" }]
Hier löst sgf# oder sf# sie Ersetzung "Sehr geehrte Frau Meier, ENTER" aus, wenn Meier in der Zwischenablage war. Man kann also mehrere Trigger für die selbe Ersetzung definieren.
Super praktisch sind auch die automatisch generierten Pop-Ups. In autohotkey hatte ich dafür ein Array das per zufallszahl eine EAN/GTIN ausgewählt hat. Das ist zwar viel praktischer als das folgende, aber soweit bin ich mit espanso leider noch nicht.
# # # ███████╗ █████╗ ███╗ ██╗ ██╗ ██████╗████████╗██╗███╗ ██╗ # ██╔════╝██╔══██╗████╗ ██║ ██╔╝██╔════╝╚══██╔══╝██║████╗ ██║ # █████╗ ███████║██╔██╗ ██║ ██╔╝ ██║ ███╗ ██║ ██║██╔██╗ ██║ # ██╔══╝ ██╔══██║██║╚██╗██║ ██╔╝ ██║ ██║ ██║ ██║██║╚██╗██║ # ███████╗██║ ██║██║ ╚████║██╔╝ ╚██████╔╝ ██║ ██║██║ ╚████║ # ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ # # # internaltest EAN/GTIN - trigger: "sdd" replace: "2000001811153" - trigger: "sdd" replace: "2000002615743" - trigger: "sdd" replace: "2000002615767" - trigger: "sdd" replace: "2000001811139"
Wenn ich sdd eintippe poppt gleich ein Fenster auf und ich kann per Pfeiltaste oder mit Alt+1, Alt+2 usw. einen Eintrag absenden.
Lintalist
Noch so ein Programm das auf autohotkey basiert und das ich intensiv auf der Windows Maschine benutzt habe. Auch hier konnte ich mit espanso bisher ganz gute Ergebnisse erzielen. Man braucht noch Keyboard Maestro, das leider kein Open Source Projekt ist, aber die Investition hat sich gelohnt.
Lintalist habe ich hauptsächlich verwendet um HTML Code inkl. Zwischenablage zu ersetzen, oder HTML-Tabellen zu erzeugen und gleich die Anzahl der Spalten mitzugeben. Auch das klappt gut mit espanso, wenn man einmal verstanden hat, wie man Sonderzeichen escapen muss.
Hier wird eine Kapitel-Navigation eingefügt:
label: "Kapitel Navigation unten Clickhelp" replace: "<p></p><hr/><p><ch:nav type=\"previous\" text=\"vorheriges Kapitel\" class=\"CHNavLinkPrevious\"/> | <ch:nav type=\"top\" text=\"Übergeordnetes Kapitel\" class=\"CHNavLinkTop\"/> | <ch:nav type=\"next\" text=\"nächstes Kapitel\" class=\"CHNavLinkNext\"/></p><p><br/></p><p></p>"
Sieht immer etwas wilder aus, als es am Ende dann ist. Man gewöhnt sich schnell dran.
tmux ist mein Tiling Window Manager
TMUX
Ich hatte da mal einen Post auf reddit geesehen und mir gedacht, das klingt soch irgendwie nach einem Plan. Mit dem neuen Rechner den ich bekommen habe war das eine gute Gelegenheit. Hier kann ich in einem Terminal Fenster alle Prozesse offen halten, die ich so brauche, oder an denen ich schon mal Spass habe.
Timewarrior / Taskwarrior
Die beiden Programme verwende ich um per CLI mal eben schnell einen Task zu erstellen, zu starten oder zu beenden. In der Kombination mit Timewarrior habe ich dann auch noch ein Tool, dass die Zeiten speichert, die ich für einzelne Tasks oder die verschiedenen Projekte aufgewndet habe.
wttr.in
Man muss doch immer das Wetter ein bisschen im Blick habe.
NCSPOT
Spotify in der CLI? Ja klar, hast Du schon mal geschaut wie viel Speicher Spotify sich reserviert? Ich habe aktuell nur 32 Gig, da muss ich ein wenig haushalten.
Ich hatte hier gestern erst 70 MB Speicherverbrauch, die 106 heute erscheinen mir ein bisschen viel.
Nachtrag
Wusste ich doch, das der Speicherverbrauch eigentlich total niedrig ausfällt:
Newsboat RSS Reader
Noch bin ich nicht dazu gekommen mir emacs einmal genauer anzuschauen, außerdem will ich nicht schon wieder ein Fass ohne Boden aufmachen.
Was ich an newsboat so mag ist, dass ich hier mit tmux, in 3 Fenstern ein wenig sortiert meine wichtigsten RSS-Feeds im Blick halten kann. Ich habe 3 verschiedene Config-Dateien hinterlegt und kann so meine RSS-Feeds, meine youtube-Feeds und meine wichtigsten Podcasts im Blickbehalten. Mit mpv kann ich Mediendateien abspielen, also Podcasts oder Videos und überall wo das nicht funktioniert, wird per URL-View einfach der Standard Browser vom System aufgerufen.
Nur falls jemand ein bisschen was abschauen will:
# _ _ ________ _______ ____ ____ _______ # | \ | | ____\ \ / / ____| _ \ / __ \ /\|__ __| # | \| | |__ \ \ /\ / / (___ | |_) | | | | / \ | | # | . ` | __| \ \/ \/ / \___ \| _ <| | | |/ /\ \ | | # | |\ | |____ \ /\ / ____) | |_) | |__| / ____ \| | # |_| \_|______| \/ \/ |_____/|____/ \____/_/ \_\_| # # browser $BROWSER save-path "~/Dokumente/rss-feeds-worth-saving/" download-path ~/Musik player "mpv" # # add video or audio to play queue using mpv (requires: task-spooler, mpv, youtube-dl) # task-spooler: https://www.youtube.com/watch?v=wv8D8wT20ZY # youtube-dl: https://www.youtube.com/watch?v=MFxlwVhwayg macro p set browser "mpv --ontop --no-border --force-window --autofit=500x280 --geometry=-15-10 %u"; open-in-browser ; set browser "$BROWSER %u" refresh-on-startup yes auto-reload yes reload-time 30 reload-threads 100 external-url-viewer "urlview" # external-url-viewer "urlscan" bind-key U show-urls # max-items 100 confirm-delete-all-articles yes scrolloff 25 # notify-xterm yes suppress-first-reload yes display-article-progress yes confirm-mark-all-feeds-read yes confirm-mark-feed-read no # error-log ~/.local/share/newsboat/error.log #https://gitlab.com/dj-bauer/newsboat-rice/-/blob/master/config highlight feedlist "[╒╘╞]═.*═[╛╕╡]" color175 color237 #yellow default bold highlight feedlist "[║│]" color175 color237 bold #yellow default bold highlight feedlist "╠═.*" color175 color237 bold #yellow default bold # highlight feedlist "\\(youtube\\) .*" red # highlight feedlist "\\(Reddit\\) .*" green # highlight feedlist "\\(Podcast\\) .*" magenta # highlight feedlist "\\(Blogs\\) .*" cyan # highlight feedlist "\\(Reddit\\) .*" color166 feedlist-format "%?T?║%4i %n %14u (%T) %S &╠════════════════════════════════════════════════════%t?" feedlist-title-format "%N %V - Deine Feeds ║ (%u ungelesen, %t Gesamt)%?T? - tag ’%T'&? " # keybindings because of muscle memory. bind-key SPACE next-unread bind-key j down bind-key k up bind-key g home bind-key G end bind-key RIGHT open bind-key U show-urls