set terminal title to cwd

This commit is contained in:
rabite 2019-03-11 22:14:17 +01:00
parent d3a385ea75
commit 370064387b
2 changed files with 12 additions and 0 deletions

View File

@ -18,6 +18,7 @@ use crate::fail::{HResult, HError, ErrorLog};
use crate::widget::{Events, WidgetCore};
use crate::proclist::ProcView;
use crate::bookmarks::BMPopup;
use crate::term::ScreenExt;
#[derive(PartialEq)]
pub enum FileBrowserWidgets {
@ -339,6 +340,12 @@ impl FileBrowser {
Ok(())
}
pub fn set_title(&self) -> HResult<()> {
let cwd = &self.cwd.path.to_string_lossy();
self.core.screen.lock()?.set_title(cwd)?;
Ok(())
}
pub fn update_preview(&mut self) -> HResult<()> {
if !self.main_widget()?.ready() { return Ok(()) }
let file = self.selected_file()?.clone();
@ -680,6 +687,7 @@ impl Widget for FileBrowser {
}
fn refresh(&mut self) -> HResult<()> {
//self.proc_view.lock()?.set_coordinates(self.get_coordinates()?);
self.set_title().ok();
self.handle_dir_events().ok();
self.columns.refresh().ok();
self.set_left_selection().log();

View File

@ -40,6 +40,10 @@ pub trait ScreenExt: Write {
let (_, ysize) = termion::terminal_size()?;
Ok((ysize - 1) as usize)
}
fn set_title(&mut self, title: &str) -> HResult<()> {
write!(self, "\x1b]2;{}", title)?;
Ok(())
}
}
impl ScreenExt for AlternateScreen<Box<Stdout>> {}