我面临的问题是
GtkSource.View
不会根据用户选择的主题(亮/暗模式)更改主题。这是屏幕截图:屏幕截图。
有趣的是,这与
Gtk.TextView
完美配合。我怎样才能使它也与 GtkSource.View
一起工作?
Gtk.SourceView有自己的配色方案,由GtkSource.StyleScheme控制。如果您想要深色主题外观,则必须创建一个主题并手动应用它。
Gtk.SourceView 不是基于 libadwaita 构建的,后者在 Gnome 中实现了深色主题。
我发现它在构造时为
StyleScheme
定义新的 Buffer
时具有自适应性,
至少在 Fedora 41 上:
use sourceview5::{Buffer, StyleScheme, View};
View::builder()
.buffer(
&Buffer::builder()
.text("some value")
.style_scheme(&StyleScheme::builder().build())
.build(),
)
.build()