kdenlive dazu zu prügeln, dieses gottverdammte GIF richtig ins Projekt zu importieren, hat, glaube ich, doppelt so lange gedauert.
Wow, wow, wow… weiß grad mal ein wenig mehr was GIF ist. Bin aber neugierig, was kdenlive, Gnome usw. ist. Werde daher recherchieren. Es nervt mich auch, wenn ich was nicht kenne. Aber man lernt ja nicht aus. Der Mann mit den Feuer-Haaren sieht irgendwie wie Trump aus.

Als Gnome vor ein paar Jahren beschlossen hat, dass niemand mehr ein systray braucht, war für mich endgültig der Punkt erreicht zu wechseln. Habe mir dann eine schöne xmonad-Konfiguration zusammengehackt, (und sogar meinen ersten PR in Haskell erstellt um es so zu haben wie ich wollte) die mir aber leider unter Wayland nichts mehr hilft. Jetzt kann ich mich nicht zwischen sway und hyprland entscheiden und schon gar nicht dazu durchrringen meine Config für einen der beiden ans Laufen zu bringen. Also hänge ich immer wenn ich Wayland brauche wieder im Gnome und könnte kotzen, weil nichts funktioniert.
Das systray abzuschaffen, war tatsächlich eine gute Idee vom Gnome Team. Das ist für Nachrichten des Systems gedacht, nicht um Anwendungen zu parken. Dafür gibt es gerade unter Gnome virtuelle Arbeitsflächen. Und nein, es macht speichertechnisch absoulut keinen Unterschied! Oberflächen, die nicht angezeigt werden, sind nicht im Speicher. Ob sie nicht angezeigt werden, weil im Tray stecken oder weil sie auf Arbeitfläche 23 verschimmeln, ist irrelevant!
Es ist also absolut unnütz Anwendungen im Systray zu parken, wenn man Arbeitsflächen hat. Und da das unnütz ist, hat das Gnome Team das abgeschafft. Scheint mir ne logische Entscheidung zu sein. Aber da der durchschnittliche Linux User möchte, dass sich sein Desktop wie der von Windows 95 verhält, wird jetzt dem systray hinterher getrauert. Kurze Durchsage: Windows 95 ist 30 Jahre her. Man darf sich weiterentwickeln.
Bei KDE Plasma war das übrigens ähnlich. Als die ihren Desktop modernisiert haben, war deren Tray anfangs nur für Plasma-Anwendungen (!=KDE Anwendungen) da. Gab ein riesen Geheule in der Community und der Sündenfall des KDE Teams war es dem nachzugeben.
Das Gnome Team ist hart geblieben. Finde ich gut. Es kann ja nicht sein, dass wir (als Linux Gemeinschaft) 30 Jahre alten Design-Prinzipien eines proprietären Konzerns nachjagen.
Installier dir halt folgende GNOME Erweiterung für das Systray: https://extensions.gnome.org/extension/615/appindicator-support/
Ich seh da jetzt nicht so das Problem.
Ich glaube, das ist wirklich das erste Mal, dass ich jemanden schlecht über GNOM reden lese.
Wie bewerkstelligst du dies?
Ich benutze Linux Mint mit Cinnamon. Die Symbole neben der Uhr heißen Applets.

Die „4“ ist der Notification-Counter.
Applets können je Nutzer in ~/.local/share/cinnamon/applets „installiert“ werden, indem man da einfach die richtigen Dateien hinlegt, nämlich:
- eine metadata.json
{ "version": "0.1.0", "uuid": "test-applet", "name": "Test Applet", "max-instances": 1, "description": "Test" }- eine applet.js (ja, Applets werden in JavaScript (genauer gesagt, Cinnamon-JavaScript, cjs, was ein perfekt un-googlebares Akronym ist) geschrieben). Irgendwoher kommt im Script die globale Variable
imports, aus der du Sachen ziehen kannst, die du brauchst, um mit Cinnamon zu interagieren. Für das Applet definierst definierst du eine Klasse, die vonimports.ui.applet.Applet.TextApplet,…IconAppletoder…TextIconAppleterbt und gibst sie in einermain-Methode zurück.
// Defined in /usr/share/cinnamon/js/ui/applet.js const Applet = imports.ui.applet; // Defined in /usr/share/cinnamon/js/misc/util.js const Util = imports.misc.util; class IcingaApplet extends Applet.TextApplet { UNREAD_URL = 'https://sopuli.xyz/api/v3/user/unread_count' JWT = 'denkste' constructor(orientation, panelHeight, instanceId) { super(orientation, panelHeight, instanceId); // Initialize the super class Applet.IconApplet this.set_applet_tooltip('Test') this.set_applet_label('TT') this.get_unread_count() setInterval(() => { this.get_unread_count() }, 60_000) } get_unread_count() { Util.spawn_async(['curl', '-H', `Authorization: Bearer ${this.JWT}`, this.UNREAD_URL], (stdout, stderr) => { if (stderr) { global.logWarning(`Error fetching unread count: ${stderr}`); return; } try { const data = JSON.parse(stdout); const unreadCount = data.replies + data.mentions + data.private_messages; this.set_applet_label(unreadCount.toString()); } catch (e) { global.logWarning(`Error parsing response: ${e}`); } }); } on_applet_clicked(event) { Util.spawn(['firefox', 'https://sopuli.xyz/inbox']) } } // Entry point for Cinnamon. Requires an instance of the applet to be returned. function main(metadata, orientation, panelHeight, instanceId) { return new IcingaApplet(orientation, panelHeight, instanceId); }Das ganze ist völlig undokumentiert. Ich musste mich an teilweise jahrealten und kaputten Beispielen entlanghangeln. Die wertvollste Ressource für mich war https://billauer.co.il/blog/2018/12/writing-cinnamon-applet/ . Du kannst dir auch die systemweit installierten Applets unter
/usr/share/cinnamon/appletsanschauen.
Kühle Scheiße!





