Rxvt

如何找到 VT instance 正在使用的預設(字型)資源?

  • August 30, 2016

在帶有 Arch 和urxvt的盒子上設置虛擬終端外觀,我發現自己無法顯示特定 VT實例中正在使用哪些 X 資源。

採用該工作流程:

  1. 打開 urxvt 控制台,載入特定的顏色/字型/字型屬性(例如,通過編輯~/.Xresources然後使用 更新此 VT xrdb merge
  2. 打開另一個 VT,載入不同的設置,然後重複此操作以在它們之間進行比較。
  3. 電話響了,該吃飯或看孩子了……
  4. 回到電腦前:哦,VT 1、2 或 N 中的 X 資源設置是什麼?

我嘗試了幾種能夠顯示特定應用程序的 X 資源設置的工具,但是:

xrdb 或 xorg-appres 不會顯示在 VT 實例中載入的 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您應該會看到“字型”資源的值出現在終端中。

引用自:https://unix.stackexchange.com/questions/306661