summaryrefslogtreecommitdiff
path: root/plugins/tmux
diff options
context:
space:
mode:
authorPandu E POLUAN <pepoluan@gmail.com>2024-02-28 16:52:09 +0700
committerGitHub <noreply@github.com>2024-02-28 10:52:09 +0100
commit51bf9fc2def19f1d3059c15059df21ddddb518fd (patch)
tree746b417b5dbf09ce8293c20d6e3a9f86598049a5 /plugins/tmux
parentc891b7e6ada5427f4c8cca05c8ed1ae33cb49943 (diff)
downloadzsh-51bf9fc2def19f1d3059c15059df21ddddb518fd.tar.gz
zsh-51bf9fc2def19f1d3059c15059df21ddddb518fd.tar.bz2
zsh-51bf9fc2def19f1d3059c15059df21ddddb518fd.zip
feat(tmux): prioritize `tmux` terminfo (#12243)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
Diffstat (limited to 'plugins/tmux')
-rw-r--r--plugins/tmux/README.md32
-rw-r--r--plugins/tmux/tmux.plugin.zsh16
2 files changed, 28 insertions, 20 deletions
diff --git a/plugins/tmux/README.md b/plugins/tmux/README.md
index a253457f2..50f8b2c2f 100644
--- a/plugins/tmux/README.md
+++ b/plugins/tmux/README.md
@@ -1,7 +1,7 @@
# tmux
-This plugin provides aliases for [tmux](https://tmux.github.io/), the terminal multiplexer.
-To use it add `tmux` to the plugins array in your zshrc file.
+This plugin provides aliases for [tmux](https://tmux.github.io/), the terminal multiplexer. To use it add
+`tmux` to the plugins array in your zshrc file.
```zsh
plugins=(... tmux)
@@ -29,17 +29,17 @@ The plugin also supports the following:
## Configuration Variables
-| Variable | Description |
-| ----------------------------------- | ------------------------------------------------------------------------------------------- |
-| `ZSH_TMUX_AUTOSTART` | Automatically starts tmux (default: `false`) |
-| `ZSH_TMUX_AUTOSTART_ONCE` | Autostart only if tmux hasn't been started previously (default: `true`) |
-| `ZSH_TMUX_AUTOCONNECT` | Automatically connect to a previous session if it exits (default: `true`) |
-| `ZSH_TMUX_AUTOQUIT` | Automatically closes terminal once tmux exits (default: `ZSH_TMUX_AUTOSTART`) |
-| `ZSH_TMUX_CONFIG` | Set the configuration path (default: `$HOME/.tmux.conf`, `$XDG_CONFIG_HOME/tmux/tmux.conf`) |
-| `ZSH_TMUX_DEFAULT_SESSION_NAME` | Set tmux default session name when autostart is enabled |
-| `ZSH_TMUX_DETACHED` | Set the detached mode (default: `false`) |
-| `ZSH_TMUX_FIXTERM` | Sets `$TERM` to 256-color term or not based on current terminal support |
-| `ZSH_TMUX_FIXTERM_WITHOUT_256COLOR` | `$TERM` to use for non 256-color terminals (default: `screen`) |
-| `ZSH_TMUX_FIXTERM_WITH_256COLOR` | `$TERM` to use for 256-color terminals (default: `screen-256color` |
-| `ZSH_TMUX_ITERM2` | Sets the `-CC` option for iTerm2 tmux integration (default: `false`) |
-| `ZSH_TMUX_UNICODE` | Set `tmux -u` option to support unicode |
+| Variable | Description |
+| ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
+| `ZSH_TMUX_AUTOSTART` | Automatically starts tmux (default: `false`) |
+| `ZSH_TMUX_AUTOSTART_ONCE` | Autostart only if tmux hasn't been started previously (default: `true`) |
+| `ZSH_TMUX_AUTOCONNECT` | Automatically connect to a previous session if it exits (default: `true`) |
+| `ZSH_TMUX_AUTOQUIT` | Automatically closes terminal once tmux exits (default: `ZSH_TMUX_AUTOSTART`) |
+| `ZSH_TMUX_CONFIG` | Set the configuration path (default: `$HOME/.tmux.conf`, `$XDG_CONFIG_HOME/tmux/tmux.conf`) |
+| `ZSH_TMUX_DEFAULT_SESSION_NAME` | Set tmux default session name when autostart is enabled |
+| `ZSH_TMUX_DETACHED` | Set the detached mode (default: `false`) |
+| `ZSH_TMUX_FIXTERM` | Sets `$TERM` to 256-color term or not based on current terminal support |
+| `ZSH_TMUX_FIXTERM_WITHOUT_256COLOR` | `$TERM` to use for non 256-color terminals (default: `tmux` if available, `screen` otherwise) |
+| `ZSH_TMUX_FIXTERM_WITH_256COLOR` | `$TERM` to use for 256-color terminals (default: `tmux-256color` if available, `screen-256color` otherwise) |
+| `ZSH_TMUX_ITERM2` | Sets the `-CC` option for iTerm2 tmux integration (default: `false`) |
+| `ZSH_TMUX_UNICODE` | Set `tmux -u` option to support unicode |
diff --git a/plugins/tmux/tmux.plugin.zsh b/plugins/tmux/tmux.plugin.zsh
index 0ecb0a5b5..09e326344 100644
--- a/plugins/tmux/tmux.plugin.zsh
+++ b/plugins/tmux/tmux.plugin.zsh
@@ -20,13 +20,21 @@ fi
# Set '-CC' option for iTerm2 tmux integration
: ${ZSH_TMUX_ITERM2:=false}
# The TERM to use for non-256 color terminals.
-# Tmux states this should be screen, but you may need to change it on
+# Tmux states this should be tmux|screen, but you may need to change it on
# systems without the proper terminfo
-: ${ZSH_TMUX_FIXTERM_WITHOUT_256COLOR:=screen}
+if [[ -e /usr/share/terminfo/t/tmux ]]; then
+ : ${ZSH_TMUX_FIXTERM_WITHOUT_256COLOR:=tmux}
+else
+ : ${ZSH_TMUX_FIXTERM_WITHOUT_256COLOR:=screen}
+fi
# The TERM to use for 256 color terminals.
-# Tmux states this should be screen-256color, but you may need to change it on
+# Tmux states this should be (tmux|screen)-256color, but you may need to change it on
# systems without the proper terminfo
-: ${ZSH_TMUX_FIXTERM_WITH_256COLOR:=screen-256color}
+if [[ -e /usr/share/terminfo/t/tmux-256color ]]; then
+ : ${ZSH_TMUX_FIXTERM_WITH_256COLOR:=tmux-256color}
+else
+ : ${ZSH_TMUX_FIXTERM_WITH_256COLOR:=screen-256color}
+fi
# Set the configuration path
if [[ -e $HOME/.tmux.conf ]]; then
: ${ZSH_TMUX_CONFIG:=$HOME/.tmux.conf}