Just thought it might be useful posting the contents of my .screenrc file. I’ll go over it in some basic detail.
escape ^||
msgwait 2
altscreen on
autodetach on
defscrollback 4000
startup_message off
# Message/bell/activity info
vbell off
vbell_msg " *beep* "
sorendition "+b kG"
bell "%c:bell -> %n%f %t^G"
activity "%c activity -> %n%f %t"
# Don't block screen session waiting for unresponsive window
nonblock on
hardstatus alwayslastline '%{= gk}%-Lw%{= rW}%50> %n%f* %t %{-}%+Lw%< %= %{= kG} %H %{= Bw} %l %{= kG} %Y-%m-%d %c %{g}'
# Window number starts at 1, not 0
bind 'q' quit
bind c screen 1
bind 0 select 10
# Tell screen that you term can scroll and bind Shift+PgUp/PgDn
termcapinfo xterm ti@:te@
bindkey -m "^[[5;2~" stuff ^b
bindkey -m "^[[6;2~" stuff ^f
# Setup our default apps
screen -t htop 1 htop
screen -t iptraf 2 nice sudo iptraf
screen -t messages -M 3 tail -n 2000 -F /var/log/messages
screen 4 bash
select 1
OK, so firstly I like using Ctrl-Pipe for some reason – ‘^|’ I set some initial startup parameters, autodetach useful in case you need to kill X for some reason. Then is the bell & activity customizations, nothing special to look at here. My hardstatus is something I threw together based upon several I’ve seen online and the custom one I wrote for work. I configured it to start numbering with ‘1′ instead of ‘0′ for window numbers and for xterm to recognize scrolling with my mousewheel. Final section is just setting up some default windows. I found the ‘-F’ flag to be vital versus the typical lowercase ‘-f’, as it implies ‘–retry’. This is needed due to log rotation, it will force tail to retry opening file upon failure. Otherwise once the file gets rotated, output from tail will just stop.
Screenshots:

