View previous topic :: View next topic |
Author |
Message |
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
Posted: Fri Sep 03, 2004 12:22 pm Post subject: really useful Xterm, Aterm and URXVT features (GNU Screen) |
|
|
_ Xterm
since I read threads on this subject, I was playing around to find some good features.
Now I´ve them put here all together.
Code: | Note that when reading X resources, aterm recognizes two class
names: XTerm and Aterm. The class name XTerm allows resources
common to both aterm and xterm to be easily configured,
while the class name Aterm allows resources unique to aterm |
from man urxvt:
Code: | Note that when reading X resources, urxvt recognizes two class
names: XTerm and Rxvt. The class name XTerm allows resources
common to both urxvt and xterm to be easily configured,
while the class name Rxvt allows resources unique to urxvt. |
This means these features here will also apply to Aterm and rxvt-unicode.
Code: | xterm -ls -j -s -fa "Bitstream Vera Sans Mono" -fs 11 |
from man xterm:
Code: | -j This option indicates that xterm should do jump scrolling.
Normally, text is scrolled one line at a time; this option
allows xterm to move multiple lines at a time so that it does
not fall as far behind. Its use is strongly recommended since
it makes xterm much faster |
Code: | -s This option indicates that xterm may scroll asynchronously,
meaning that the screen does not have to be kept completely up
to date while scrolling. This allows xterm to run faster |
alternatively to -j -s put this in ~/.Xdefaults:
Code: | XTerm*jumpScroll: true
XTerm*multiScroll: true |
only with this two options enabled you will decrease the emerge time, since xterm scrolles much faster.
try it
You can just add any off this to your ~/.Xdefaults and then do Code: | xrdb -load ~/.Xdefaults |
to activate it immediately. Just fire up a new Term then.
If you don´t want to show up Bold characters as bold (what makes it difficult to read), then add:
Code: | XTerm*boldColors: false
XTerm*boldMode: false
XTerm*colorBD: MediumBlue
XTerm*colorBDMode: true |
This will show Bold characters as colored MediumBlue.
same with attribute "underlined", changed them to be colored (green) ,too.
Code: | XTerm*underLine: true
XTerm*colorUL: #1FA638
XTerm*colorULMode: true |
other colors ar available from: /usr/X11R6/lib/X11/rgb.txt
here an other thing, for those who use a scrollwheel:
the default behavior of the scrollwheel is to scroll a half page at once. This is for me quite unhandy.
If you like to change this also, put this in ~/.Xdefaults, taken from Vico's little Linux site and
Colas Nahaboo X mouse wheel scroll page:
( I´ve commented the default out )
Code: | !# Scrolling on wheel mouse: 4 Lines normally, half a page with shift
XTerm.vt100.translations: #override\n\
! <Btn4Down>,<Btn4Up>:scroll-back(1,line)\n\
! <Btn5Down>,<Btn5Up>:scroll-forw(1,line)\n\
Ctrl<Btn4Down>,<Btn4Up>:scroll-back(1,page)\n\
Ctrl<Btn5Down>,<Btn5Up>:scroll-forw(1,page)\n\
Shift<Btn4Down>,<Btn4Up>:scroll-back(1,halfpage)\n\
Shift<Btn5Down>,<Btn5Up>:scroll-forw(1,halfpage)\n\
None<Btn4Down>,<Btn4Up>:scroll-one-line-down()scroll-one-line-down()scroll-one-line-down()scroll-one-line-down()scroll-one-line-down()\n\
None<Btn5Down>,<Btn5Up>:scroll-one-line-up()scroll-one-line-up()scroll-one-line-up()scroll-one-line-up()scroll-one-line-up()\n\
!# In the scrollbar we map buttons 5 & 4 to 1 and 2 otherwise, core dump
!# This will move proportionnaly to cursor position but we dont know how to
!# program the same exact behavior as in the text widget.
XTerm.vt100.Scrollbar.translations: #override\n\
<Btn5Down>: StartScroll(Forward)\n\
<Btn4Down>: StartScroll(Backward)\n\
|
and somebody else having problems with Meta (ALT-Key) not working in Xterm ??
Have look here at a tip from malloc :
I do recommend to put the following in /etc/inputrc, since it will make your life much easier.
taken from caliban.org :
Code: | # Adding this to your /etc/inputrc or ~/.inputrc will result in a character
# being appended to any file-names returned by completion, in much the same
# way as ls -F works.
set visible-stats on |
Code: | # If you have this in your /etc/inputrc or ~/.inputrc, you will no longer
# have to hit the <Tab> key twice to produce a list of all possible completions.
# A single <Tab> will suffice.
set show-all-if-ambiguous on |
Code: | # alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward |
last but not least:
you all know this stupid thing, when emerging s.th. and there is a very important Info.
But before you can read it´s gone. Out of the window.
You can change this likewise, by putting this in ~/.Xdefaults,too.
( side note: when your interressted in this feature, you probably would like to have a look
at portlog-info,too.)
Code: | XTerm*scrollTtyOutput: false
XTerm*scrollKey: true
|
with this settings you can scroll back in Xterm and read it.
After that just press any button and you´re back in action.
and here a little fancy and other stuff from my .Xdefaults:
Code: | XTerm*highlightColor: LightSkyBlue
XTerm*cursorColor: MediumBlue
XTerm*pointerColor: MediumBlue
XTerm*internalBorder: 3
XTerm*scrollBar: true
XTerm*rightScrollBar: true
XTerm*loginShell: true
XTerm*geometry: 85x23
XTerm*saveLines: 5000
XTerm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48,35:48,58:48 |
Have also a look here:
The Non-Annoying Terminal Mini How-To & Fun with shopt
_ screen
my ~/.screenrc is available _________________ useful Xterm, Aterm and RXVT-Unicode features
Last edited by Xk2c on Sat Mar 11, 2006 10:01 pm; edited 23 times in total |
|
Back to top |
|
|
sobers_2002 Veteran
Joined: 16 Mar 2004 Posts: 1128
|
Posted: Fri Sep 03, 2004 1:41 pm Post subject: |
|
|
Quote: | only with this two options enabled you will increase the emerge time, since xterm scrolles much faster.
try it |
increase emerge time or decrease???? _________________ Pdict - dockable dictionary client for linux
FREE97WIN: Use this code on Dreamhost and you get $97 off !! |
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
|
Back to top |
|
|
neonik Guru
Joined: 08 Oct 2003 Posts: 501
|
Posted: Sun Sep 19, 2004 3:03 pm Post subject: |
|
|
Very nice overview, I've found many interesting options here. Thank you.
But does it really matter how fast a terminal scrolls text? _________________ Best regards,
neonik
netshot-0.0.8 - script that takes screenshots, generates their thumbnails and uploads them all! (has not been updated). |
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
Posted: Sun Sep 19, 2004 3:31 pm Post subject: |
|
|
neonik wrote: | Very nice overview, I've found many interesting options here. Thank you. |
So YOU are the one who read it. *lol* Glad you like it.
neonik wrote: | But does it really matter how fast a terminal scrolls text? |
Once on the Mailinglist there was someone who has tested it.
He compared KDE Konsole with Xterm IIRC.
The time savings for him were about ~20% IIRC.
But only try emerge sync. With Xterm an -j, -s enabled you will notice immediately a difference.
At least it will definitely not hurt, just try it by yourself. _________________ useful Xterm, Aterm and RXVT-Unicode features |
|
Back to top |
|
|
inode77 Veteran
Joined: 20 Jan 2004 Posts: 1303 Location: Heart of Europe
|
Posted: Sun Sep 19, 2004 4:09 pm Post subject: |
|
|
Jup some nice things here. I suggest you ask to move this one into DT&T.
Since you seem to know so much, I've got a problem and didn't find any soultion yet. I use aterm with bash and screen to multiplex it.
Now if I type a command that is longer than the wide of my window the line is not wrapped and I restart on the same line overwriting the beginning of my command. This is quite annoying and I wasn't able to find anything about it.
(Google linewrap aterm just brought some future plans for aterm to support automatic linewrapping in case of windowresizing)
Any hints would be greatly appriciated. |
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
Posted: Sun Sep 19, 2004 5:05 pm Post subject: |
|
|
inode77 wrote: | Jup some nice things here. I suggest you ask to move this one into DT&T. |
How do I achieve this?
inode77 wrote: | I use aterm with bash and screen to multiplex it. Now if I type a command that is longer than the wide
of my window the line is not wrapped and I restart on the same line overwriting the
beginning of my command. |
Try adding this one to your ~/.bashrc
Code: | shopt -s checkwinsize |
This should do the trick _________________ useful Xterm, Aterm and RXVT-Unicode features |
|
Back to top |
|
|
inode77 Veteran
Joined: 20 Jan 2004 Posts: 1303 Location: Heart of Europe
|
Posted: Sun Sep 19, 2004 6:01 pm Post subject: |
|
|
Quote: | How do I achieve this? |
Pm to pjb or someone else of the moderator crew.
EDIT: No luck so far with the linewrap thing. Code: | shopt
cdable_vars off
cdspell off
checkhash off
checkwinsize on
.... |
aterm v0.4.2
bash version 2.05b.0(1)-release (i686-pc-linux-gnu)
screen version 4.00.02 (FAU) 5-Dec-03
Hmm.. and here my search for answers goes on.....
I even started a aterm without screen and it still doesn't work. |
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
Posted: Sun Sep 19, 2004 6:25 pm Post subject: |
|
|
inode77 wrote: | No luck so far with the linewrap thing.
shopt
cdable_vars off
cdspell off
checkhash off
checkwinsize on
|
What kind of Syntax is that? Never saw this before.
Is not Bash, istn´t it?
hmmm
Here it works. I tried it just right now.
maybe only for testing put Code: | shopt -s checkwinsize | to ~/.bashrc and see what happens?
from man bash:
Code: | checkwinsize
If set, bash checks the window size after each command and, if neces-
sary, updates the values of LINES and COLUMNS. |
OT:
I sent a message to ian! _________________ useful Xterm, Aterm and RXVT-Unicode features |
|
Back to top |
|
|
inode77 Veteran
Joined: 20 Jan 2004 Posts: 1303 Location: Heart of Europe
|
Posted: Sun Sep 19, 2004 6:32 pm Post subject: |
|
|
Xk2c wrote: | What kind of Syntax is that? Never saw this before.
Is not Bash, istn´t it? |
Thanks alot for your help so far.
It's no syntax it's just the output of command shopt.
But the good news is I've found the problem concerning linewrap, it is my $PS1! It seems there's something wrong with my prompt. Maybe you see what I wrote wrong. Code: | export PS1="\u@\h:\W\`if [ \$? = 0 ]; then echo -e '\e[01;32m #'; else echo -e '\e[01;31m #'; fi\` \[\e[0m\]" |
The prompt is nothing special but I like to have a colored symbol to give me feeback on retval $?.
If I switch to a simple prompt the problem goes away, but I really like to keep my prompt. |
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
Posted: Sun Sep 19, 2004 6:56 pm Post subject: |
|
|
inode77 wrote: | Thanks alot for your help so far.
It's no syntax it's just the output of command shopt. |
Thank you for the interesting posts.
inode77 wrote: | But the good news is I've found the problem concerning linewrap, it is my $PS1! It seems there's something wrong with my prompt.
The prompt is nothing special but I like to have a colored symbol to give me feeback on retval $?.
If I switch to a simple prompt the problem goes away, but I really like to keep my prompt. |
your Prompt should it be like this?
nomal user = larry@Gentoo:larry #
root = root@Gentoo:root #
Thanks for the tip with the shopt command. Didn´t know it before. _________________ useful Xterm, Aterm and RXVT-Unicode features |
|
Back to top |
|
|
inode77 Veteran
Joined: 20 Jan 2004 Posts: 1303 Location: Heart of Europe
|
Posted: Sun Sep 19, 2004 7:07 pm Post subject: |
|
|
Quote: | your Prompt should it be like this?
nomal user = larry@Gentoo:larry #
root = root@Gentoo:root # |
My prompt looks and behaves like this:
(on $? not = 0 is turns red if 0 then green, best would be to have the "$" for user and the "#" automatically, @ moment that does my .bashrc by asking the value of $user)
user@machine:pwd $ ls
Desktop art bin config dev downloads movie pen sound tele3 trash various vault workspace
user@machine:pwd $ ls fud
ls: fud: No such file or directory
user@machine:pwd $ |
|
Back to top |
|
|
ian! Bodhisattva
Joined: 25 Feb 2003 Posts: 3829 Location: Essen, Germany
|
Posted: Tue Sep 21, 2004 8:33 am Post subject: |
|
|
Moved to Documentation, Tips & Tricks. _________________ "To have a successful open source project, you need to be at least somewhat successful at getting along with people." -- Daniel Robbins |
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
|
Back to top |
|
|
inode77 Veteran
Joined: 20 Jan 2004 Posts: 1303 Location: Heart of Europe
|
Posted: Tue Sep 21, 2004 2:47 pm Post subject: |
|
|
Echo reply (ICMP(0:0)) inode77 => Xk2c.
Today I finished my last examn at technical university so time for the moment (the next few days) does not matter at all. |
|
Back to top |
|
|
rex123 Apprentice
Joined: 21 Apr 2004 Posts: 272
|
Posted: Tue Sep 21, 2004 4:38 pm Post subject: |
|
|
inode77 wrote: |
Maybe you see what I wrote wrong. Code: | export PS1="\u@\h:\W\`if [ \$? = 0 ]; then echo -e '\e[01;32m #'; else echo -e '\e[01;31m #'; fi\` \[\e[0m\]" |
The prompt is nothing special but I like to have a colored symbol to give me feeback on retval $?.
If I switch to a simple prompt the problem goes away, but I really like to keep my prompt. |
You need to surround your colour change codes with \[...\]. This tells bash not to add any length for the intervening text. I hope this makes sense.
For example,
Code: |
export PS1='\u@\h:\W\033[01;32m # \033[0m'
|
won't work properly, but
Code: |
export PS1='\u@\h:\W\[\033[01;32m\] # \[\033[0m\]'
|
will work OK. |
|
Back to top |
|
|
inode77 Veteran
Joined: 20 Jan 2004 Posts: 1303 Location: Heart of Europe
|
Posted: Tue Sep 21, 2004 9:05 pm Post subject: |
|
|
Many thanks rex123!
Works like a charm and linewrapping now too!
Code: | export PS1="\u@\h:\W`if [ $? = 0 ]; then echo -e '\[\e[01;32m\] #'; else echo -e '\[\e[01;31m\] #'; fi` \[\e[0m\]" |
|
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
|
Back to top |
|
|
neenee Veteran
Joined: 20 Jul 2003 Posts: 1786
|
Posted: Tue Sep 21, 2004 10:32 pm Post subject: |
|
|
thanks for writing this guide |
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
|
Back to top |
|
|
cantao Apprentice
Joined: 07 Jan 2004 Posts: 166
|
Posted: Tue Dec 14, 2004 12:33 pm Post subject: Underscores with AA and Vera fonts |
|
|
Hi Friends!
Very nice howto! Thanks a lot!
But I still have a question concerning AA and xterm. When I use, for instance, Bitstream Vera fonts, the underscores (LIKE_THIS) don't get correctly scrolled, or even displayed sometimes. The lines move up, and the underscores keep frozen on the screen... Any ideas?
Thanks in advance, Cantão! |
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
Posted: Tue Dec 14, 2004 5:36 pm Post subject: Re: Underscores with AA and Vera fonts |
|
|
cantao wrote: |
Very nice howto! Thanks a lot! |
Your are welcome (to Gentoo)
cantao wrote: | But I still have a question concerning AA and xterm. When I use, for instance, Bitstream Vera fonts, the underscores (LIKE_THIS) don't get correctly scrolled, or even displayed sometimes. The lines move up, and the underscores keep frozen on the screen... Any ideas?
|
This must be some kind of a bug but I do not know what it causes. Sorry.
I´ve tried it here and I do not have any problems with that.
Maybe open up an other thread to ask for help, or fill in a bug on https://bugs.gentoo.org/ _________________ useful Xterm, Aterm and RXVT-Unicode features |
|
Back to top |
|
|
viy Veteran
Joined: 03 Jul 2004 Posts: 1580 Location: Riga, Latvia
|
Posted: Thu Dec 16, 2004 2:06 pm Post subject: Re: really useful Xterm, Aterm and URXVT features |
|
|
Yes! Really useful!
Is it possible to take a glance at your screenrc?
I'm using uxterm and cannot get that status line at the bottom. "info", "windows" --- all is shown (for a while) as terminal window's title... |
|
Back to top |
|
|
Xk2c Apprentice
Joined: 17 Jul 2004 Posts: 240
|
Posted: Thu Dec 16, 2004 4:20 pm Post subject: Re: really useful Xterm, Aterm and URXVT features |
|
|
viy wrote: | Is it possible to take a glance at your screenrc? |
....of course. You are welcome.
In fact it was my intention to add a paragraph about screen to this Tip 'n Trick
buuut hmm .... guess I´m lazy ;P
here we go. Have Fun.
PS. If you find some featuers to improve it, than please let me know. OK?
PPS. The line your are looking for is caption always
Just try the differnt Versions of caption always to the one that fits your needs.
Code: | #shell -bash
shell -$SHELL
shelltitle '$ |bash'
bufferfile $HOME/.screen_exchange
hardcopydir $HOME/.screen
term xterm
vbell off
multiuser off
#attrcolor i "+b"
#attrcolor b "-b"
deflogin
termcapinfo xterm* OL=25000
defscrollback 25000
# Prepend/append register [/] to the paste if ^a^] is pressed.
# This lets me have autoindent modes in vi(m).
register [ "\033:se paste\015a"
register ] "\033:se nopaste\015a"
bind ^] paste [.]
hardstatus off
backtick 1 1200 1200 whoami
caption always "%3n %t%? @%u%?%? [%h]%?%=%c:%s"
#caption always "%{=b wk} %D %d.%m %c | %-w%{=br}%n %t%{-}%+w "
#caption always "%{=b}%?%F%:%45=%n*%f %t%?%?%F%{r}%:%{s kk}%?%H%?%F%{-}%? %L=%-Lw%45L>%?%F%{g}%?%n*%f %t%?%F%{-}%?%+Lw%-17= %?%F%{y}%?%c %d.%m.%Y%?"
# Kein Splashscreen, bitte
startup_message off
# Make the F12 (not F2!) key an alternative screen escape
# (besides ^A).
bindkey -k F2 command
# xterm scrollbar should work with screen
# also for scroll wheel
termcapinfo xterm ti@:te@
termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
termcapinfo rxvt 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
# Enter copy mode (PgUp/PgDn to move)
# INSERT alternativly ALT+PgUp
bindkey -k kI copy
bindkey ^[[5;3~ copy
# Paste copy buffer
# ALT-INSERT
bindkey "^[^[[2~" paste .
# Change to left/right window in relation to current window
# (wraps on edges) ALT-,.
bindkey "^[," prev
bindkey "^[." next
# For root users, you may want to add the following instead of the above.
# Essentially this allows me root account to be using screen easily nested
# within my regular user's screen session.
# ALT-;'
# bindkey "^[;" prev
# bindkey "^[:'" next
# Shift current window left/right in relation to current window
# (!broken, attempting to fix)
# ALT-<> (for those that have trouble understanding ALT-SHIFT-,.)
bindkey "^[<" eval number !echo $WINDOW-1|bc
bindkey "^[>" eval number !echo $WINDOW+1|bc
# select an open window direct with ALT+ 0-9
bindkey "^[1" select 0
bindkey "^[2" select 1
bindkey "^[3" select 2
bindkey "^[4" select 3
bindkey "^[5" select 4
bindkey "^[6" select 5
bindkey "^[7" select 6
bindkey "^[8" select 7
bindkey "^[9" select 8
bindkey "^[0" select 9
# automatically started Programs
screen -t root 0 su -
screen 1
screen 2
# remap w to the selectable list
bind w windowlist -b
bind W windows
# Drei Sessions starten und im geteilten Fenster anzeigen
#screen -t foo 1 top
#screen -t bar 2 watch -n1 date
#screen -t baz 3 tail -f /var/log/httpd/access_log
# Erste Session anzeigen
#select foo
# Splitten in zwei Regionen
#split
# In zweite Region wechseln
#focus down
# Zweite Session anzeigen
#select bar
# Diese Region wieder splitten
#split
# In dritte Region wechseln
#focus down
# Dritte Session anzeigen
#select baz
#############################################################
# EXPLANATION OF ABOVE STATUS LINE
###
# cat > /dev/null
# Funktion keys F1-F9 k0-k9
# Funktion key F10 k
# Funktion keys F11-F12 F1-F2
# Funktion keys F13-F63 F3-F9,FA-FZ,Fa-Fr
# caption -- Provides a status line for each split.
# always -- "always" gives a status line in non split mode.
# %{=b} -- make it bright so that I have a clear list of items
# %?%F%:%45=%n*%f %t%? -- If current window does not have focus
# -- (this is a split) so we move to 45% of the screen and put,
# -- this split's selected window's title and flags.
# From here on is a hack until a "%-F" for no focus is provided.
# essentially, you can only select non-focused windows with "%?%F%:non-focused code%?"
# What is being added in the future will allow windows with "%?%-F%:focused code%?"
# If this doesn't make sense, don't worry, but it has to be done that way with variable
# expansion rules as they are.
# %?%F%{r}%:%{s kk}%? -- If current window has focus, make text red, else (%:)
# -- make the text standout (normal colors) and black on black.
# -- net effect by this is that the focused window shows my status bar
# -- unfocused windows show only their selected window's title.
# %H -- Provide the hostname,
# %?%F%{-}%? -- If this window has focus, pop off the last color on the color stack (i.e. red)
# %L= -- Set truncation marker to this location, permits the spiffy elipses
# %-Lw -- Provide the window list before the current window
# %45> -- Not really sure, but I think it sets the current window to the 45% mark
# %?%F%{g} -- If current window has focus, set color green, unfocused windows have standout with black on black (color stack)
# %?%n*%f %t -- Window number * flags title
# %?%F%{-}%? -- If this window has focus, pop off the last color on the color stack (i.e. green)
# %+Lw -- Provide the window list following the current window
# %-17= -- Go 17 characters from the right of screen towards left
# %?%F%{y} -- If current window has focus, set color yellow, unfocused windows have standout with black on black (color stack)
# %?%c %Y-%m-%d%? -- Provide time and date in HH:MM YYYY-MM-DD, which is 16 characters, plus one so that truncation from the
# window list will be truncated with a space between the date and window list |
_________________ useful Xterm, Aterm and RXVT-Unicode features
Last edited by Xk2c on Thu Dec 16, 2004 4:48 pm; edited 3 times in total |
|
Back to top |
|
|
markandrew Apprentice
Joined: 04 Feb 2004 Posts: 176 Location: Manchester, UK
|
Posted: Thu Dec 16, 2004 4:47 pm Post subject: |
|
|
i can't get scrolling to work as i want in screen - basically, i'd like to be able to scroll with my mouse and pgup/pgdn keys without having to enter copy mode. is this possible?
i tried the lines from your screenrc but they didn't work. however, one strange thing - ONE terminal with screen running lets me scroll with my mouse without any adjustments to .screenrc. all other terminals don't. i can stop/restart the terminal and it still works. any other terminals i start don't allow scrolling. very, very strange |
|
Back to top |
|
|
|