Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
c2e8bed2
Commit
c2e8bed2
authored
Mar 07, 2011
by
Fredrik Appelberg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added a plugin for GNU Screen.
parent
0504a010
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
0 deletions
+54
-0
screen.plugin.zsh
plugins/screen/screen.plugin.zsh
+54
-0
No files found.
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