Dennis Böhmer

🚧 Work in Progress 🚧

Meows

Ein Desktop-Begleiter für die Aufgaben, für die man sonst ein Terminal, einen Dateimanager und viel Klickerei braucht. Meows selbst ist nur eine Plugin-Shell: Sie findet Plugins, lässt sie einschalten und gibt jedem einen eigenen Tab. Alles Nützliche steckt in den Plugins, und man aktiviert nur die, die man wirklich will - beim ersten Start ist alles aus, nichts läuft ungefragt. Ein Plugin, das beim Start scheitert, wird abgefangen, auf seiner Karte als fehlerhaft markiert und protokolliert; die Anwendung nimmt es nicht mit runter.


Gebaut mit C# auf .NET 10 und Avalonia, Zielplattform Windows. Der Download ist self-contained, es muss also keine Runtime installiert werden. Oberfläche und Plugins sind in Deutsch und Englisch verfügbar, dazu helles und dunkles Theme, wahlweise dem System folgend. Aktuell: 25 Plugins in vier Gruppen.


Hinweis: Das Projekt hieß bis Version 1.0.0 Mews.


Auf GitHub ansehen Download

Schnellstart in sechs Schritten

1. Runterladen. Auf der Releases-Seite das aktuelle Meows-<Version>-win-x64.zip holen.


2. Richtig entpacken. Das Zip in einen eigenen Ordner entpacken und erst dann Meows.exe starten. Direkt aus dem Archiv gestartet, verlieren manche Plugins Dateien, die sie brauchen, und verweigern das Öffnen.


3. Home lesen. Nach dem Start zeigt Home, was seit dem letzten Hinsehen passiert ist: offene Benachrichtigungen, laufende Arbeiten und die Karte jedes eingeschalteten Plugins.


4. Plugins einschalten. Reiter Plugins öffnen und nur das anschalten, was man braucht. Jedes eingeschaltete Plugin bekommt einen eigenen Tab; ausschalten schließt ihn wieder.


5. Einstellungen. Theme (hell, dunkel, System), Sprache (DE, EN, System), Tabgröße und Tray-Verhalten wählen. Schließen versteckt ins Tray statt zu beenden, Watches laufen weiter.


6. Optional: portable. Eine leere Datei namens portable neben Meows.exe legen und neu starten. Ab dann liegt alles unter data\ neben der Exe, nichts landet mehr unter %APPDATA%. Praktisch für den Stick.

Alle Plugins im Überblick

Vier Gruppen, 25 Plugins. Jedes hat eine eigene README im Repo.

Platte und Ordnung

  • Chonk - zeigt, wohin der Platz auf einem Laufwerk gegangen ist, das Größte zuerst, und erkennt Archive neben ihrem eigenen entpackten Inhalt
  • Purrge - findet inhaltsgleiche Dateien rechnerweit, gruppiert sie, entfernt die Kopien, die weg können, und prüft Backup-Kopien auf Vollständigkeit
  • Molt - wirft Caches und Build-Ausgaben ab, die sich wiederherstellen lassen, und sagt vorher, was der Verlust jeweils kostet
  • Mouser - spürt totes Gewicht auf: leere Ordner, leere Dateien, Verknüpfungen ins Nichts
  • Litter - sortiert den Downloads-Ordner nach Alter und Art und benennt unfertige Downloads
  • Catnip - findet Heruntergeladenes, das nie geöffnet wurde, am längsten Ungenutztes zuerst, ohne es selbst zu öffnen
  • WeighIn - misst täglich jedes Laufwerk und meldet, was gewachsen ist und welche Ordner dafür verantwortlich sind
  • Scoop - alle Papierkörbe aller Laufwerke in einer Liste, einzeln zurückholen oder pro Laufwerk leeren
  • Trail - liest PATH und erklärt ihn: Einträge ins Leere, doppelte Tools, und welches tatsächlich gewinnt
  • Carry - zieht einen Ordner auf ein Laufwerk mit Platz um, prüft jede Datei und lässt einen Junction zurück, sodass alle Pfade weiter funktionieren
  • Larder - alle installierten Steam-Spiele mit Größe, letztem Spielstand und Bibliothek, Ungespieltes zuerst
  • Nest - Spielstände, Maps, Projektdateien und Schlüssel: das Wenige, das man nicht erneut laden kann, plus Stand der letzten Kopie
  • Cattery - alle Git-Repos unter den Projektordnern: Branch, uncommittete Arbeit, Ungepushtes, Zeit seit dem letzten Commit, Vernachlässigtes zuerst
  • Rehome - packt die Maschine vor einer sauberen Windows-Installation: was installiert ist und wie es zurückkommt, was der Wipe mitnimmt, und der Weg danach

Bild und Posten

  • Saucer - hebt auf, was man kopiert, Bilder eingeschlossen, und legt Bilder zum Sortieren in einen Ordner
  • Birdwatch - beobachtet Bluesky-, Mastodon- und Reddit-Konten plus RSS-Feeds mit Bildern und sichert Posts in denselben Ordner, ganz ohne Login
  • Scruff - nimmt Metadaten aus Bildern und postet nach Bluesky, Mastodon, Discord, DeviantArt und Tumblr, dazu FurAffinity, X, Instagram und Reddit jeweils in deren Feldformat
  • Kibble - sortiert einen Ordner mit neuem Material per Tastendruck in Warteschlangen und kann eine Auswahl zu einem Comic bündeln
  • Telegram Poster - steuert einen Telegram-Posting-Bot: Gruppen, Warteschlangen und Zeitplan, inklusive Drosseln einer Gruppe, damit eine kurze Warteschlange länger reicht
  • Perch - eine Zeitleiste dessen, was der Posting-Bot wann sendet, alle Gruppen vereint, so weit die Queues reichen
  • Portion - findet vorab, woran der Bot nachts scheitern würde, und schrumpft Bilder, die sich schrumpfen lassen

Geld und Termine

  • Tin - liest Kontoauszüge und Exporte als CSV oder PDF und sagt, was wiederkehrt, was leise teurer wurde und was noch für bereits Gekündigtes abgeht
  • Collar - hält die Daten, die zählen, samt Beleg dahinter, und meldet sich auf der Benachrichtigungsfläche, wenn eines fällig wird

Tisch und Überblick

  • Familiar - die Katze des Spielleiters für den Tisch: Karten mit oder ohne Raster, rund geschnittene Tokens, gerahmte Handouts, am Tisch oder als One-Shot-Kit mit Ablaufzettel, übergeben an Foundry oder Roll20 jeweils so, wie es das System will
  • Purr - sagt, was Meows beobachtet, wann es zuletzt geschaut hat und welche Wache leise stehen geblieben ist

Beispiele aus dem Alltag

Beispiel 1: Downloads-Ordner aufräumen

Litter einschalten und den Downloads-Ordner wählen. Die Ansicht sortiert nach Alter und Art, unfertige Downloads werden benannt. Danach Catnip fragen, was davon nie geöffnet wurde. Was weg kann, fliegt raus, der Rest wandert per Kibble-Tastendruck in Warteschlangen.

Beispiel 2: Doppelte Dateien finden

Purrge über das Laufwerk laufen lassen. Es gruppiert inhaltsgleiche Dateien, egal wo sie liegen. Kopien, die man nicht behalten will, entfernen, und bei wichtigen Ordnern zusätzlich prüfen lassen, ob die Sicherungskopie wirklich vollständig und identisch ist. Jede Zeile landet im History-Tab, Rückgängiges trägt einen Put back-Knopf, solange das Plugin offen ist.

Beispiel 3: Regel für den Posting-Bot

Im Rules-Tab eine Regel bauen: wenn Birdwatch ein Bild speichert, dann Portion nach den Queues schauen lassen. Oder: wenn Kibble eine Datei einreiht, Scruff die Metadaten direkt am neuen Ort entfernen lassen. Regeln laufen auch bei verstecktem Fenster, ein benötigtes Plugin wird von selbst eingeschaltet. Drei Leitplanken: ein Hop (keine Ketten), eines nach dem anderen, und eine Regel mit über dreißig Auslösungen in zehn Minuten pausiert sich selbst mit Resume-Knopf.

Beispiel 4: Morgens ohne Fenster

Meows.exe --glance im Terminal zeigt jede Zeile der eingeschalteten Plugins, Dringendes mit ! davor. Mit --json eignet es sich für Statusleisten oder Begrüßungsskripte. Per Aufgabenplanung läuft Meows.exe --do weighin.measure nachts die Laufwerksmessung, und --list-plugins prüft eine Installation ganz ohne Fenster. Genau dieser Aufruf sichert übrigens jeden Release-Build ab.

Eigenes Plugin schreiben

Ein Plugin ist eine Klassenbibliothek, die Meows.Plugins.Abstractions referenziert und einen Typ exportiert. Der Host gibt ein privates Datenverzeichnis, JSON-Einstellungen, das gemeinsame Log, Benachrichtigungen, Hintergrund-Tasks und die Fenster-Sprache. Farben kommen per DynamicResource aus der Shell, Texte pro Sprache aus Strings.<code>.json. Der Vertrag ist als NuGet-Paket versioniert, ein Template schreibt das Gerüst:


dotnet new install Meows.Plugins.Template

dotnet new meows-plugin -n WeatherWatch


Minimal sieht ein Plugin so aus (volle Fassung in der PLUGIN-GUIDE.md):


public sealed class MyPlugin : IMeowsPlugin

{    public string Id => "meows.my-plugin";

    public string DisplayName => "My Plugin";

    public string Description => "Was es tut.";

    public Control CreateView(IMeowsHost host) => new MyView();

}


Die gebaute DLL kommt in einen eigenen Ordner unter plugins\, Meows findet sie beim nächsten Scan. Alternativ als Zip über Install plugin… auf dem Plugins-Tab installieren, dann gibt es Versionsanzeige, Uninstall und eine tägliche Update-Prüfung gegen das GitHub-Release des Plugins. Fünf Beispiel-Plugins unter examples/ zeigen je einen Vertragsteil, und Kitten generiert neue In-Tree-Plugins per Kommandozeile. Die Tests bauen jede Plugin-Ansicht headless in beiden Themes und beiden Sprachen, sodass kaputte Bindings vor dem Release auffallen.

Links

Repository Releases und Download