From 2612c8efa8002696124707e6b6a5ac1f0f44d0a6 Mon Sep 17 00:00:00 2001 From: Nicole O'Connor Date: Wed, 25 Feb 2026 14:34:54 -0800 Subject: [PATCH] initial terminal capability checks, allows detecting color depth and whether or not kitty extensions are available --- base/zeesh.zsh | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/base/zeesh.zsh b/base/zeesh.zsh index 380ea51..e6ce115 100644 --- a/base/zeesh.zsh +++ b/base/zeesh.zsh @@ -1,8 +1,38 @@ -#cols=$(stty -a | grep -Po '(?<=columns )\d+' | tr -d "\n") -cols=$COLUMNS +if (( ${+commands[stty]} )); then + cols=$(stty -a | grep -Po '(?<=columns )\d+' | tr -d "\n") +else + cols=$COLUMNS +fi setopt prompt_subst +# color depth +colordepth=4 +if [[ "$COLORTERM" == "truecolor" || "$COLORTERM" == "24bit" ]]; then + colorcount=16000000 +else case $TERM in + iterm |\ + vte* |\ + *-truecolor ) + export COLORTERM="truecolor" # environmental consistency + colorcount=16000000 + ;; + *-256color ) + colorcount=256 + ;; + *) + colorcount=$(tput colors | tr -d "\n") + ;; +esac + +kitty_available=n +if (( ${+KITTY_SHELL_INTEGRATION} )); then + kitty_available=y + [[ "$KITTY_SHELL_INTEGRATION" == "disabled" ]] && return # don't integrate if configured not to + autoload -Uz -- "${KITTY_INSTALLATION_DIR}/shell-integration/zsh/kitty-integration" + kitty-integration && unfunction kitty-integration +fi + function ticker_message () { if [[ $_zeeshdev_ticker_newlines == 0 ]]; then printf "\r${(l:$cols:: :)A}\r"