aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/clients.rs5
-rw-r--r--src/server/headless.rs17
2 files changed, 17 insertions, 5 deletions
diff --git a/src/server/clients.rs b/src/server/clients.rs
index b1a56f0e..3782bd15 100644
--- a/src/server/clients.rs
+++ b/src/server/clients.rs
@@ -198,6 +198,11 @@ impl ClientConnection {
self.set_host_appearance(Some(color.inferred_appearance()), false);
}
}
+ crate::raw_input::RawInputEvent::HostPaletteColors { colors } => {
+ for &(index, color) in colors {
+ next_theme = next_theme.with_palette_color(index, color);
+ }
+ }
crate::raw_input::RawInputEvent::HostColorSchemeChanged(appearance) => {
changed |= self.set_host_appearance(Some(*appearance), true);
}
diff --git a/src/server/headless.rs b/src/server/headless.rs
index 6817e2ad..f330fbec 100644
--- a/src/server/headless.rs
+++ b/src/server/headless.rs
@@ -2615,11 +2615,9 @@ impl HeadlessServer {
self.resize_shared_runtime_to_effective_size_before_input();
}
let theme_changed = self.update_client_host_theme_from_events(client_id, &events);
- self.app.route_client_events_from(
- client_id,
- events,
- self.foreground_client_id == Some(client_id),
- );
+ // Client-local theme reports were applied above; routing them again would update every
+ // pane once per palette entry instead of once per captured batch.
+ self.app.route_client_events_from(client_id, events, false);
if self.app.take_config_reloaded_from_disk() {
self.reload_server_config(false);
} else {
@@ -5965,6 +5963,7 @@ next_tab = ""
g: 20,
b: 20,
}),
+ ..Default::default()
};
server
.app
@@ -6018,6 +6017,7 @@ next_tab = ""
g: 20,
b: 20,
}),
+ ..Default::default()
};
server
.app
@@ -6082,6 +6082,7 @@ next_tab = ""
g: 20,
b: 20,
}),
+ ..Default::default()
};
server
.app
@@ -6517,6 +6518,7 @@ next_tab = ""
g: 0x22,
b: 0x33,
}),
+ ..Default::default()
},
None,
1,
@@ -6540,6 +6542,7 @@ next_tab = ""
g: 0xee,
b: 0xff,
}),
+ ..Default::default()
},
None,
2,
@@ -6587,6 +6590,7 @@ next_tab = ""
g: 0x50,
b: 0x60,
}),
+ ..Default::default()
};
server.clients.insert(
1,
@@ -6637,6 +6641,7 @@ next_tab = ""
crate::terminal_theme::TerminalTheme {
foreground: None,
background: Some(crate::terminal_theme::RgbColor { r: 0, g: 0, b: 0 }),
+ ..Default::default()
},
None,
1,
@@ -6656,6 +6661,7 @@ next_tab = ""
g: 255,
b: 255,
}),
+ ..Default::default()
},
None,
2,
@@ -6685,6 +6691,7 @@ next_tab = ""
g: 0x50,
b: 0x60,
}),
+ ..Default::default()
};
server.app.state.host_terminal_theme = initial_theme;
server.clients.insert(