Colors
Urxvt:動態更改背景顏色
是否可以即時更改 rxvt-unicode 會話的背景顏色?喜歡用
Ctrl
鑰匙嗎?我有一堆 Urxvt 視窗,我想動態著色一些以幫助我區分它們。但是,我的意思是在飛行中…
urxvt
2004 年的 2.6 增加了對 xterm 的動態顏色功能的支持。在XTerm Control Sequences中,這是OSC
11。10OSC
設置預設文本顏色。變更日誌提到了部分變更: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 "?".
但原始碼像往常一樣講述了這個故事:
/* * 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 */
該手冊
rxvt(7)
沒有提供有用的資訊:XTerm 作業系統命令 “ESC ] Ps;Pt ST” 設置 XTerm 參數。8 位 ST:0x9c,7 位 ST 序列:ESC \ (0x1b, 0x5c),向後兼容的終止符 BEL (0x07) 也是 公認。任何八位字節都可以通過在其前面加上 SYN (0x16, ^ 五)。
這個簡單的範例設置了前景(文本)和背景預設顏色:
#!/bin/sh printf '\033]10;red\007' printf '\033]11;green\007'
像
xterm
,這些預設顏色可以被“ANSI”顏色臨時覆蓋。
xterm
在使用**dynamicColors
**資源時可以禁用該功能。與 不同xterm
,urxvt
該功能沒有資源設置。VTE 也實現了該功能,同樣沒有記錄它。
urxvt
至少從rxvt
. _ 對於 VTE,您必須閱讀原始碼。中的相關功能vteseq.cc
如下所示:/* 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); }
該程式碼可以追溯到 2003 年的某個時候(當時它是用 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).
進一步閱讀:
- 我可以通過數字設置顏色嗎?(xterm 常見問題解答)