aboutsummaryrefslogtreecommitdiffstats
path: root/teleterm-web/src/model.rs
diff options
context:
space:
mode:
Diffstat (limited to 'teleterm-web/src/model.rs')
-rw-r--r--teleterm-web/src/model.rs14
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())
}