GTK2アプリケーションの既存のスクロールバー

GTK2アプリケーションの既存のスクロールバー

~/.config/gtk-3.0/gtk.cssGTK3アプリケーションでスクロールボタン付きの既存のスクロールバーを有効にするためにコンテンツを含むファイルを追加しました。

scrollbar {
        -GtkScrollbar-has-backward-stepper: true;
        -GtkScrollbar-has-forward-stepper: true;
}

scrollbar slider {
        border: 0;
        border-radius: 0;
        min-width: 15px;
        min-height: 15px;
}

以下の最初のスクリーンショットは、GTK3アプリケーションPlumaの結果を示しています。次の2番目のスクリーンショットのPCManFMなどのGTK2アプリケーションで同じ種類のスクロールバーを取得するにはどうすればよいですか?

2020-08-13 修正:私はこの提案を試しましたより大きな静的スクロールバーを取得する方法...ただし、以下の2番目のスクリーンショットに示すように、まだ狭いスクロールバーを持つファイルブラウザPCManFMには違いはありません。

2020-08-18 修正:以下のMiloš Pavlovićが提案したように、GTK2アプリケーションのスクロールバーを変更しましたが、スクロールバーにステッパーがなく、スライダーが非常に奇妙に見えます。以下の3番目のスクリーンショットを参照してください。

既存のスクロールバーを含むテキストエディタ

新しい狭いスクロールバーを持つファイルブラウザ

奇妙なスクロールバーを持つファイルブラウザ

2023-07-19 修正:Debian 12をインストールした後、この問題をより深く掘り下げました。次の行をコメントアウトすると、正しいステップ矢印が得られます/usr/share/themes/Adwaita/gtk-2.0/main.rc

image {
  function = ARROW
  detail   = "vscrollbar"
}
image {
  function = ARROW
  detail   = "hscrollbar"
}

以下は、次の設定を使用したスクリーンショットです~/.gtkrc-2.0

gtk-theme-name = "Adwaita"
gtk-icon-theme-name = "Adwaita"

style "TraditionalScrollbar" {
     GtkScrollbar::has-backward-stepper = 1
     GtkScrollbar::has-forward-stepper = 1
     GtkScrollbar::slider-width = 16
     GtkScrollbar::stepper-size = 16
}

class "GtkScrollbar" style "TraditionalScrollbar"

ファイルブラウザに奇妙なスクロールバーがありますが、正しいステップ矢印があります。

残りの質問はどのように

  1. スクロールバーを中空にすることなくしっかりとします。
  2. スクロールバーにスロットを埋めるようにします。
  3. スクロールバーの角を丸くしないでください。

ベストアンサー1

隠しファイルがあります.gtkrc-2.0現在、テーマを扱うデフォルトフォルダにあります。作成されていない場合。ファイルの末尾の横に貼り付け

style "myscrollbar"
{
     GtkRange::stepper-size = 16
     GtkRange::trough-under-steppers = 1
     GtkScrollbar::has-backward-stepper = 1  
     GtkScrollbar::has-forward-stepper = 1
     GtkScrollbar::slider-width = 16
     GtkScrollbar::trough-border = 2
}
class "GtkScrollbar" style "myscrollbar"

変更を適用するには、保存してログアウト/ログインしてください。

  • GtkRange::stepper-size = 0 --> 16は矢印ボタンの垂直サイズであり、値が0の場合、矢印ボタンは消えます(少なくとも一部のアプリでは?)

  • GtkRange::trough-under-steppers = 0 --> 1 (よりきれいに見えるように左スクロールバーの境界線を矢印の上に展開)

  • GtkScrollbar::has-*-stepper = 0 --> 1 スクロール矢印をオンにします(ステッパーサイズが 0 でない場合)。

  • GtkScrollbar::slider-width = 14 --> 16は明らかにスクロールバーとスライダの幅を変更しますが、右側の境界線がない場合はスライダが中央からずれ、幅が同じ高さではないようです。

  • GtkScrollbar::trough-border = 0 --> 2 は (左) 境界線を取得するための要件の一部です。

おすすめ記事