Rxvt
如何找到 VT instance 正在使用的預設(字型)資源?
在帶有 Arch 和urxvt的盒子上設置虛擬終端外觀,我發現自己無法顯示特定 VT實例中正在使用哪些 X 資源。
採用該工作流程:
- 打開 urxvt 控制台,載入特定的顏色/字型/字型屬性(例如,通過編輯
~/.Xresources
然後使用 更新此 VTxrdb merge
)- 打開另一個 VT,載入不同的設置,然後重複此操作以在它們之間進行比較。
- 電話響了,該吃飯或看孩子了……
- 回到電腦前:哦,VT 1、2 或 N 中的 X 資源設置是什麼?
我嘗試了幾種能夠顯示特定應用程序的 X 資源設置的工具,但是:
如您所見,
xrdb
將顯示 VT 載入的 X 資源*,*但不是每個 VT 實例。對xorg-appres
. 這是一個更寬的螢幕截圖,其中載入了更多實例和不同的設置有沒有辦法顯示載入在您知道的特定 VT實例中的 X 資源?
PS:我的問題與其他資訊非常豐富的問題略有不同如何找到 XTerm 正在使用的預設(字型)資源?‒ 2013 年
editres
在過去的美好時光,以及 20 年後,您可以使用真實的xterm
.但是,urxvt 不使用這些小元件,而是使用其他一些圖形庫。然而,它確實提供了一個 perl 擴展,因此您應該能夠通過編寫一些 perl 來獲取任何資訊。例如,我很快將這些行拼湊在一起,您可以將它們放入文件中,例如
~/myextn
:#!/usr/bin/perl # http://unix.stackexchange.com/a/306775/119298 # for urxvt --perl-lib ~/ -pe myextn sub on_init { my ($self) = @_; # warn "in my font info init"; my $hotkey = "C-s"; $self->bind_action($hotkey, "%:getinfo") or warn "unable to register '$hotkey' as font info\n"; () } sub on_action { my ($self, $action) = @_; if($action eq "getinfo"){ my $term = $self->{term}; # warn "font ",$term->resource('font'); $term->scr_add_lines("font ".$term->resource('font')."\r\n"); } () }
然後執行
urxvt --perl-lib ~ -pe myextn
以使用副檔名,當您鍵入時,control-s
您應該會看到“字型”資源的值出現在終端中。