urxvt2.6 en 2004 a ajouté la prise en charge de la fonction de couleurs dynamiques de xterm . Dans XTerm Control Sequences , il s'agit de OSC11. OSC10 définit la couleur de texte par défaut. Le changelog mentionne une partie du changement:
2.6 Fri Apr 2 03:24:10 CEST 2004
- minor doc corrections.
- WARNING: changed menu sequence from ESC ] 10 to ESC ] 703 to
avoid clashes with xterm.
- changed OSC701/OSC702 sequence to return standard escaped reports.
- xterm-compat: make set window colour and other requests report
window colour when arg is "?".
mais le code source raconte l'histoire, comme d'habitude:
/*
* XTerm escape sequences: ESC ] Ps;Pt (ST|BEL)
* 0 = change iconName/title
* 1 = change iconName
* 2 = change title
* 4 = change color
+ * 10 = change fg color
+ * 11 = change bg color
* 12 = change text color
* 13 = change mouse foreground color
* 17 = change highlight character colour
@@ -2949,20 +3236,21 @@
* 50 = change font
*
* rxvt extensions:
- * 10 = menu (may change in future)
* 20 = bg pixmap
* 39 = change default fg color
* 49 = change default bg color
* 55 = dump scrollback buffer and all of screen
* 701 = change locale
* 702 = find font
+ * 703 = menu
*/
Le manuel rxvt(7)ne donne aucune information utile:
Commandes du système d'exploitation XTerm
"ESC] Ps; Pt ST"
Définissez les paramètres XTerm. ST 8 bits: 0x9c, séquence ST 7 bits: ESC \
(0x1b, 0x5c), le terminateur rétrocompatible BEL (0x07) est également
accepté. tout octet peut être échappé en le préfixant avec SYN (0x16,
^ V).
Cet exemple simple définit les couleurs par défaut du premier plan (texte) et du fond :
#!/bin/sh
printf '\033]10;red\007'
printf '\033]11;green\007'
Comme xterm, ces couleurs par défaut peuvent être remplacées temporairement par des couleurs "ANSI".
La fonctionnalité peut être désactivée lors de l' xtermutilisation de la dynamicColorsressource. Contrairement à xterm, urxvtn'a aucun paramètre de ressources pour la fonctionnalité.
VTE implémente également la fonctionnalité et ne la documente pas non plus. urxvtau moins commencé avec la documentation de rxvt. Pour VTE, vous devez lire le code source. La fonctionnalité pertinente dans vteseq.ccressemble à ceci:
/* Change the default background cursor, BEL terminated */
static void
vte_sequence_handler_change_background_color_bel (VteTerminalPrivate *that, GValueArray *params)
{
vte_sequence_handler_change_special_color_internal (that, params,
VTE_DEFAULT_BG, -1, 11, BEL);
}
/* Change the default background cursor, ST terminated */
static void
vte_sequence_handler_change_background_color_st (VteTerminalPrivate *that, GValueArray *params)
{
vte_sequence_handler_change_special_color_internal (that, params,
VTE_DEFAULT_BG, -1, 11, ST);
}
Ce code remonte à quelque temps en 2003 (quand il a été écrit en C):
commit f39e281529827f68fd0e9bba41785d66a21efc1c
Author: Nalin Dahyabhai <nalin@src.gnome.org>
Date: Wed Jan 22 21:35:22 2003 +0000
accept OSC{number};{string}ST as set-text-parameters, per XTerm docs (part
* src/caps.c: accept OSC{number};{string}ST as set-text-parameters, per XTerm
docs (part of #104154).
* src/keymap.c: revert change to prepend "1;" to keys with modifiers (#104139).
Lectures complémentaires: