urxvt Experten gesucht

lockdoc

Well-Known Member
Hallo urxvt Experten,

Ich haette noch gerne ein paar Feinheiten beim urxvt eingestellt die ich derzeit nicht hinbekomme und wollte mal fragen, ob mir der Ein oder Andere einen Tipp geben koennte.
Folgende Probleme stehen noch auf der Liste:

(1.) selektieren mit der Maus (linke Taste) soll den Text in die Zwischenablage bringen, so dass ich ihn in irgendeinem anderem Programm mit <ctrl>+<v> einfuegen kann.

(2.) Einfuegen des Texts aus der Zwischenablage mit der rechten Maustaste im urxvt.
Also ein Rechtsklick irgendwo im Fenster des urxvt soll so sein wie ein <ctrl>+<v> in einem Texteditor.

(3.) Derzeit schalte ich meinen Keyboad Input mit <ctrl>+<shift> von English zu Chinesisch und umgekehrt. In urxvt scheinen diese Keys allerdings schon belegt sein und es kommt Eine gelbe Box (links unten) mit der Notiz: "Keycap Picture Insert Mode" oder "ISO 14755 Mode". Kann ich das bei urxvt ausstellen?

(4.) Auto Scrolling - Der Terminal sollte automatisch bei Output scrollen, solange ich auf der untersten Zeile bin, will ich mir allerdings weiter oben schnell noch was ankucken, sollte er nicht mehr scrollen, solange ich wieder manuell zur untersten zeile gehe.


(5.) Performance
Wenn ich das Terminalfenster von urxvt (mit Transparency) wild durch den Desktop ziehe, dann ruckt das oefters mal und ist sehr traege, die Standard Konsole von Gnome (gnome-terminal) scheint da viel besser zu performen und hat keinerlei ruckelei. Ich dachte immer der urxvt sollte ein schnellerer Terminal sein, als seine Konkurenten.

Edit:
Achso, worin besteht der Unterschied bei der Konfiguration zwischen beispielsweise
URxvt.depth: 32
URxvt*depth: 32
 
(1.) selektieren mit der Maus (linke Taste) soll den Text in die Zwischenablage bringen, so dass ich ihn in irgendeinem anderem Programm mit <ctrl>+<v> einfuegen kann.

(2.) Einfuegen des Texts aus der Zwischenablage mit der rechten Maustaste im urxvt.
Also ein Rechtsklick irgendwo im Fenster des urxvt soll so sein wie ein <ctrl>+<v> in einem Texteditor.
Da kann ich nicht weiterhelfen, aber was ist eigentlich das Problem mit dem Mittelklick?

(4.) Auto Scrolling - Der Terminal sollte automatisch bei Output scrollen, solange ich auf der untersten Zeile bin, will ich mir allerdings weiter oben schnell noch was ankucken, sollte er nicht mehr scrollen, solange ich wieder manuell zur untersten zeile gehe.
Du kannst mit CTRL+S das Terminal einfrieren. Mit CTRL+Q gibst du das Terminal wieder frei. Aber Vorsicht, laufende Programme hängen sobald der Puffer voll ist und arbeiten erst weiter wenn du das Terminal wieder frei gibst.


(5.) Performance
Wenn ich das Terminalfenster von urxvt (mit Transparency) wild durch den Desktop ziehe, dann ruckt das oefters mal und ist sehr traege, die Standard Konsole von Gnome (gnome-terminal) scheint da viel besser zu performen und hat keinerlei ruckelei. Ich dachte immer der urxvt sollte ein schnellerer Terminal sein, als seine Konkurenten.

Scheint von der Grafikkarte abzuhängen. Mit ATI verwende ich die Transparenz nicht. Mit Intel, kein Problem.

Achso, worin besteht der Unterschied bei der Konfiguration zwischen beispielsweise
URxvt.depth: 32
URxvt*depth: 32
Letzteres ist ein glob-Pattern.
 
Da kann ich nicht weiterhelfen, aber was ist eigentlich das Problem mit dem Mittelklick?
Wenn ich mit dem Notebook unterwegs bin, dann habe ich keine Mouse dabei und so ja auch keine Moeglichkeit den Mittelklick zu nutzen :-(

Du kannst mit CTRL+S das Terminal einfrieren. Mit CTRL+Q gibst du das Terminal wieder frei. Aber Vorsicht, laufende Programme hängen sobald der Puffer voll ist und arbeiten erst weiter wenn du das Terminal wieder frei gibst.
Das ist fuer den faulen gnome-terminal gewohnten User eine Tastenkombination zu viel xD


Scheint von der Grafikkarte abzuhängen. Mit ATI verwende ich die Transparenz nicht. Mit Intel, kein Problem.
Hier laeuft auch Intel, ich habe mein Xorg allerdings standardmaessig auf 16bit gesetzt und weiss nun nicht, ob es deswegen evtl. Probleme gibt
 
(1.) selektieren mit der Maus (linke Taste) soll den Text in die Zwischenablage bringen, so dass ich ihn in irgendeinem anderem Programm mit <ctrl>+<v> einfuegen kann.
Das tut es ganz von selber. Das Problem liegt aber am anderen Ende: Was eine Anwendung bei <Ctrl> <v> ausspuckt, ist ganz unterschiedlich. Manche Programme haben ihre eigene Zwischenablage, völlig inkompatibel zum Rest des Systems. Manche verwenden einen der X11-Cutbuffer. XTerm ist so schlau, selektierten Text auch in den ersten Cutbuffer zu legen, das erhöht die Chance, daß er anderswo benutzbar (einfügbar) ist.

(4.) Auto Scrolling - Der Terminal sollte automatisch bei Output scrollen, solange ich auf der untersten Zeile bin, will ich mir allerdings weiter oben schnell noch was ankucken, sollte er nicht mehr scrollen, solange ich wieder manuell zur untersten zeile gehe.
(U)Rxvt unterstützt ein paar der X-Ressourcen von XTerm. Vielleicht geht ja:
Code:
URxvt*scrollTtyOutput: false
(5.) Performance
Wenn ich das Terminalfenster von urxvt (mit Transparency) wild durch den Desktop ziehe, dann ruckt das oefters mal und ist sehr traege, die Standard Konsole von Gnome (gnome-terminal) scheint da viel besser zu performen und hat keinerlei ruckelei. Ich dachte immer der urxvt sollte ein schnellerer Terminal sein, als seine Konkurenten.
Rxvt soll vor allem klein sein, nicht in erster Linie schnell. Die Transparenz ist geschwindelt, Rxvt kopiert einfach den passenden Teil des Bildschirmhintergrundes in sein Fenster. Möglicherweise tut es das ohne Unterstützung der Grafikhardware.

Achso, worin besteht der Unterschied bei der Konfiguration zwischen beispielsweise
URxvt.depth: 32
URxvt*depth: 32
Wie Kamikaze schon sagte: Letzteres ist ein Sammelbegriff für
Code:
URxvt.depth: 32
URxvt.linke.Bildlaufleiste.depth: 32
URxvt.blinkender.Cursor.depth: 32
usw.
 
Wenn ich mit dem Notebook unterwegs bin, dann habe ich keine Mouse dabei und so ja auch keine Moeglichkeit den Mittelklick zu nutzen :-(

Shift+Insert oder beide Maustasten zusammen drücken. (ich drücke immer rechts und dann links und lass dann beide los)
 
(3.) Derzeit schalte ich meinen Keyboad Input mit <ctrl>+<shift> von English zu Chinesisch und umgekehrt. In urxvt scheinen diese Keys allerdings schon belegt sein und es kommt Eine gelbe Box (links unten) mit der Notiz: "Keycap Picture Insert Mode" oder "ISO 14755 Mode". Kann ich das bei urxvt ausstellen?

urxvt(1) said:
iso14755: boolean
Turn on/off ISO 14755 (default enabled).

iso14755_52: boolean
Turn on/off ISO 14755 5.2 mode (default enabled).

Also URxvt*iso14755_52: false usw. in die .Xresources. Letzteres ist in den meisten Fällen empfehlenswert, mit ersterem kann man bequem beliebige Unicodezeichen anhand ihrer Nummer eingeben, deswegen lasse ich das an.
 
Danke an die urxvt Experten soweit.

Ich habe jetzt die <ctrl>+<shift> Benutztung von urxvt abgeschaltet, leider funktioniert trotzdem der Input Manager nicht im urxvt.
 
Das Sprache umschalten habe ich immer mit ALT+SHIFT gemacht. Sicher aus deiner Sicht ein Workaround.

Rxvt soll vor allem klein sein, nicht in erster Linie schnell. Die Transparenz ist geschwindelt, Rxvt kopiert einfach den passenden Teil des Bildschirmhintergrundes in sein Fenster. Möglicherweise tut es das ohne Unterstützung der Grafikhardware.
Nicht wahr! URxvt unterstützt durchaus echte Transparenz!

Der Geschwindigkeitsvorteil von URxvt kommt übrigens daher, dass Seiten übersprungen werden, wenn der Text schneller Scrollt als das menschliche Auge erkennen kann.

XTerm zum Beispiel stellt jede Zeile auf jeden Fall dar. So kann der Puffer voll laufen und Anwendungen werden gebremst, weil sie auf die Ausgabe warten.
 

Attachments

  • desktop20110606.webp
    desktop20110606.webp
    172.7 KB · Views: 311
Das Sprache umschalten habe ich immer mit ALT+SHIFT gemacht. Sicher aus deiner Sicht ein Workaround.
Die Sache ist, das urxvt ja jetzt keine Belegung mehr fuer <ctrl><shift> hat und da sollte doch jetzt eigentlich ibus-daemon reagieren.

Der Geschwindigkeitsvorteil von URxvt kommt übrigens daher, dass Seiten übersprungen werden, wenn der Text schneller Scrollt als das menschliche Auge erkennen kann.
hmm, wo seh ich dass denn auf dem Bild?


Nicht wahr! URxvt unterstützt durchaus echte Transparenz!
Ja, die habe ich bei mir auch eingestellt. Ich poste mal meine bisherige config;

Code:
##################################################################
# Fonts
##################################################################
URxvt.font:			xft:Terminus:style=Regular:pixelsize=14,\
				xft:SimSun
URxvt.boldFont:			xft:Terminus:style=Regular:pixelsize=14

##################################################################
# Colors
##################################################################
URxvt.depth:			32
URxvt.foreground:		#FFFFFF
URxvt.background:		rgba:2000/2000/2000/dddd

# makes it darker when window is not active
URxvt.fading:			20

# Replace blue folder colors with a lighter shade for clarity. To
# set colored folders and files within urxvt, xterm, and aterm, add
# the following line to your ~/.bashrc ($HOME/.bashrc) file under
# the heading "# User specific aliases and functions":
#   alias ls="ls -h --color=auto"
URxvt.color4:			RoyalBlue
URxvt.color12:			RoyalBlue


##################################################################
# Scrollbar
##################################################################
URxvt.scrollBar:		true
URxvt.scrollBar_right:		false
URxvt.scrollstyle:		rxvt


##################################################################
# Scrolling
##################################################################

# 12000 lines scroll history
URxvt.saveLines:		12000
URxvt.loginShell:		true
URxvt.termName:         	xterm-256color

# Auto Scrolling Behaviour
URxvt.scrollTtyOutput:		false
URxvt.scrollTtyKeypress:	false


##################################################################
# Links clickable
##################################################################
# make URLs clickable
URxvt.perl-ext-common:		default,matcher
URxvt.urlLauncher:		/usr/local/bin/chrome
URxvt.matcher.button:		1 


##################################################################
# Tabs
##################################################################
# Enable Tabs
# <alt>+<down>			new tab
# <ctrl>+<d>			close tab
# <alt>+<left/right>		toogle tabs
URxvt.perl-ext-common:  	default,tabbed


##################################################################
# Keybindung Stuff
##################################################################
# disable urxvt binding for <ctrl>+<shift>
# this also disables input of unicodes by their number
URxvt.iso14755:		false
URxvt.iso14755_52:	false
 
Nicht wahr! URxvt unterstützt durchaus echte Transparenz!
Tatsächlich, da war ich nicht auf dem Laufenden. URxvt kann beides: echte Transparenz und Pseudotransparenz. Erstere wird natürlich i. a. vorgezogen, mit letzterer kann man mehr Kunststücke machen. Es gibt sogar mehrere Ansätze für Transparenz, siehe z. B. http://linux.die.net/man/7/urxvt unter "Rendering, Font & Look and Feel Issues".

Aber auch wenn es keine Transparenz hat, ist XTerm trotzdem das Bessere! :D
 
XTerm? Da bremst das langsame Leeren des puffers deutlich messbar Compiliervorgänge.
 
XTerm? Da bremst das langsame Leeren des puffers deutlich messbar Compiliervorgänge.
Aber nur, wenn der Mensch dem Kompiliervorgang nicht ein
Code:
echo -e '\033[?4l'
vorausschickt, oder besser gleich
Code:
XTerm.VT100.JumpScroll: true
in den .Xresources.

Cheers
Tronar

PS: Hach ja, es soll doch tatsächlich noch Terminalemulatoren geben, bei denen sich nicht mal on-the-fly UTF-8 ein- und ausschalten läßt. :D
 
Um nochmal zurueck zum Thema zu kommen xD


(3.) Input Manager mit <ctrl>+<shift>
Hier bin ich nun soweit, dass bei <ctrl>+<shift> keine Aktion vom Terminal kommt, aber leider reagiert mein Input Manager immer noch nicht auf die Kombination :-(

(4.) Auto Scrolling
Das konnte ich jetzt folgendermassen loesen
Code:
URxvt*scrollTtyOutput:      false
URxvt*scrollWithBuffer:     true
URxvt*scrollTtyKeypress:    true
 
Das mit dem Input Manager hat sich jetzt irgendwie von Geisterhand geloest.

Ich habe da noch eine weitere Frage zum urxvt. Macht es denn einen Unterschied ob ich diesen nun im Server/Client Modus laufen lasse mit urxvtc oder den normalen urxvt. Gibt mir das irgendwo Vor/Nachteile und was sind die Unterschiede?
 
Im Großen und Ganzen lassen sich die Unterschiede in zwei Punkten zusammenfassen:
- Client / Server startet das einzelne Terminal geringfügig schneller. In der Realität wird das nicht zu spüren sein.
- Es gibt eine gemeinsame, globale History. Durch diese müssen gleiche Zeilen nur einmal gespeichert werden, selbst wenn sie in verschiedenen Terminals sind. Das spart RAM. In der Praxis ist der Effekt doch sehr gering, außer man macht in vielen Terminals das Gleiche.

Kurz gesagt, es macht keinen großen Unterschied mehr und ist hauptsächlich Geschmackssache.
 
Nur im rxvt oder auch andere Terminals? In dem Fall wäre evtl. die Shell-History zu lang. Gerade die (t)csh hat einen sehr bescheidenen Algo um ihren Verlauf einzulesen und frisst da wirklich Unmengen CPU-Power. Z.B. geht es bei 4096 Kommandos auf meinem Phenom ohne Verzögerung, mein alter 1600MHz Athlon XP benötigt aber mehrere Sekunden... Wenn es das nicht ist, müsste man mal schauen, woran es haken könnte. Spontan fällt mir nicht so wirklich was ein.
 
Also ich nutze Bash als Shell. Meinst du mit Shell History die Variable von urxvt in der .XDefaults? Die ist bei mir auf 500 gesetzt.

Also urxvt braucht ca. 15-20 Sekunden bis er da ist, in der zwischenzeit pumpt sicht xorg auf 100% CPU last auf und auch die Maus hakt manchmal. Wenn er denn endlich da ist, kann ich normal arbeiten.

Der gnome-terminal ist innerhalb von 1 Sekunde da, ohne das Xorg irgendwo in die Naehe von Arbeit kommt.
 
Nein, dass liegt nicht an der Shell. Fragt sich nur woran. Nutzt du irgendwelche Perl-Scripte?
 
Hier ist meine .Xdefaults

Code:
##################################################################
# Fonts and Size
##################################################################
URxvt.font:					xft:Terminus:style=Regular:pixelsize=14:antialias=false,\
							xft:SimSun:antialias=false
URxvt.boldFont:				xft:Terminus:style=Regular:pixelsize=14:antialias=false
URxvt.geometry:				94x30

##################################################################
# Colors
##################################################################
URxvt.depth:				32
URxvt.foreground:			#FFFFFF
URxvt.background:			rgba:2000/2000/2000/dddd

# makes it darker when window is not active
URxvt.fading:				20

# Replace blue folder colors with a lighter shade for clarity. To
# set colored folders and files within urxvt, xterm, and aterm, add
# the following line to your ~/.bashrc ($HOME/.bashrc) file under
# the heading "# User specific aliases and functions":
#   alias ls="ls -h --color=auto"
URxvt.color4:				RoyalBlue
URxvt.color12:				RoyalBlue


##################################################################
# Scrollbar
##################################################################
URxvt.scrollBar:			true
URxvt.scrollBar_right:		false
URxvt.scrollstyle:			rxvt


##################################################################
# Scrolling
##################################################################

# 12000 lines scroll history
URxvt.saveLines:			500
URxvt.loginShell:			true
URxvt.termName:				xterm-256color

# Auto Scrolling Behaviour
!URxvt.scrollTtyOutput:		false
!URxvt.scrollTtyKeypress:	false

URxvt*scrollTtyOutput:      false
URxvt*scrollWithBuffer:     true
URxvt*scrollTtyKeypress:    true


##################################################################
# Links clickable
##################################################################
# make URLs clickable
URxvt.perl-ext-common:		default,matcher
URxvt.urlLauncher:			chrome
### this is the mouse button
URxvt.matcher.button:		1



##################################################################
# Tabs
##################################################################
# Enable Tabs
# <shift>+<down>			new tab
# <ctrl>+<d>				close tab
# <shift>+<left/right>		toogle tabs
# <ctrl>+<left/right>		move tabs left/right
URxvt.perl-ext-common:		default,tabbed


##################################################################
# Keybindung Stuff
##################################################################
# disable urxvt binding for <ctrl>+<shift>
# this also disables input of unicodes by their number
URxvt.iso14755:				false
URxvt.iso14755_52:			false

URxvt.inputMethod:			ibus
URxvt.preeditType:			OffTheSpot
URxvt.imLocale:				zh_CN.UTF-8
 
Ich habe die ganzen Plugins, die du benutzt auch mal eingeschaltet und keins davon verursacht so ein Problem. Sehr seltsam.

In was für einem Zustand ist denn der Prozess bevor das Fenster auftaucht?
 
Der ist auf select die ganze Zeit.

Da faellt mir ein. Ich hab den urxvt ja nie richtig gebaut bekommen: http://www.bsdforen.de/showthread.php?p=228402#post228402

in der logging.c hatte ich mal temporaer das gemacht
Code:
293 #if defined(HAVE_STRUCT_UTMP) && !defined(HAVE_UTMP_PID)
294   {
295[COLOR="Red"] # if 1[/COLOR]
296     int fdstdin = dup (STDIN_FILENO);
297     dup2 (tty, STDIN_FILENO);
298 
299     i = ttyslot ();
300     if (write_bsd_utmp (i, ut))
301       utmp_pos = i;
302 
303     dup2 (fdstdin, STDIN_FILENO);
304     close (fdstdin);
305 # endif
306   }
307 #endif

Diese rote 1, hatte ich in eine 0 umgewandelt, damit der ueberhaupt baut.
 
Back
Top