From e48d83067a5a9b05dfd0a82761068866ab2d294d Mon Sep 17 00:00:00 2001 From: Can Celik Date: Mon, 10 Aug 2026 01:20:09 +0300 Subject: feat: add configurable tab bar status (#2586) * feat: show a zoom indicator in the desktop tab bar Reserve the right edge of the tab row for a ZOOM pill while the focused pane is zoomed, matching the accent style of the mode bars. The per-tab Z suffix stays; the pill makes the zoomed state visible at a glance like tmux's status-right flag. * feat: optionally show the hostname in the desktop tab bar Add ui.tab_bar_hostname to display the machine's hostname at the right edge of the tab row, like tmux's #h in status-right. The value resolves where the server renders, so remote sessions show the remote host. Off by default. * fix: strip control characters from the tab bar hostname * fix: hide the hostname when it would squeeze out the tab strip * feat: add configurable tab bar status * fix: harden tab bar status updates * fix: terminate tab bar status process trees * fix: disable status commands on unsupported platforms * fix: skip unchanged status command renders * fix: keep tab bar status opt-in by default --------- Co-authored-by: David Heinemeier Hansson --- src/platform/linux.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/platform/linux.rs') diff --git a/src/platform/linux.rs b/src/platform/linux.rs index 7932ae09..89e6c96d 100644 --- a/src/platform/linux.rs +++ b/src/platform/linux.rs @@ -13,9 +13,10 @@ use super::{ }; pub(crate) use super::unix_common::{ - create_remote_private_dir, create_remote_ssh_config_dir, create_remote_ssh_config_file, - remote_bridge_endpoint_path, remote_private_temp_base, remote_reattach_argument, - remote_reattach_program, remote_ssh_config_paths, + configure_status_command, create_remote_private_dir, create_remote_ssh_config_dir, + create_remote_ssh_config_file, hostname, local_datetime, remote_bridge_endpoint_path, + remote_private_temp_base, remote_reattach_argument, remote_reattach_program, + remote_ssh_config_paths, status_commands_supported, StatusCommandGuard, }; const WSL_MARKER_ENV_VARS: &[&str] = &["WSL_DISTRO_NAME", "WSL_INTEROP"]; -- cgit v1.2.3