# Function to change the tmux window background color based on SSH environment function windowc() { local profile_name="$1" case "$profile_name" in services*|service*) tmux set-window-option -g window-status-bg colour1 # Change to the desired color ;; production*|prod*|web*) tmux set-window-option -g window-status-bg "rgb:00/7F/7F" # Change to the desired color ;; staging*|stage*) tmux set-window-option -g window-status-bg colour3 # Change to the desired color ;; *) tmux set-window-option -g window-status-bg default # Use default color for any other server ;; esac } # Function to automatically create a new tmux window when using ssh function colourssh() { # Run the original ssh command, capturing its output ssh_output=$(command ssh "$@") # Check if the ssh command was successful if [ $? -eq 0 ]; then # Extract the hostname from the ssh command using pcregrep host=$(echo "$ssh_output" | pcregrep -o1 'ssh\s+([^\@]+)') # Change tmux window background color based on SSH environment windowc "$host" # Create a new tmux window tmux new-window fi } # Alias to use the modified ssh function alias ssh="colourssh"