Browse Source

[Fix #324] Add configurable terminal window and tab title formats

master
Sorin Ionescu 11 years ago
parent
commit
254b7c36d9
  1. 15
      modules/terminal/README.md
  2. 16
      modules/terminal/init.zsh
  3. 6
      runcoms/zpreztorc

15
modules/terminal/README.md

@ -17,6 +17,16 @@ Auto titling is disabled inside terminal multiplexers, except inside dvtm, since @@ -17,6 +17,16 @@ Auto titling is disabled inside terminal multiplexers, except inside dvtm, since
it interferes with window names defined in configuration files and profile
managers.
To format terminal window and tab titles, add the following to *zpreztorc*:
zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
`%s` will be replaced with the current working directory path or the currently
executing program name.
For a list of sequences, see [Expansion of Prompt Sequences][1].
Functions
---------
@ -26,9 +36,10 @@ Functions @@ -26,9 +36,10 @@ Functions
Authors
-------
*The authors of this module should be contacted via the [issue tracker][1].*
*The authors of this module should be contacted via the [issue tracker][2].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
[1]: https://github.com/sorin-ionescu/prezto/issues
[1]: http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Expansion-of-Prompt-Sequences
[2]: https://github.com/sorin-ionescu/prezto/issues

16
modules/terminal/init.zsh

@ -12,16 +12,26 @@ fi @@ -12,16 +12,26 @@ fi
# Sets the terminal or terminal multiplexer window title.
function set-window-title {
local title_format{,ted}
zstyle -s ':prezto:module:terminal:window-title' format 'title_format' || title_format="%s"
zformat -f title_formatted "$title_format" "s:$argv"
if [[ "$TERM" == screen* ]]; then
printf "\ek%s\e\\" ${(V)argv}
title_format="\ek%s\e\\"
else
printf "\e]2;%s\a" ${(V)argv}
title_format="\e]2;%s\a"
fi
printf "$title_format" "${(V%)title_formatted}"
}
# Sets the terminal tab title.
function set-tab-title {
printf "\e]1;%s\a" ${(V)argv}
local title_format{,ted}
zstyle -s ':prezto:module:terminal:tab-title' format 'title_format' || title_format="%s"
zformat -f title_formatted "$title_format" "s:$argv"
printf "\e]1;%s\a" ${(V%)title_formatted}
}
# Sets the tab and window titles with a given command.

6
runcoms/zpreztorc

@ -130,6 +130,12 @@ zstyle ':prezto:module:prompt' theme 'sorin' @@ -130,6 +130,12 @@ zstyle ':prezto:module:prompt' theme 'sorin'
# Auto set the tab and window titles.
# zstyle ':prezto:module:terminal' auto-title 'yes'
# Set the window title format.
# zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
# Set the tab title format.
# zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
#
# Tmux
#

Loading…
Cancel
Save