diff options
Diffstat (limited to 'teleterm-web/src/model.rs')
-rw-r--r-- | teleterm-web/src/model.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/teleterm-web/src/model.rs b/teleterm-web/src/model.rs index 8a22f1b..1ba1f40 100644 --- a/teleterm-web/src/model.rs +++ b/teleterm-web/src/model.rs @@ -15,13 +15,21 @@ impl Drop for WatchConn { } } -#[derive(Default)] pub(crate) struct Model { + config: crate::config::Config, sessions: Vec<crate::protocol::Session>, watch_conn: Option<WatchConn>, } impl Model { + pub(crate) fn new(config: crate::config::Config) -> Self { + Self { + config, + sessions: vec![], + watch_conn: None, + } + } + pub(crate) fn update( &mut self, msg: crate::Msg, @@ -84,6 +92,10 @@ impl Model { } } + pub(crate) fn title(&self) -> &str { + &self.config.title + } + pub(crate) fn screen(&self) -> Option<&vt100::Screen> { self.watch_conn.as_ref().map(|conn| conn.term.screen()) } |