web-dev-qa-db-ja.com

GNOME 3.16で最大化されたときにタイトルバーを非表示にする

GNOME 3.14および3.12では、metacity-theme-3.xmlに変更がありました。これは、基本的に、ウィンドウが最大化されたときにタイトルバーをウィンドウから非表示にします。このメソッドを Maximus Two 拡張よりも優先したのは、拡張の動作が一貫していないため、最大化されたウィンドウのタイトルバーの代わりに透明なバーが表示されることがあるためです(通常、サスペンドから再開した後)。

GNOME 3.16では、metacity TweakはGNOMEで使用されなくなったため機能しなくなりました。次のようなカスタムgtk3 cssを試しました。

.maximized .titlebar {
    display: none;
}

そしてそのバリエーション、無駄に。これは、gtk-3カスタムcssで実現できますか?

UpdatePixel Saver は、これをバグなしで実行するための優れた拡張機能ですが、手動で行う方法。

10
Sir_FZ

メタシティテーマTweakが機能しなくなった理由の核心をつかむには、gnome開発者が FlorianMüllnerが説明している タイトルバーを描画するときにgnomeがメタシティをまったく使用しないgnomeブログ自体を調べる必要がありますそして、それらは常にGtk +によって描かれます

これは、CSSの回答が唯一有効であることを意味し、あなたはそこに最もいると信じています。私は このコミットページで を読みます、あなたが望むcssはこのようなものです:

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

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

Cssがhtml(またはsvg)のように要素を非表示または削除できないのは、cssがgtkプロパティに適用され、オブジェクトの可視性が典型的なGtkの方法のプロパティではないためです。実際には、コードからwidget.hide()を呼び出す必要があります。 Gimpのテーマが、ハックとして背景と同じ色にすることでウィジェットを非表示にする方法に似ています。