Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
4ef3bb48
Commit
4ef3bb48
authored
Feb 21, 2011
by
Robby Russell
Browse files
Merge branch 'refactor-term' of
https://github.com/nel/oh-my-zsh
into nel-refactor-term
parents
4378d859
faac3ba8
Changes
2
Show whitespace changes
Inline
Side-by-side
lib/functions.zsh
View file @
4ef3bb48
## fixme, i duplicated this in xterms - oops
function
title
{
if
[[
$TERM
==
"screen"
]]
;
then
# Use these two for GNU Screen:
print
-nR
$'
\0
33k'
$1
$'
\0
33'
\\\
print
-nR
$'
\0
33]0;'
$2
$'
\a
'
elif
[[
(
$TERM
=
~
"^xterm"
)
]]
||
[[
(
$TERM
==
"rxvt"
)
]]
;
then
# Use this one instead for XTerms:
print
-nR
$'
\0
33]0;'
$*
$'
\a
'
fi
}
function
precmd
{
title zsh
"
$PWD
"
}
function
preexec
{
emulate
-L
zsh
local
-a
cmd
;
cmd
=(
${
(z)1
}
)
title
$cmd
[
1]:t
"
$cmd
[2,-1]"
}
function
zsh_stats
()
{
function
zsh_stats
()
{
history
|
awk
'{print $2}'
|
sort
|
uniq
-c
|
sort
-rn
|
head
history
|
awk
'{print $2}'
|
sort
|
uniq
-c
|
sort
-rn
|
head
}
}
...
...
lib/termsupport.zsh
View file @
4ef3bb48
case
"
$TERM
"
in
#usage: title short_tab_title looooooooooooooooooooooggggggg_windows_title
xterm
*
|
rxvt
*
)
#http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1
preexec
()
{
#Fully support screen, iterm, and probably most modern xterm and rxvt
print
-Pn
"
\e
]0;%n@%m:
$1
\a
"
# xterm
#Limited support for Apple Terminal (Terminal can't set window or tab separately)
}
function
title
{
precmd
()
{
if
[[
"
$TERM
"
==
"screen"
]]
;
then
print
-Pn
"
\e
]0;%n@%m: %~
\a
"
# xterm
print
-Pn
"
\e
k
$1
\e\\
"
#set screen hardstatus, usually truncated at 20 chars
}
elif
[[
(
$TERM
=
~
"^xterm"
)
]]
||
[[
(
$TERM
==
"rxvt"
)
]]
||
[[
"
$TERM_PROGRAM
"
==
"iTerm.app"
]]
;
then
;;
print
-Pn
"
\e
]2;
$2
\a
"
#set window name
screen
*
)
print
-Pn
"
\e
]1;
$1
\a
"
#set icon (=tab) name (will override window name on broken terminal)
preexec
()
{
fi
local
CMD
=
${
1
[(wr)^(*=*|sudo|ssh|-*)]
}
}
echo
-ne
"
\e
k
$CMD
\e\\
"
print
-Pn
"
\e
]0;%n@%m:
$1
\a
"
# xterm
ZSH_THEME_TERM_TAB_TITLE_IDLE
=
"%15<..<%~%<<"
#15 char left truncated PWD
}
ZSH_THEME_TERM_TITLE_IDLE
=
"%n@%m: %~"
precmd
()
{
echo
-ne
"
\e
kzsh
\e\\
"
#Appears when you have the prompt
print
-Pn
"
\e
]0;%n@%m: %~
\a
"
# xterm
function
precmd
{
}
title
$ZSH_THEME_TERM_TAB_TITLE_IDLE
$ZSH_THEME_TERM_TITLE_IDLE
;;
}
esac
\ No newline at end of file
#Appears at the beginning of (and during) of command execution
function
preexec
{
local
CMD
=
${
1
[(wr)^(*=*|sudo|ssh|-*)]
}
#cmd name only, or if this is sudo or ssh, the next cmd
title
"
$CMD
"
"%100>...>
$2
%<<"
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment