带有 GTK+ 3.20 的 CSS 文件的所有 GtkTextView 的单字体
Mono fonts for all GtkTextView with CSS file with GTK+ 3.20
我使用 GTK+ 在 C 中开发一个项目。
此项目最低适用于 GTK+3.6。
我想将所有 GTKTextView 设置为等宽字体。在上次将 GTK 更新到 GTK3.20 之前,我的 CSS sheet 与 :
配合得很好
GtkTextView {
font: Mono
}
现在,它不再起作用了。然而,林间空地有一个 属性 :
<property name="monospace">True</property>
但是这个 属性 自 GTK 3.16 以来就存在,而 debian stable 在 GTK3.14 上。我当然想要它便携。
我的问题是:我该怎么做?如何将我的所有 gtkTextView 设置为等宽字体?
GTK 3.20 改变了 CSS 选择器的工作方式。
GTK 3.20 之前的版本,这是正确的:
GtkTextView {
font-family: monospace;
}
从 GTK 3.20 开始,这是正确的:
textview {
font-family: monospace;
}
如果您不确定特定平台,您可以使用 GTK Inspector 检查需要什么选择器:运行 您的应用 GTK_DEBUG=interactive
然后按 Ctrl+Shift+D.
值得注意的是,GTK 3.20 之前的 CSS 选择器是实验性的,并不是为了稳定 API。
如果您必须支持两种形式,那么最好的办法可能是制作两个样式表并根据 GTK_MAJOR_VERSION
和 GTK_MINOR_VERSION
.[=15= 的值加载一个或另一个。 ]
我使用 GTK+ 在 C 中开发一个项目。 此项目最低适用于 GTK+3.6。
我想将所有 GTKTextView 设置为等宽字体。在上次将 GTK 更新到 GTK3.20 之前,我的 CSS sheet 与 :
配合得很好GtkTextView {
font: Mono
}
现在,它不再起作用了。然而,林间空地有一个 属性 :
<property name="monospace">True</property>
但是这个 属性 自 GTK 3.16 以来就存在,而 debian stable 在 GTK3.14 上。我当然想要它便携。
我的问题是:我该怎么做?如何将我的所有 gtkTextView 设置为等宽字体?
GTK 3.20 改变了 CSS 选择器的工作方式。
GTK 3.20 之前的版本,这是正确的:
GtkTextView {
font-family: monospace;
}
从 GTK 3.20 开始,这是正确的:
textview {
font-family: monospace;
}
如果您不确定特定平台,您可以使用 GTK Inspector 检查需要什么选择器:运行 您的应用 GTK_DEBUG=interactive
然后按 Ctrl+Shift+D.
值得注意的是,GTK 3.20 之前的 CSS 选择器是实验性的,并不是为了稳定 API。
如果您必须支持两种形式,那么最好的办法可能是制作两个样式表并根据 GTK_MAJOR_VERSION
和 GTK_MINOR_VERSION
.[=15= 的值加载一个或另一个。 ]