Unterschiedliche Dialogboxen für das Abspeichern in verschiedenen Programmen

cabriofahrer

Well-Known Member
Ich nutze MATE als DE. Was mir auffällt, ist, dass unterschiedliche Programme, wie z.B. Firefox, Pluma oder Libreoffice unterschiedliche Dialogboxen zum Abspeichern oder zum File Upload nutzen. Eine scheint GTK zu sein (z.B. bei Pluma und Firefox), wobei diese eher Gnome 3 Ästhetik zu haben scheint (Icons usw.) und die Dialogbox von Libreoffice eindeutig QT/KDE Ästhetik hat. Ich poste mal zwei Screenshots.
Meine Fragen: Gehört die eine Dialogbox wirklich zu MATE, oder hat sich da vielleicht etwas von irgendendeinem Programm, welches vielleicht für Gnome 3 gedacht ist eingeschlichen, obwohl ich kein Gnome 3 nutze? Und kann man die Programme oder das System dazu bringen, eine einheitliche Dialogbox zu verwenden? In welchen Packages sind eigentlich die Dialogboxen zum Abspeichern enthalten? Denn in einer VM, auf der ich ein FreeBSD mit xfce installiert habe, sieht im Firefox die Dialogbox wieder anders aus, ganz in xfce Ästhetik.
 

Anhänge

  • gtk.png
    gtk.png
    89 KB · Aufrufe: 39
  • kde.png
    kde.png
    85,2 KB · Aufrufe: 22
Normalerweise liegt es in der Verantwortung und der Kontrolle des Programms, wie ein Dialog aussieht. In dem es nämlich die entsprechenden Libs/APIs aufruft.
Wenn ein Programm auf einem anderen Desktop ein anderes "Gesicht" zeigt, kann das zwei Gründe haben:

Das Programm versucht herauszufinden, was der User als Desktop zu laufen hat und versucht sich dann möglichst anzupassen, um sich gut ins Look&Feel einzufügen.

Oder aber die Desktopumgebung biegt die API-Aufrufe um (das ist eher ne theoretische Möglichkeit; hab jetzt kein Beispiel parat, wo das gemacht wird) bzw. (was häufiger vorkommen wird) versucht Anpassungen über Themes zu machen (bei KDE wurde/wird(?) das beispielsweise mal so gemacht, um GTK-Programme mehr im KDE-Look erscheinen zu lassen).
 
Gibt es denn eine Möglichkeit, diese Aufrufe nachzuvollziehen, um zu wissen, welche Libs/APIs da aufgerufen werden und in welchen Packages diese enthalten sind?
Und wie sieht es bei Dir allgemein aus? Welchen DE verwendest Du und wie sehen die Dialogboxen dann bei Dir aus? Hast Du da eher ein einheitliches Erscheinungsbild in Deinem System?
 
Schau mal hier : https://wiki.archlinux.org/title/qt . Da ist einiges zum Thema qt Look und Feel auch im Zusammenhang mit DEs.
Bei Firefox habe ich den Eindruck, daß die Programmierer da was fest eingebaut haben / statisch gelinkt. Ich denke, daß sie so Fehlermeldungen wie "Mit meinem selbstgebauten Schlümpfe Theme geht das aber nicht" vermeiden.
 
Gibt es denn eine Möglichkeit, diese Aufrufe nachzuvollziehen, um zu wissen, welche Libs/APIs da aufgerufen werden und in welchen Packages diese enthalten sind?
Der trivialste Ansatz wäre, mit ldd nachzugucken, welche Bibliotheken sich ein Binary so reinzieht. Meist haben aber Bibliotheken noch Folgeabhängigkeiten die man dann auch abklappern muss.

Auf Paketebene ist das schon einfacher. Man könnte nachschauen, welche Abhängigkeiten ein Paket hat mit pkg search -f paketname (wenn man es eher Klicki-Bunti haben will, kann man auch OctoPkg nehmen oder man guckt online nach wie hier: https://ports.freebsd.org/cgi/ports.cgi oder hier: https://www.freshports.org/)

Vom eingebundenen Paket/Lib weiß man dann zwar immer noch nicht, welche APIs tatsächlich verwendet werden (da könnte man dann ein deep-dive mit truss und Co machen), aber i.d.R. ist das schon ein ziemlich starker Hinweis.

Wenn man nur ein library-Namen hat und wissen will, zu welchem Paket der gehört kann man pkg-which nehmen. Der will aber üblicherweise einen vollen Pfad. Wenn man nicht weiß, wo die Datei liegt und nicht mit find suchen will kann man auch GLOB-Patterns/Jokerzeichen verwenden:
pkg which --glob \*libgtk-4.so\*


Und wie sieht es bei Dir allgemein aus?
Individuell. Sprich es gibt kein programmübergreifendes Look&Feel. Daher bringen ja auch die Desktop-Umgebungen gerne ihre eigenen Programme mit. Um eine entsprechend einheitliche User-Experience zu ermöglichen.
Ich empfinde das allerdings als nicht so dramatisch das es überall etwas anders aussieht. Daher lege ich da auch keine Energie rein das hinzubiegen.

Man findet dazu auch im Internet ein bisschen Material, wie zum Beispiel diesen: Arch Linux Wiki-Eintrag:
https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications
der sich damit beschäftigt, wie man QT- und GTK-Programme vereinheitlichen kann.
 
Danke erstmal für die Antworten, ich werde mich mal etwas in die Thematik einlesen.
Doch mittlerweile habe ich eine Feststellung gemacht, die meinen ursprünglichen Verdacht bezüglich der Gnome 3 Ästhetik belegt: Ich habe mich in ein anderes Benutzerkonto eingeloggt, welches man als "frisch" bezeichnen kann. Sowohl in Pluma als auch in Firefox sieht es jetzt so aus (siehe Screenshot). Ganz klar MATE Ästhetik, so wie es sein sollte.
Das hat mich dann auf eine Idee gebracht: In meinem üblichen Benutzerkonto habe ich einfach mal ein Standard Theme ausgewählt (Green Laguna) und jetzt passt der Dialog wieder. Es waren offenbar also nur irgendwelche Icons, die nicht so richtig ins Bild gepasst hatten und eher an Gnome 3 erinnern.
Libreoffice hat trotzdem KDE Look. Das scheint also erstmal "korrekt" zu sein, wenn auch unschön.
 

Anhänge

  • Screenshot from 2024-05-09 14-25-59.png
    Screenshot from 2024-05-09 14-25-59.png
    65,7 KB · Aufrufe: 12
Zuletzt bearbeitet:
Libreoffice hat trotzdem KDE Look. Das scheint also erstmal "korrekt" zu sein, wenn auch unschön.
es wird bei FreeBSD als Paket mit Qt kompiliert. Baut man es selbst, kann man das auch umschalten. Welche GTK es gerade derzeit unterstützt, weiß ich aber nicht und ob man das dann wirklich besser findet, muss man halt selbst ansehen.
 
es wird bei FreeBSD als Paket mit Qt kompiliert. Baut man es selbst, kann man das auch umschalten. Welche GTK es gerade derzeit unterstützt, weiß ich aber nicht und ob man das dann wirklich besser findet, muss man halt selbst ansehen.
Danke für den Hinweis! Das hatte ich mir fast gedacht. Aber es steht natürlich außer Frage, sich so ein Riesenprogramm wie Libreoffice selbst zu kompilieren, nur damit die Dialogbox zum Abspeichern nicht nach KDE aussieht...
 
Danke für den Hinweis! Das hatte ich mir fast gedacht. Aber es steht natürlich außer Frage, sich so ein Riesenprogramm wie Libreoffice selbst zu kompilieren, nur damit die Dialogbox zum Abspeichern nicht nach KDE aussieht...
Ist ja nicht nur die Dialogbox, das ganze Libreoffice sieht nach Qt aus... Selbst bauen ist nicht so tragisch, alle paar Monate mal, dann ins eigene Repo schieben und flupp, ist es installiert auf allen Maschinen.

Wäre schön wenn es wie bei Debian beide Versionen in den Repos gäbe... :)
 
Ist ja nicht nur die Dialogbox
Noch eine Ergänzung dazu:
Was so Standarddialogboxen angeht, kann man auch die Libreoffice-eigenen Dialoge einsetzen.
Die Konfiguration dafür findet sich unter Extras -> Optionen -> LibreOffice -> Allgemein
Da gibts ne Checkbox Libre-Office-Dialoge verwenden
So kann man auf andere Dialogboxen wechseln ohne irgendwas zu kompilieren. Ob die einem zusagen, muss man natürlich selbst entscheiden.
 
Zurück
Oben