Skip to content
2 changes: 2 additions & 0 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ pub fn build(b: *std.Build) !void {
// All our steps which we'll hook up later. The steps are shown
// up here just so that they are more self-documenting.
const libvt_step = b.step("lib-vt", "Build libghostty-vt");
const cli_helper_step = b.step("cli-helper", "Build the Ghostty CLI helper");
const run_step = b.step("run", "Run the app");
const run_valgrind_step = b.step(
"run-valgrind",
Expand All @@ -61,6 +62,7 @@ pub fn build(b: *std.Build) !void {

// Ghostty executable, the actual runnable Ghostty program.
const exe = try buildpkg.GhosttyExe.init(b, &config, &deps);
cli_helper_step.dependOn(&exe.install_step.step);

// Ghostty docs
const docs = try buildpkg.GhosttyDocs.init(b, &deps);
Expand Down
7 changes: 7 additions & 0 deletions src/Surface.zig
Original file line number Diff line number Diff line change
Expand Up @@ -1797,6 +1797,13 @@ pub fn updateConfig(
termio_config_ptr.* = try termio.Termio.DerivedConfig.init(self.alloc, config);
errdefer termio_config_ptr.deinit();

// Always use the surface's own conditional state for the termio config.
// When changeConditionalState returns null (no theme-conditional config
// rules), the config's conditional_state inherits from the app level
// which may have a stale theme. This ensures DECRPM mode 2031 reports
// the correct color scheme for this surface.
termio_config_ptr.conditional_state = self.config_conditional_state;

_ = self.renderer_thread.mailbox.push(renderer_message, .{ .forever = {} });
self.queueIo(.{
.change_config = .{
Expand Down
Loading
Loading