summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main.rs9
-rw-r--r--zellij-client/src/lib.rs3
2 files changed, 10 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index 122747b65..e4651fd1f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -58,10 +58,17 @@ fn list_sessions() {
match fs::read_dir(&*ZELLIJ_SOCK_DIR) {
Ok(files) => {
let mut is_empty = true;
+ let session_name = std::env::var("ZELLIJ_SESSION_NAME").unwrap_or("".into());
files.for_each(|file| {
let file = file.unwrap();
if file.file_type().unwrap().is_socket() {
- println!("{}", file.file_name().into_string().unwrap());
+ let fname = file.file_name().into_string().unwrap();
+ let suffix = if session_name == fname {
+ " (current)"
+ } else {
+ ""
+ };
+ println!("{}{}", fname, suffix);
is_empty = false;
}
});
diff --git a/zellij-client/src/lib.rs b/zellij-client/src/lib.rs
index 4ff377063..8f192c388 100644
--- a/zellij-client/src/lib.rs
+++ b/zellij-client/src/lib.rs
@@ -17,7 +17,7 @@ use crate::{
use zellij_utils::cli::CliArgs;
use zellij_utils::{
channels::{SenderType, SenderWithContext, SyncChannelWithContext},
- consts::ZELLIJ_IPC_PIPE,
+ consts::{SESSION_NAME, ZELLIJ_IPC_PIPE},
errors::{ClientContext, ContextType, ErrorInstruction},
input::config::Config,
input::options::Options,
@@ -95,6 +95,7 @@ pub fn start_client(mut os_input: Box<dyn ClientOsApi>, opts: CliArgs, config: C
.write(clear_client_terminal_attributes.as_bytes())
.unwrap();
std::env::set_var(&"ZELLIJ", "0");
+ std::env::set_var(&"ZELLIJ_SESSION_NAME", &*SESSION_NAME);
#[cfg(not(any(feature = "test", test)))]
spawn_server(&*ZELLIJ_IPC_PIPE).unwrap();