GTK 3 中的主题更改

Adwaita 作为默认的 GTK+ 主题已经有相当长一段时间了(在所有平台上)。它为我们提供了很好的服务,但是 Adwaita 已经有一段时间没有进行重大更新了,而且人们希望对其进行刷新。

更新 Adwaita 是一项挑战,因为大多数 GTK 应用程序都使用稳定的 3.x 系列,其中一些应用程序为其自己的自定义小部件包含与 Adwaita 兼容的主题。考虑到此发布系列的稳定性,我们不希望对应用程序造成主题兼容性问题。同时,3.x 是当今使用的主要 GTK 版本,我们希望确保 GTK 应用程序不会感到过时或老旧。

一项试验

已经考虑和讨论了许多解决此问题的方法。在这些方法中,已经提出了一项初步计划,以试用一组有限的主题更改,并有可能将其包含在未来的 GTK 3 版本中。

我们希望,由于主题更改的有限性,它们不应给应用程序带来问题。但是,我们不想仅仅寄希望于希望。因此,接下来的三周被指定为测试和咨询期,如果一切顺利,我们希望将该主题合并到 GTK 3.24.4 版本中。

应该强调的是,这些更改仅限于 Adwaita 本身。自 GTK 3.22 以来,GTK 的 CSS 选择器和类没有更改,Adwaita 中的更改不会影响其他 GTK 主题。

Adwaita 更新的主题与 GTK 3.24.3 版本并行提供,作为一个单独的 tarball,可以从这里下载。邀请 GTK 应用程序开发人员试用 3.24.3 以及新版本的 Adwaita,并报告他们遇到的任何问题。GTK 团队和 Adwaita 作者也将进行自己的测试。关于如何以各种方式测试新主题的详细信息,请参见这里

我们希望在 GTK 的稳定承诺和提供最新应用程序的愿望之间取得平衡。这是一个需要认真权衡的微妙平衡,我们渴望在此过程中与 GTK 用户互动!

主题更改

本文的其余部分总结了对主题所做的更改。这有望证明这些更改的有限程度。它还将帮助开发人员知道在测试时要寻找什么。

颜色

许多 Adwaita 颜色都经过了非常轻微的调整。新颜色比以前的版本更鲜艳,因此赋予 Adwaita 更多的活力和生机。新颜色还构成更广泛的调色板的一部分,该调色板正用于应用程序图标。这些颜色也可以用于自定义应用程序样式。

颜色变化很细微,因此新旧版本之间的任何兼容性问题都不应很严重。蓝色仍然是蓝色(只是略有不同的阴影!),红色仍然是红色。从视觉上看,主题的暗色和浅色版本基本保持不变。

Adwaita 的暗色变体,显示旧版(左)和新版(右)之间的细微颜色变化。

请注意,在暗色主题中,按钮的红色略有减弱。

标题栏和按钮

在更新的 Adwaita 版本中,大多数小部件没有进行专门更改。但是,标题栏和按钮是进行小部件特定更改的两个地方。在这两种情况下,都努力使其更轻巧,更优雅。

按钮已将其坚实的边框替换为阴影。它们的背景也更平坦,并且它们的角更圆。它们的形状也略有改变。

标题栏已更新以补充按钮更改。这主要是通过使它们的背景变暗来完成的,以便给按钮提供足够的对比度。标题栏的聚焦状态和未聚焦状态之间的对比度也增加了。这使得用户更容易识别聚焦的窗口。

乍一看,这些变化是一些最重要的变化,但是它们是通过一些相当小的代码更改实现的。

GNOME 日历应用程序中的标题栏(旧版本在顶部,新版本在底部)

开关

除了标题栏和按钮外,唯一要更改的小部件是开关。当 GTK 首次引入开关时,它们在桌面上是一个相当新的概念。因此,它们包含明确的“开”和“关”标签,以便传达开关的工作方式。从那时起,开关小部件变得无处不在,并且用户已经熟悉了不包含标签的开关。

最新的 Adwaita 更改使主题与其他平台保持一致,并通过删除标签并引入更圆润的形状,使开关外观更紧凑和现代。

其他地方,没有变化

除了上面描述的更改外,Adwaita 中的变化很少。绝大多数小部件保持不变,尽管颜色略有改变。通常,UI 布局不应改变,用户应该对这些更改感到满意。

找出差异(Adwaita 的旧版本在左侧,新版本在右侧)

结论

请尝试新主题。我们希望您喜欢它!

如果您是 GTK 应用程序开发人员,我们感谢您的反馈。您可以在 IRC(GimpNet 上的 #gtk+ 频道)或通过 gtk-devel-list 邮件列表,或在 gitlab 中提交问题来提供反馈。

关于“GTK 3 中的主题更改”的 61 条评论

  1. 我不确定我是否在切换开关上正确理解了这一点,但是代替“开”文本的垂直线是“1”吗?如果是这样,并且如果关闭位置与“0”匹配,那么我的反馈是这是视觉噪音。假设我的母亲会因为背景(蓝色/灰色)和切换控件的位置(右/左)而理解切换,但不会意识到她也在看 1/0 符号,除非有人指出。在此之前,它们只会分散她基于其他指示器的直觉,而这些指示器与最近其他平台设定的期望相匹配。

    如果那不是 1/0 符号,那很抱歉,但我仍然会赞成上面建议的替代方案:使用复选框样式的“复选标记”/X 符号代替。与“开”/“关”不同,这些不需要翻译,并且除了颜色对比和切换位置之外,仍然提供可访问的,可见的差异。

  2. 该符号是

    U+23FD 电源开启符号

    但是没有多少字体具有此符号,因此您很可能会看到回退

    U+2759 中等垂直条

  3. 我真的很喜欢主题更改!

    但是如何使用主题的颜色进行自定义应用程序样式设置?
    例如,如果我想使用 Adwaita 的绿色来通过 Cairo 进行自定义渲染。

  4. 我同意 Josh 的观点,即切换开关中的电源符号很奇怪。我认为不需要任何符号。大量的现有移动/桌面界面仅使用水平药丸形状 + 圆形滑块。启用时为彩色背景,关闭时为非彩色。我认为很大一部分用户只需要这些指示即可。由于其他界面没有符号,因此这些符号更有可能使使用者感到困惑。如果有的话,复选标记似乎是使用符号时最标准的。

  5. 我已经使用了一段时间了,我不得不说它毕竟还不错。仍然更喜欢旧的 Adwaita,但不像一开始那样可怕。
    请狠狠批评我吧,我的举止让我罪有应得。

    [WORDPRESS HASHCASH] 发布者发送给我们的“0”,这不是一个哈希值。

  6. 我不是开发人员,但我每周至少将 3 个主题安装到 Arch Xfce 中,但由于某种原因,此主题在将解压后的主题放入文件夹后甚至没有出现在我的设置中。

  7. 我是一名应用程序开发人员,以下是我建设性的评论/意见……

    (1)
    GtkNotebook 中的标签页没有边框。区分标签页是否被选中的唯一方式是看蓝色下划线。这可能是一个 bug,应该在新主题发布之前修复。您可以在 Nautilus 的文件属性对话框中看到这个问题。

    (2)
    Andrey Sh 1月15日关于灰度饱和度的评论很有道理:当前的 NewAdwaita 阴影有点太“暖”了。当您浏览她在帖子中链接的“之前”和“之后”的图片时,您可以看到差异。(也许当前为 NewAdwaita 选择的灰色在更广泛的显示器上可能提供更好的对比度?请告知我们)。

    (3)
    关于开关中的“OFF”文本,最后一个“F”被开关的右侧边框截断,“O”则接触到圆形开关的边缘。如果这个文本周围有更多的填充就好了。“ON”文本的填充非常好,因为它只有两个字符宽。

    因为开关的宽度必须是其圆形按钮的两倍,所以解决方案不像拉伸开关来增加“ON”和“OFF”文本的左右填充那样简单——圆形按钮会拉伸成椭圆形,或者开关在开和关的位置之间会有太多的间隙。

    自动使用窄字体可能是一个选项,但并非所有字体都有窄变体。

    最终,一个好的折衷方案可能是减小开关中“ON”和“OFF”文本的字体大小,使其外观更专业和优雅。

    最后一个选项:也许可以创建使用与其他 UI 元素(如按钮)相同半径的圆角矩形开关?开关内的按钮将是匹配的圆角正方形形状。这将提供一致性,为 NewAdwaita 创建统一的外观,同时为开关内的“OFF”文本提供足够的空间。

    (4)
    fthx 1月15日的评论和“某人”1月16日关于 Nautilus 标题路径栏中文件夹按钮接触斜杠的评论很有道理。也许应该用图形元素替换斜杠(例如,人字形——一个非常高的“大于符号”;换句话说,一个拉伸和更细的版本“>”——它将占用与“/”相同的水平空间,而不会接触文件夹按钮)。

    根据“某人”1月16日的评论,当视图更改时(从列表视图更改为缩略图视图),Nautilus 的背景不应该更改。

    (5)
    我不同意其他人关于日历按钮的评论。对我来说,这三个按钮很明显是一个组的一部分,因为它们都相互接触。此外,左侧和右侧的按钮都有圆角,在视觉上为整个三个按钮组创建了一个圆角矩形边框。也很明显,该组中的“月”按钮已经被按下,而“周”和“年”按钮仍然可以选择。

    (6)
    问题:GTK2 应用程序不是使用 NewAdwaita 主题渲染的,所以它们看起来不协调。但是,GTK2 应用程序在使用当前的 Adwaita 主题时看起来很好。当 NewAdwaita 发布时,GTK2 应用程序会发生什么?有没有办法在使用 NewAdwaita 时获得一致的外观和感觉?

  8. 您好,

    在 iOS 上,1/0 符号可以作为开关的辅助功能添加,如果您看不到蓝色,例如,这非常重要。

    我正在使用 gtk 3.24.5,新的按钮似乎只有蓝色,没有 1/0。

    是否可以在“通用访问”的“视觉”部分下重新激活此选项?:(


  9. 我已经使用这个一段时间了,我真的很讨厌它。主要是关于标题栏和按钮之间的对比度。
    有没有办法恢复旧的?如果您能帮助我,我将不胜感激。

评论已关闭。