GenPi64 / gentoo-on-rpi-64bit

Bootable 64-bit Gentoo image for the Raspberry Pi4B, 3B & 3B+, with Linux 5.4, OpenRC, Xfce4, VC4/V3D, camera and h/w codec support, weekly-autobuild binhost
GNU General Public License v3.0
56 stars 8 forks source link

[minor] custom screenrc #20

Open petaflot opened 2 years ago

petaflot commented 2 years ago

I was really happy to see that vim and screen are included in the image :-)

years ago some dude gave me his screenrc file, and I believe it would be worth including it too : it features a very useful status bar.

http://dpaste.com/8334UXDKM

petaflot commented 2 years ago

# Do not remove the above line. This screen rc file was updated
# by the newsyntax script.
# Copyright 1999-2002 Gentoo Technologies, Inc.  
# Distributed under the terms of the GNU General Public License v2  
# 
# /etc/screenrc
#
# This is the system wide screenrc.
#
# You can use this file to change the default behavior of screen system wide
# or copy it to ~/.screenrc and use it as a starting point for your own
# settings.
#
# Commands in this file are used to set options, bind screen functions to
# keys, redefine terminal capabilities, and to automatically establish one or
# more windows at the beginning of your screen session.
#
# This is not a comprehensive list of options, look at the screen manual for
# details on everything that you can put in this file. Others examples:
# http://www.math.fu-berlin.de/~guckes/screen/config.php3
#
#

# ==============================================================================
# SCREEN SETTINGS
# ==============================================================================

# ESCAPE - the COMMAND CHARACTER
# ===============================================================
# escape ^aa  # default
# escape ^pp  # suggested binding for emacs users

# PASSWORD
# ===============================================================
# This commands sets the *internal* password for the screen session.
# WARNING!! If this is set then a "lock" command will only let you in to the 
# session after you enter the user's account password and then *also* 
# the internal password for that session. This gives additional safety but,
# if you forget the internal password then you cannot resume your session.
# Use :password to generate a password
# password ODSJQf.4IJN7E    # "1234"

# VARIABLES
# ===============================================================
# No annoying audible bell, using "visual bell"
  vbell on              # default: off
  vbell_msg "   -- Bell,Bell!! --   "   # default: "Wuff,Wuff!!"

# Automatically detach on hangup. 
  autodetach on             # default: on

# Don't display the copyright page
  startup_message off           # default: on

# Uses nethack-style messages
# nethack on                # default: off

# Affects the copying of text regions
  crlf off              # default: off

# Enable/disable multiuser defmode. Standard screen operation is singleuser.
# In multiuser defmode the commands acladd, aclchg, aclgrp and acldel can be used
# to enable (and disable) other user accessing this screen session.
# Requires suid-root.
  multiuser on              

# Change default defscrollback value for new windows
  defscrollback 5000            # default: 100

# Define the time that all windows defmonitored for silence should 
# wait before displaying a message. Default 30 seconds.
  silencewait 15            # default: 30

# bufferfile:   The file to use for commands
#               "readbuf" ('<') and  "writebuf" ('>'):
# bufferfile            $HOME/.screen_exchange
#
# hardcopydir:  The directory which contains all hardcopies.
# hardcopydir           ~/.hardcopy
# hardcopydir           ~/.screen
#
# shell:  Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default deflogin shell.
# If begins with a '-' character, the shell will be started as a deflogin shell.
# shell                 zsh
# shell                 bash
# shell                 ksh
# shell -$SHELL
shell -/bin/bash

# shell -$SHELL
# shellaka '> |tcsh'
 shelltitle 'SH'

# emulate .logout message
  pow_detach_msg "Screen session of $USER@$HOST terminated."

# caption always " %w --- %c:%s"
# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"

# advertise hardstatus support to $TERMCAP
# termcapinfo  * '' 'hs:ts=_:fs=\:ds=_\'

# set every new windows hardstatus line to somenthing descriptive
# defhstatus "screen: ^En (^Et)"

# don't kill window after the process died
# zombie "^["

# XTERM TWEAKS
# ===============================================================

# xterm understands both im/ic and doesn't have a status line.
# Note: Do not specify im and ic in the real termcap/info file as
# some programs (e.g. vi) will not work anymore.
  termcap  xterm hs@:cs=[%i%d;%dr:im=:ei=
  terminfo xterm hs@:cs=[%i%p1%d;%p2%dr:im=:ei=

# 80/132 column switching must be enabled for ^AW to work
# change init sequence to not switch width
  termcapinfo  xterm Z0=[?3h:Z1=[?3l:is=[?7h[?1;4;6l

# Make the output buffer large for (fast) xterms.
# termcapinfo xterm* OL=10000
  termcapinfo xterm* OL=100

# tell screen that xterm can switch to dark background and has function
# keys.
  termcapinfo xterm 'VR=[?5h:VN=[?5l'
  termcapinfo xterm 'k1=[11~:k2=[12~:k3=[13~:k4=[14~'
  termcapinfo xterm 'kh=OH:kI=[2~:kD=[3~:kH=OF:kP=[5~:kN=[6~'

# special xterm hardstatus: use the window title.
  termcapinfo xterm 'hs:ts=]2;:fs=:ds=]2;screen'

#terminfo xterm 'vb=[?5h$<200/>[?5l'
  termcapinfo xterm 'vi=[?25l:ve=[?25h:vs='

# emulate part of the 'K' charset
  termcapinfo xterm 'XC=K%,%(B,[\304,\\\326,]\334,{\344,|\366,}\374,~\337'

# xterm-52 tweaks:
# - uses background color for delete operations
  termcapinfo xterm* be

# WYSE TERMINALS
# ===============================================================

#wyse-75-42 must have defflow control (xo = "terminal uses xon/xoff")
#essential to have it here, as this is a slow terminal.
  termcapinfo wy75-42 xo:hs@

# New termcap sequences for cursor application defmode.
  termcapinfo wy* CS=[?1h:CE=[?1l:vi=[?25l:ve=[?25h:VR=[?5h:VN=[?5l:cb=:CD=

# OTHER TERMINALS
# ===============================================================

# make hp700 termcap/info better
  termcapinfo  hp700 'Z0=[?3h:Z1=[?3l:hs:ts=[62"p[0$~[2$~[1$}:fs=[0}[61"p:ds=[62"p[1$~[61"p:ic@'

# Extend the vt100 desciption by some sequences.
  termcap  vt100* ms:AL=[%dL:DL=[%dM:UP=[%dA:DO=[%dB:LE=[%dD:RI=[%dC
  terminfo vt100* ms:AL=[%p1%dL:DL=[%p1%dM:UP=[%p1%dA:DO=[%p1%dB:LE=[%p1%dD:RI=[%p1%dC
  termcapinfo linux C8
# old rxvt versions also need this
# termcapinfo rxvt C8

# KEYBINDINGS
# ==============================================================
# The "bind" command assign keys to (internal) commands
# SCREEN checks all the keys you type; you type the key
# which is known as the "command character" then SCREEN
# eats this key, too, and checks whether this key is
# "bound" to a command.  If so then SCREEN will execute it.
#
# The command "bind" allows you to chose which keys
# will be assigned to the commands.
#
# Some commands are bound to several keys -
# usually to both some letter and its corresponding
# control key combination, eg the command
# "(create) screen" is bound to both 'c' and '^C'.
#
# The following list shows the default bindings:
#
# break       ^B b
# clear       C
# colon       :
# copy        ^[ [
# detach      ^D d
# digraph     ^V
# displays    *
# dumptermcap .
# fit         F
# defflow        ^F f
# focus       ^I
# hardcopy    h
# help        ?
# history     { }
# info        i
# kill        K k
# lastmsg     ^M m
# license     ,
# log         H
# deflogin       L
# meta        x
# defmonitor     M
# next        ^@ ^N sp n
# number      N
# only        Q
# other       ^X
# pow_break   B
# pow_detach  D
# prev        ^H ^P p ^?
# quit        \
# readbuf     <
# redisplay   ^L l
# remove      X
# removebuf   =
# reset       Z
# screen      ^C c
# select      " '
# silence     _
# split       S
# suspend     ^Z z
# time        ^T t
# title       A
# vbell       ^G
# version     v
# width       W
# windows     ^W w
# defwrap        ^R r
# writebuf    >
# xoff        ^S s
# xon         ^Q q
# ^]  paste .
# -   select -
# 0   select 0
# 1   select 1
# 2   select 2
# 3   select 3
# 4   select 4
# 5   select 5
# 6   select 6
# 7   select 7
# 8   select 8
# 9   select 9
# I   deflogin on
# O   deflogin off
# ]   paste .
#

# And here are the default bind commands if you need them:
#
# bind A title
# bind C clear
# bind D pow_detach
# bind F fit
# bind H log
# bind I deflogin on
# bind K kill
# bind L deflogin
# bind M defmonitor
# bind N number
# bind O deflogin off
# bind Q only
# bind S split
# bind W width
# bind X remove
# bind Z reset

# Let's remove some dangerous key bindings ...
  bind k
  bind ^k
# bind .  dumptermcap # default
  bind .
# bind ^\ quit        # default
  bind ^\
# bind \ quit        # default
  bind \
# bind ^h ???         # default
  bind ^h
# bind h  hardcopy    # default
  bind h

# ... and make them better.
  bind 'K' kill
  bind 'I' deflogin on
  bind 'O' deflogin off
  bind '}' history

# Yet another hack:
# Prepend/append register [/] to the paste if ^a^] is pressed.
# This lets me have autoindent defmode in vi.
  register [ ":se noai
a"
  register ] ":se ai
a"
  bind ^] paste [.]

# hardstatus alwaysignore
# hardstatus alwayslastline "%Lw"

# Resize the current region. The space will be removed from or added to 
# the region below or if there's not enough space from the region above.
  bind = resize =
  bind + resize +3
  bind - resize -3
# bind _ resize max
#
# attrcolor u "-u b"
# attrcolor b "R"

# STARTUP SCREENS
# ===============================================================
# Defines the time screen delays a new message when one message
# is currently displayed. The default is 1 second.
msgminwait 0

# Time a message is displayed if screen is not disturbed by
# other activity. The dafault is 5 seconds:
  msgwait 0

# Briefly show the version number of this starting
# screen session - but only for *one* second:
  msgwait 0
  version

# Welcome the user:
# echo "welcome :-)"
# echo "I love you today."

# Uncomment one/some following lines to automatically let
# SCREEN start some programs in the given window numbers:
# screen -t NEWS        3 slrn
# screen -t WWW         4 links http://www.math.fu-berlin.de/~guckes/
# screen 5
# screen 6

# Set the environment variable var to value string. If only var is specified,
# you'll be prompted to enter a value. If no parameters are specified,
# you'll be prompted for both variable and value. The environment is
# inherited by all subsequently forked shells.
# setenv PROMPT_COMMAND 'echo -n -e "k\134"'

# Don't you want to start programs which need a DISPLAY ?
# setenv DISPLAY ''

#sorendition 25 02
hardstatus alwayslastline '%{-b gk}[%{-b Y}%D,%c%{-b g}]-[%{+b Y}%l%{-b g}] (%{-b yk}%-Lw%50>%{yr}%n%f* %t%{yk}%+Lw%<%{-b gk})%=[%{+b Wk}%H%{-b gk}]'
# xcaption always "%{=B c}%t %{.ky} %{=B g}%n %{=bB km}"```