VT *インスタンス*が使用する基本(フォント)リソースをどのように見つけることができますか?

VT *インスタンス*が使用する基本(フォント)リソースをどのように見つけることができますか?

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リソースを表示しません。

ご覧のとおり、xrdbVTがロードしたXリソースが表示されます。瞬間しかし、すべてのVTインスタンスはそうではありません。についても同様ですxorg-appres。これはより多くのインスタンスとさまざまな設定がロードされたより広いスクリーンショット

特定のVTにロードされたXリソースを表示する方法はありますか?はいあなたは知っていますか?

PS:私の質問は他の有益な質問とは少し異なります。XTermが使用する基本(フォント)リソースを見つけるには? - 2013年

ベストアンサー1

昔は、そして20年後もeditresAthenaウィジェットリソースを見て変更することもできました。本物 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端末に「Font」リソース値が表示されることがわかります。

おすすめ記事