Titelleiste ausblenden, wenn in GNOME 3.16 maximiert


10

In GNOME 3.14 und 3.12 hatte ich eine Modifikation, bei metacity-theme-3.xmlder die Titelleiste grundsätzlich vor jedem Fenster ausgeblendet wird, wenn sie maximiert ist. Ich habe diese Methode der Maximus Two- Erweiterung vorgezogen, da das Verhalten der Erweiterung inkonsistent ist, wenn in maximierten Fenstern manchmal eine transparente Leiste anstelle der Titelleiste angezeigt wird (normalerweise nach Wiederaufnahme einer Unterbrechung).

In GNOME 3.16 metacityfunktioniert die Optimierung jetzt nicht mehr, da GNOME sie nicht mehr verwendet. Ich habe versucht, benutzerdefinierte gtk3 CSS wie:

.maximized .titlebar {
    display: none;
}

und Variationen davon, ohne Erfolg. Ist dies durch gtk-3 benutzerdefinierte CSS möglich?

Update : Pixel Saver ist eine gute Erweiterung, um genau dies ohne Fehler zu tun, aber ich würde trotzdem gerne wissen, ob es eine Möglichkeit gibt, dies manuell zu tun.


Wo ist dein benutzerdefiniertes CSS?
AB

Ich habe es hineingelegt ~/.config/gtk-3.0/gtk.css. Ich weiß, dass es funktioniert, weil das Ändern der Textfarbe zum Beispiel funktioniert, das Ausblenden der Titelleiste (wie ich es in meiner Frage versucht habe) jedoch nicht.
Sir_FZ

Antworten:


2

Um herauszufinden, warum die Optimierung des Metacity-Themas nicht mehr funktioniert, müssen wir uns den Gnome-Blog selbst ansehen, in dem der Gnome-Entwickler Florian Müllner erklärt, dass Gnome beim Zeichnen der Titelleisten überhaupt keine Metacity mehr verwendet und diese immer von Gtk + gezeichnet werden

Dies bedeutet, dass eine CSS-Antwort die einzige ist, die funktionieren wird, und ich glaube, dass Sie den größten Teil des Weges dorthin zurücklegen. Ich habe auf dieser Commit-Seite gelesen , dass das gewünschte CSS ungefähr so ​​ist:

.maximized .header-bar.default-decoration {
  padding: 0;
  font-size: 0.7em;
}

.maximized .header-bar.default-decoration .button.titlebutton {
  padding: 0;
  border-width: 0;
}

Der Grund, warum das CSS das Element nicht wie bei HTML (oder SVG) ausblenden oder entfernen kann, ist, dass das CSS für GTK-Eigenschaften gilt und die Sichtbarkeit eines Objekts keine Eigenschaft in der typischen GTK-Weise ist. Sie müssen tatsächlich widget.hide () aus dem Code aufrufen. Ähnlich wie Gimp-Themen Widgets ausblenden müssen, indem sie die gleiche Farbe wie der Hintergrund eines Hacks haben.


Die Antwort ist also, dass es nicht möglich ist, sich mit reinem CSS zu verstecken?
Sir_FZ

1
das stimmt, das css von gtk ist ziemlich schlecht.
Martin Owens -doctormo-

Sie scheinen richtig zu sein, sichtbar und versteckt sind nicht verfügbar. Meine vorübergehende Problemumgehung besteht darin, immer GtkParasite (auch bekannt als GtkInspector) zu verwenden, um die Kopfzeile auszublenden.
Peter Weber
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.