From 9e302984ccb13a65e3e504fa7692b223f546ff84 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Fri, 29 May 2026 20:38:55 +0300 Subject: feat: expose foreground cwd in pane info refs #345 --- src/platform/linux.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/platform/linux.rs') diff --git a/src/platform/linux.rs b/src/platform/linux.rs index 046e72c7..d1ae07f1 100644 --- a/src/platform/linux.rs +++ b/src/platform/linux.rs @@ -1,5 +1,6 @@ use std::{ io::Write, + os::fd::RawFd, path::PathBuf, process::{Command, Stdio}, }; @@ -86,6 +87,11 @@ pub fn foreground_process_group_id(child_pid: u32) -> Option { (tpgid > 0).then_some(tpgid as u32) } +pub fn foreground_process_group_id_for_tty_fd(fd: RawFd) -> Option { + let pgid = unsafe { libc::tcgetpgrp(fd) }; + (pgid > 0).then_some(pgid as u32) +} + fn process_pgrp_and_comm(pid: u32) -> Option<(i32, String)> { let stat = std::fs::read_to_string(format!("/proc/{pid}/stat")).ok()?; let close = stat.rfind(')')?; -- cgit v1.2.3