Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

xterm, get the title from shell commands

4 views
Skip to first unread message

Yasushi Shinjo

unread,
Apr 9, 2007, 5:02:47 AM4/9/07
to
新城@筑波大学情報です。こんにちは。

xterm (kterm) で、タイトル・バーに文字列を設定するには、エス
ケープシーケンスで次のようにすればいいですよね。
printf("\033]2;%s\007",title);
逆に、現在のタイトルを得るには、どうすればいいでしょうか。

あれ、でも自作のスクリプトには、\033]0;と書いてあるなあ。
世の中のドキュメントには、0;でなくて 2; と書いてあるけど。
何か違うのだろう。

resize コマンドは、右したのカーソルの位置を読んでますよね。
あれと似たような方法でタイトルが得られないでしょうか。
簡単な X のプログラムを書く必要があるでしょうか。

kterm で、次のようなスクリプトをよく使っています。

alias dup 'kterm -n $hostname -T $hostname \!*'

これだと、端末は増えますが、タイトルが hostname 以外の時にコ
ピーされません。

よろしくお願いします。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

ITOH Yasufumi

unread,
Apr 9, 2007, 9:13:44 AM4/9/07
to

伊藤といいます。

<YAS.07Ap...@kirk.is.tsukuba.ac.jp>の記事において
y...@is.tsukuba.ac.jpさんは書きました。

> xterm (kterm) で、タイトル・バーに文字列を設定するには、エス
> ケープシーケンスで次のようにすればいいですよね。
> printf("\033]2;%s\007",title);
> 逆に、現在のタイトルを得るには、どうすればいいでしょうか。

ソースを見てみましたが無さそうです。

xprop -id $WINDOWID
から切り出すとか、どうでしょう。

> あれ、でも自作のスクリプトには、\033]0;と書いてあるなあ。
> 世の中のドキュメントには、0;でなくて 2; と書いてあるけど。
> 何か違うのだろう。

switch(mode) {
case 0: /* new icon name and title*/
Changename(buf);
Changetitle(buf);
break;

case 1: /* new icon name only */
Changename(buf);
break;

case 2: /* new title only */
Changetitle(buf);
break;
...
}

だそうです。
--
伊藤 康史

0 new messages