sesh_shared/term.rs
1use anyhow::Result;
2use termion;
3
4pub struct Size {
5 /// Number of columns
6 pub cols: u16,
7 /// Number of rows
8 pub rows: u16,
9}
10
11impl Size {
12 pub fn term_size() -> Result<Size> {
13 let (cols, rows) = termion::terminal_size()?;
14 Ok(Size { cols, rows })
15 }
16}
17
18// impl Into<sesh_proto::
19
20impl From<&Size> for libc::winsize {
21 fn from(val: &Size) -> Self {
22 libc::winsize {
23 ws_row: val.rows,
24 ws_col: val.cols,
25 ws_xpixel: 0,
26 ws_ypixel: 0,
27 }
28 }
29}