on master help sign in
autoresize terminal in compositor render
78980f5Jan Hrastnik
helix-term/src/compositor.rs+2
@@ -122,7 +122,9 @@ impl Compositor {
122 }
122 }
123
123
124 pub fn render(&mut self, cx: &mut Context) {
124 pub fn render(&mut self, cx: &mut Context) {
125+ self.terminal.autoresize().unwrap();
125 let area = self.size();
126 let area = self.size();
127+
126 let surface = self.terminal.current_buffer_mut();
128 let surface = self.terminal.current_buffer_mut();
127
129
128 for layer in &self.layers {
130 for layer in &self.layers {
helix-tui/src/terminal.rs+3−5
@@ -138,11 +138,9 @@ where
138
138
139 /// Queries the backend for size and resizes if it doesn't match the previous size.
139 /// Queries the backend for size and resizes if it doesn't match the previous size.
140 pub fn autoresize(&mut self) -> io::Result<()> {
140 pub fn autoresize(&mut self) -> io::Result<()> {
141− if self.viewport.resize_behavior == ResizeBehavior::Auto {
142− let size = self.size()?;
141+ let size = self.size()?;
143− if size != self.viewport.area {
142+ if size != self.viewport.area {
144− self.resize(size)?;
143+ self.resize(size)?;
145− }
146 };
144 };
147 Ok(())
145 Ok(())
148 }
146 }