aboutsummaryrefslogtreecommitdiff
path: root/src/client/input.rs
diff options
context:
space:
mode:
authorWakaTaira <50697207+WakaTaira@users.noreply.github.com>2026-08-02 22:53:08 +0900
committerGitHub <noreply@github.com>2026-08-02 16:53:08 +0300
commit890113943999bd0332f535864b982190907449c4 (patch)
tree602fa09cf67a48ef19eab38ba3cb0b67a9f17189 /src/client/input.rs
parentd742e51530a78b77e1debe23a72ea7178810f3fd (diff)
fix(client): query host cell size when the ioctl reports no pixels (#2160)
Diffstat (limited to 'src/client/input.rs')
-rw-r--r--src/client/input.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/client/input.rs b/src/client/input.rs
index 09e0eb92..fd374491 100644
--- a/src/client/input.rs
+++ b/src/client/input.rs
@@ -39,11 +39,16 @@ pub fn stdin_reader_loop(
event_tx: mpsc::Sender<ClientLoopEvent>,
should_quit: &Arc<AtomicBool>,
host_color_query_sent: bool,
+ host_cell_size_query_sent: bool,
host_mouse_capture_active: Arc<AtomicBool>,
) {
#[cfg(windows)]
{
- let _ = (host_color_query_sent, host_mouse_capture_active);
+ let _ = (
+ host_color_query_sent,
+ host_cell_size_query_sent,
+ host_mouse_capture_active,
+ );
windows_stdin_reader_loop(event_tx, should_quit);
}
@@ -52,6 +57,7 @@ pub fn stdin_reader_loop(
event_tx,
should_quit,
host_color_query_sent,
+ host_cell_size_query_sent,
host_mouse_capture_active,
);
}
@@ -61,6 +67,7 @@ fn unix_stdin_reader_loop(
event_tx: mpsc::Sender<ClientLoopEvent>,
should_quit: &Arc<AtomicBool>,
host_color_query_sent: bool,
+ host_cell_size_query_sent: bool,
host_mouse_capture_active: Arc<AtomicBool>,
) {
let stdin = io::stdin();
@@ -71,6 +78,9 @@ fn unix_stdin_reader_loop(
framer.host_color_query_sent();
framer.enable_host_color_scheme_change_tracking();
}
+ if host_cell_size_query_sent {
+ framer.host_cell_size_query_sent();
+ }
let mut pending_palette = Vec::new();
while !should_quit.load(Ordering::Acquire) {
@@ -422,6 +432,7 @@ fn windows_client_input_event_from_raw(
crate::raw_input::RawInputEvent::HostDefaultColor { .. }
| crate::raw_input::RawInputEvent::HostPaletteColors { .. }
| crate::raw_input::RawInputEvent::HostColorSchemeChanged(_)
+ | crate::raw_input::RawInputEvent::HostCellSizeReport { .. }
| crate::raw_input::RawInputEvent::Unsupported => None,
}
}