Many screen tweaks including screen-256color termcap, white caption and hardstatus...
authorIain Patterson <me@iain.cx>
Thu, 27 Nov 2008 15:32:12 +0000 (15:32 +0000)
committerIain Patterson <me@iain.cx>
Thu, 27 Nov 2008 15:32:12 +0000 (15:32 +0000)
Fix for prompt command inside screen.

git-svn-id: https://svn.cambridge.iain.cx/profile/trunk@158 6be0d1a5-5cfe-0310-89b6-964be062b18b

.profile.d/prompt.bashrc
.screenrc
.terminfo/s/screen-256color [new file with mode: 0644]
.terminfo/s/screen-256color-bce [new file with mode: 0644]

index f874d59..cf133c7 100644 (file)
@@ -28,5 +28,9 @@ if ps -o comm= -p $PPID 2>/dev/null | grep '^vim*$' &>/dev/null; then
   info="$info$vimchild"
 fi
 blank=$(echo "$info" | sed 's/./ /g')
-export PROMPT_COMMAND="echo -ne '\033]0;$info\007\r$blank \r'"
+if [ "${TERM##screen}" = "$TERM" ]; then
+  export PROMPT_COMMAND="echo -ne '\033]0;$info\007\r$blank \r'"
+else
+  export PROMPT_COMMAND='echo -ne "\033k\033\\"'
+fi
 unset blank info vimchild SSH_FORWARDED
index 9b6a296..ba46de2 100644 (file)
--- a/.screenrc
+++ b/.screenrc
@@ -1,13 +1,75 @@
 # $Id$
+
+# Use Control-P instead of Control-A for stuff.
 escape ^pp
+
+# Turn off annoyances.
 vbell off
 startup_message off
-caption always "%?%F%{= gw}%:%{=b wk}%?%-Lw%50>%?%F%{+b}%:%{-b}%?[%n%f %t]%?%F%{-b}%:%{=b wk}%?%+Lw%<"
+
+################################################################################
+# Hotkeys.
+################################################################################
+# Up and down like Vim.
 bind j focus down
 bind k focus up
+# Close the current window.
+bind q remove
+# Set current window title.
 bind t title
 #bind h focus top
 #bind l focus bottom
+
+################################################################################
+# Terminal settings.
+################################################################################
+# How to set the foreground and background colours.
 termcapinfo putty*|rxvt-unicode|xterm* 'AB=\E[48;5;%dm:AF=\E[38;5;%dm'
+# How to set the hardstatus line (ie title bar).  Even though we don't use it.
+termcapinfo xterm* 'ts=\E]0;:fs=\007:ds=\E]0;\007'
+# Allow PgUp/PgDn to work correctly.
 termcapinfo * 'ti@:te@'
+# Support 256 colours with background clear erase.
+term screen-256color-bce
+# Turn on background clear erase.
 defbce on
+
+################################################################################
+# Caption settings.
+################################################################################
+# Display hardstatus on the bottom of the screen instead of in the title bar.
+hardstatus alwayslastline
+# The string is white on blue text showing: hostname, current window, date.
+hardstatus string "%{= BW}%H [screen %n: %t]%<%=%Y-%m-%d %0c:%s"
+# Show a caption bar for every window even if there are no splits.
+caption always
+# Format a caption string depending on whether it is related to the active 
+# window or not (%?%Fxxx%:yyy%? shows xxx if the window is active and yyy 
+# otherwise).
+# The caption consists of a white background bar.  The active window has 
+# a blue marker at either end and the text is blue.  Inactive windows have 
+# black text.  All windows show the name of all windows with the current one 
+# highlighted in square brackets.
+caption string "%?%F%{= BW}%:%{= ww}%?>%?%F%{= wb}%:%{= wk}%?%-Lw%50>%{+b}[%n%f %t]%{-b}%+Lw%<%=%?%F%{= BW}%:%{ ww}%?<"
+# %?%F%{= BW}%:%{= ww}%?>
+# Show the > marker in white on blue if the window is active or white on white
+# (ie hidden) if the window is inactve.
+#
+# %?%F%{= wb}%:%{= wk}%?
+# Show everything in blue on white if the window is active or black on white
+# if the window is inactive.
+#
+# %-Lw%50>
+# Left-aligned window list up to but not including the active window.
+#
+# %{+b}[%n%f%t]%{+b}
+# Show name, flags and title in bold.
+#
+# %+Lw
+# All remaining window names.
+#
+# %<%=
+# Truncate here then pad remaining text.
+#
+# %?%F{= BW}%:%{ ww}%?<
+# Show the < marker in the same way as the previous.
diff --git a/.terminfo/s/screen-256color b/.terminfo/s/screen-256color
new file mode 100644 (file)
index 0000000..0c13020
Binary files /dev/null and b/.terminfo/s/screen-256color differ
diff --git a/.terminfo/s/screen-256color-bce b/.terminfo/s/screen-256color-bce
new file mode 100644 (file)
index 0000000..eecfdbd
Binary files /dev/null and b/.terminfo/s/screen-256color-bce differ