diff --git a/src/cursive.rs b/src/cursive.rs index 9b29c92..dcb2ce5 100644 --- a/src/cursive.rs +++ b/src/cursive.rs @@ -55,9 +55,9 @@ impl Cursive { let (tx, rx) = mpsc::channel(); - let mut res = Cursive { + Cursive { theme: theme, - screens: Vec::new(), + screens: vec![views::StackView::new()], last_sizes: Vec::new(), global_callbacks: HashMap::new(), menubar: views::Menubar::new(), @@ -66,11 +66,7 @@ impl Cursive { cb_source: rx, cb_sink: tx, backend: backend, - }; - - res.screens.push(views::StackView::new()); - - res + } } /// Returns a sink for asynchronous callbacks. @@ -218,6 +214,11 @@ impl Cursive { &mut self.screens[id] } + /// Returns the id of the currently active screen. + pub fn active_screen(&self) -> ScreenId { + self.active_screen + } + /// Adds a new screen, and returns its ID. pub fn add_screen(&mut self) -> ScreenId { let res = self.screens.len();