mirror of
https://github.com/gitui-org/gitui
synced 2026-05-23 08:58:21 +00:00
Set the terminal title to gitui ({repo_path}) (#2484)
This commit is contained in:
parent
5755c096b4
commit
3ede6b56f1
2 changed files with 27 additions and 5 deletions
|
|
@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
* The default key to close the commit error message popup is now the Escape key [[@wessamfathi](https://github.com/wessamfathi)] ([#2552](https://github.com/extrawurst/gitui/issues/2552))
|
||||
* use OSC52 copying in case other methods fail [[@naseschwarz](https://github.com/naseschwarz)] ([#2366](https://github.com/gitui-org/gitui/issues/2366))
|
||||
* push: respect `branch.*.merge` when push default is upstream [[@vlad-anger](https://github.com/vlad-anger)] ([#2542](https://github.com/gitui-org/gitui/pull/2542))
|
||||
* set the terminal title to `gitui ({repo_path})` [[@acuteenvy](https://github.com/acuteenvy)] ([#2462](https://github.com/gitui-org/gitui/issues/2462))
|
||||
|
||||
## [0.27.0] - 2024-01-14
|
||||
|
||||
|
|
|
|||
31
src/main.rs
31
src/main.rs
|
|
@ -47,7 +47,7 @@ mod ui;
|
|||
mod watcher;
|
||||
|
||||
use crate::{app::App, args::process_cmdline};
|
||||
use anyhow::{bail, Result};
|
||||
use anyhow::{anyhow, bail, Result};
|
||||
use app::QuitState;
|
||||
use asyncgit::{
|
||||
sync::{utils::repo_work_dir, RepoPath},
|
||||
|
|
@ -71,7 +71,9 @@ use spinner::Spinner;
|
|||
use std::{
|
||||
cell::RefCell,
|
||||
io::{self, Stdout},
|
||||
panic, process,
|
||||
panic,
|
||||
path::Path,
|
||||
process,
|
||||
time::{Duration, Instant},
|
||||
};
|
||||
use ui::style::Theme;
|
||||
|
|
@ -142,8 +144,8 @@ fn main() -> Result<()> {
|
|||
|
||||
set_panic_handlers()?;
|
||||
|
||||
let mut terminal = start_terminal(io::stdout())?;
|
||||
let mut repo_path = cliargs.repo_path;
|
||||
let mut terminal = start_terminal(io::stdout(), &repo_path)?;
|
||||
let input = Input::new();
|
||||
|
||||
let updater = if cliargs.notify_watcher {
|
||||
|
|
@ -359,8 +361,27 @@ fn select_event(
|
|||
Ok(ev)
|
||||
}
|
||||
|
||||
fn start_terminal(buf: Stdout) -> io::Result<Terminal> {
|
||||
let backend = CrosstermBackend::new(buf);
|
||||
fn start_terminal(
|
||||
buf: Stdout,
|
||||
repo_path: &RepoPath,
|
||||
) -> Result<Terminal> {
|
||||
let mut path = repo_path.gitpath().canonicalize()?;
|
||||
let home = dirs::home_dir().ok_or_else(|| {
|
||||
anyhow!("failed to find the home directory")
|
||||
})?;
|
||||
if path.starts_with(&home) {
|
||||
let relative_part = path
|
||||
.strip_prefix(&home)
|
||||
.expect("can't fail because of the if statement");
|
||||
path = Path::new("~").join(relative_part);
|
||||
}
|
||||
|
||||
let mut backend = CrosstermBackend::new(buf);
|
||||
backend.execute(crossterm::terminal::SetTitle(format!(
|
||||
"gitui ({})",
|
||||
path.display()
|
||||
)))?;
|
||||
|
||||
let mut terminal = Terminal::new(backend)?;
|
||||
terminal.hide_cursor()?;
|
||||
terminal.clear()?;
|
||||
|
|
|
|||
Loading…
Reference in a new issue