【问题标题】:Default gtk css color scheme默认 gtk css 配色方案
【发布时间】:2016-01-27 18:40:52
【问题描述】:

GtkStyle 已被弃用。 我想改用 GtkStyleContext (gtk_style_context_lookup_color) 来查找主题颜色。

我更换成功:

    color = style->bg [GTK_STATE_SELECTED];

与:

    gtk_style_context_lookup_color (context, "theme_selected_bg_color", &color)

但我不知道用什么颜色名称来代替:

    color = style->dark [GTK_STATE_NORMAL];

我需要这些颜色来将它们转移到用 cairo 创建的 vumeter:

gdk_cairo_set_source_rgba (cr, &color);

【问题讨论】:

标签: css gtk


【解决方案1】:

据我所知,颜色名称列表不是 GTK 的一部分,而是 gtk 主题的属性。这些是 gtk 3.22 的默认 gnome 主题 adwaita 的颜色名称: https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-22/gtk/theme/Adwaita/_colors-public.scss

我正在复制内联名称:

  • theme_fg_color
  • theme_text_color
  • theme_bg_color
  • theme_base_color
  • theme_selected_bg_color
  • theme_selected_fg_color
  • insensitive_bg_color
  • insensitive_fg_color
  • insensitive_base_color
  • theme_unfocused_fg_color
  • theme_unfocused_text_color
  • theme_unfocused_bg_color
  • theme_unfocused_base_color
  • theme_unfocused_selected_bg_color
  • theme_unfocused_selected_fg_color
  • unfocused_insensitive_color
  • 边界
  • unfocused_borders
  • warning_color
  • error_color
  • success_color

【讨论】:

    【解决方案2】:

    据我了解,GTK 不允许您创建尊重当前主题的自定义小部件,因此

    1. 为您的整个应用程序编写自定义 css,即从外部禁用主题
    2. 使用调用 gtk_render_background 的 hack,直到您在辅助 cairo 表面获得有用的东西。请参阅我对自己问题的回答:https://stackoverflow.com/a/44063175/877329
    3. 选择另一个工具包,或者为了成为叛逆者而坚持使用 Gtk+2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-05
      • 2011-02-07
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多