1

我想知道是否有任何资源可用于理解和使用 urxvt 中的“术语”类。

该文档对它进行了非常一般的引用,但并未真正定义这些术语。

uxrvt perl 扩展对“术语”对象的使用也非常有限,因此没有太多代码可供参考。

我的目标很简单:

  1. 打开一个新的终端窗口。

  2. 要将命令传递到新的终端窗口,然后将窗口保持打开状态以供进一步输入。(例如:“ls”或“echo 'Hello World'”,然后离开光标等待进一步的输入)

  3. 为了能够指定新终端将出现在哪个桌面上。

问题:

1. $term 究竟是如何定义的?

文档说:

$term = new urxvt::term $envhashref, $rxvtname, [arg...]

我用过“我的 $env = $self->env;” 定义 $envhashref。所以我假设现有终端的环境变量用于新终端。我想这直接对应于环境变量本身,因为下面复制了这些变量......

my @envv = $self->envv;
foreach (@envv) {
  print "$_\n";
}

...以下创建对“env”哈希的引用:

my $env = $self->env;

这个对吗?如果该设置在绝大多数情况下保持不变,那么必须显式声明环境似乎很奇怪。


2、$rxvtname应该如何设置?将其设置为我选择的名称会导致打开两个窗口而不是一个。这种行为很奇怪......定义 $rxvtname 变量的正确方法是什么?

“,[arg ...]”到底指的是什么?


3. $term 本身是如何使用的?它显然不是对新终端窗口的引用。它的目的是什么,你如何使用它?一个例子在这里可能非常有用。


4. $term->exec_async ($cmd) 如何向新的终端窗口发送命令?有没有更好的方法将命令发送到新窗口?例子?


5. 有没有办法指定终端窗口应该出现在哪个桌面?


希望这个线程可以作为任何其他已经搜索过 urxvt、urxvtperl(以及 urxvt.pm)手册页并且没有清晰理解的人的“文档”。如果网络上有一个包含完整解释和示例的综合参考资料,那也很高兴知道。在此先感谢您的帮助。

4

0 回答 0