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
c2e8bed2
Commit
c2e8bed2
authored
Mar 07, 2011
by
Fredrik Appelberg
Browse files
Added a plugin for GNU Screen.
parent
0504a010
Changes
1
Show whitespace changes
Inline
Side-by-side
plugins/screen/screen.plugin.zsh
0 → 100644
View file @
c2e8bed2
# if using GNU screen, let the zsh tell screen what the title and hardstatus
# of the tab window should be.
if
[[
$TERM
==
"screen"
]]
;
then
if
[[
$_GET_PATH
==
''
]]
;
then
_GET_PATH
=
'echo $PWD | sed "s/^\/Users\//~/;s/^~$USER/~/"'
fi
if
[[
$_GET_HOST
==
''
]]
;
then
_GET_HOST
=
'echo $HOST | sed "s/\..*//"'
fi
# use the current user as the prefix of the current tab title
TAB_TITLE_PREFIX
=
'"`'
$_GET_HOST
'`:`'
$_GET_PATH
' | sed "s:..*/::"`$PROMPT_CHAR"'
# when at the shell prompt, show a truncated version of the current path (with
# standard ~ replacement) as the rest of the title.
TAB_TITLE_PROMPT
=
'$SHELL:t'
# when running a command, show the title of the command as the rest of the
# title (truncate to drop the path to the command)
TAB_TITLE_EXEC
=
'$cmd[1]:t'
# use the current path (with standard ~ replacement) in square brackets as the
# prefix of the tab window hardstatus.
TAB_HARDSTATUS_PREFIX
=
'"[`'
$_GET_PATH
'`] "'
# when at the shell prompt, use the shell name (truncated to remove the path to
# the shell) as the rest of the title
TAB_HARDSTATUS_PROMPT
=
'$SHELL:t'
# when running a command, show the command name and arguments as the rest of
# the title
TAB_HARDSTATUS_EXEC
=
'$cmd'
# tell GNU screen what the tab window title ($1) and the hardstatus($2) should be
function
screen_set
()
{
# set the tab window title (%t) for screen
print
-nR
$'
\0
33k'
$1
$'
\0
33'
\\\
# set hardstatus of tab window (%h) for screen
print
-nR
$'
\0
33]0;'
$2
$'
\a
'
}
# called by zsh before executing a command
function
preexec
()
{
local
-a
cmd
;
cmd
=(
${
(z)1
}
)
# the command string
eval
"tab_title=
$TAB_TITLE_PREFIX
:
$TAB_TITLE_EXEC
"
eval
"tab_hardstatus=
$TAB_HARDSTATUS_PREFIX
:
$TAB_HARDSTATUS_EXEC
"
screen_set
$tab_title
$tab_hardstatus
}
# called by zsh before showing the prompt
function
precmd
()
{
eval
"tab_title=
$TAB_TITLE_PREFIX
:
$TAB_TITLE_PROMPT
"
eval
"tab_hardstatus=
$TAB_HARDSTATUS_PREFIX
:
$TAB_HARDSTATUS_PROMPT
"
screen_set
$tab_title
$tab_hardstatus
}
fi
\ No newline at end of file
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