Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
09-11-2007, 09:43 AM
|
#1
|
LQ Newbie
Registered: Sep 2006
Distribution: Slackware
Posts: 15
Rep:
|
gnu screen won't do 256 colors with xterm, rxvt, mrxvt
Hi folks!
I've just started using GNU screen -- wow! Only problem is, I can't figure out how to get 256 color support. I'm running it on mrxvt, and when I "tic mrxvt.terminfo" as recommended, I do get 256 colors on mrxvt. But within screen, no joy.
Here's my .screenrc. It's basically the default Slackware .screenrc, plus a few suggested lines I insered and then commented out when they didn't work. I wouldn't mind switching to another terminal if necessary to get this to work--I really want 256 colors on Vim within screen--but neither xterm nor rxvt seemed to work either.
Thanks in advance for any help!
Code:
#
# Example of a user's .screenrc file
#
# This is how one can set a reattach password:
# password ODSJQf.4IJN7E # "1234"
# no annoying audible bell, please
vbell on
# detach on hangup
autodetach on
# don't display the copyright page
startup_message off
# emulate .logout message
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
# advertise hardstatus support to $TERMCAP
# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
# make the shell in every window a login shell
#shell -$SHELL
# autoaka testing
# shellaka '> |tcsh'
# shellaka '$ |sh'
# set every new windows hardstatus line to somenthing descriptive
# defhstatus "screen: ^En (^Et)"
defscrollback 1000
# don't kill window after the process died
# zombie "^["
# enable support for the "alternate screen" capability in all windows
# altscreen on
################
#
# 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=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
#80/132 column switching must be enabled for ^AW to work
#change init sequence to not switch width
termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?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=\E[?5h:VN=\E[?5l'
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
# special xterm hardstatus: use the window title.
termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l'
termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
# emulate part of the 'K' charset
termcapinfo xterm 'XC=K%,%\E(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 flow 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 mode.
termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J
################
#
# other terminals
#
# make hp700 termcap/info better
termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
# Extend the vt100 desciption by some sequences.
termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
termcapinfo linux C8
# old rxvt versions also need this
# termcapinfo rxvt C8
#BILL: trying to fix rxvt
#termcap xterm 'AF=\E[3%dm:AB=\E[4%dm'
#terminfo xterm 'AF=\E[3%p1%dm:AB=\E[4%p1%dm'
###############
# # 256 colours #
# ###############
#
#.. __: http://frexx.de/xterm-256-notes/
#
# terminfo and termcap for nice 256 color terminal
# allow bold colors - necessary for some reason
#attrcolor b ".I"
# tell screen how to set colors. AB=background, AF=foreground
#termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
# erase background with current bg color
#defbce "on"
################
#
# keybindings
#
#remove some stupid / dangerous key bindings
bind k
bind ^k
bind .
bind ^\
bind \\
bind ^h
bind h
#make them better
bind 'K' kill
bind 'I' login on
bind 'O' login off
bind '}' history
# Yet another hack:
# Prepend/append register [/] to the paste if ^a^] is pressed.
# This lets me have autoindent mode in vi.
register [ "\033:se noai\015a"
register ] "\033:se ai\015a"
bind ^] paste [.]
################
#
# default windows
#
# BILL modifications:
#
#screen -t bash 0
#screen -t mail 1 mutt
screen -t vim 2 vim
#screen -t browser 3 elinks
#screen -t music 4 cmus
#screen -t mc 5 mc
# BILL: I don't care for ^A, even with CapsLock.
bindkey ^H command
bind . select bash
bind , select vim
# screen -t 40 2 rlogin server
# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
# hardstatus alwaysignore
# hardstatus alwayslastline "%Lw"
# bind = resize =
# bind + resize +1
# bind - resize -1
# bind _ resize max
#
# defnonblock 1
# blankerprg rain -d 100
# idle 30 blanker
|
|
|
09-12-2007, 07:38 PM
|
#2
|
Moderator
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
|
Never felt the urge to see colours in screen, but did a quick google anyway ;}
http://frexx.de/xterm-256-notes/
Does that help?
Cheers,
Tink
|
|
|
09-12-2007, 10:47 PM
|
#3
|
LQ Newbie
Registered: Sep 2006
Distribution: Slackware
Posts: 15
Original Poster
Rep:
|
Turned out to be a simple line in .vimrc!
Thanks, Tinkster!
When I saw that site, i had an eerie feeling I'd seen it before, but whether or not I had, this time I finally read it properly. On my system, it turned out to be a mere tweak to Vim. Somehow, mrxvt was smart enough to start Vim in 256 color mode, but in screen, I had to tell Vim to do 256 color like so:
vim -T xterm-256color
However, I had also neglected to check the Vim Tips. And this is truly eerie; I've set up my bash to show a VimTip every time I start a new shell (which is a second or so of waiting, actually), and _right after_ I got vim working under screen, what tip should pop up but:
http://www.vim.org/tips/tip.php?tip_id=1312
Which boils down to putting this line in .vimrc:
set t_Co=256
That did the trick. So you can set the terminal in .vimrc, or use -T (or set an alias to use -T from the command line).
On a weird side note: the two perl scripts on that link you gave to test for 256 color support ONLY worked under screen. On an xterm, rxvt, and mrxvt _without_ screen, they hung. But screen on mrxvt works (I didn't test screen on the other terminals). I'm afraid I may have messed something up in a desperate arcane tweak. But it doesn't matter much, since I want to use screen anyhow, I only mention it in case anyone else ever has a similar problem. No solution, I just noticed the same weirdness.
Thanks again!
Bill Powell
|
|
|
All times are GMT -5. The time now is 05:37 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|