LINUX.ORG.RU

Пропатчь на предмет подмены ARGV[0] именем фильма.

Правда русские названия не прокатят.

sabonez ★☆☆☆
()

Что-то вопрос странный. Какая связь между именем процесса и заголовком окна?

svu ★★★★★
()
Ответ на: комментарий от svu

О, блин, а я сразу и не догнал - правда странно, особенно в консоли :-)))

sabonez ★☆☆☆
()

> хочу запустить консольный mplayer с именем видео файла в заголовке окна

Если я правильно понял и имелось в виду "хочу запустить (не-гуёвый) mplayer в
~xterm'е и наблюдать название файла в заголовке окна", то вот вариант:

----[ mplayer-wintitle ]--------------------------------------------------------
#!/usr/bin/perl

pipe(PI, PO) || die "Can't create pipe: $!\n";

$pid = fork();
if($pid == 0) {
	close(PI);
	open(STDOUT, ">&PO")
		|| die "Can't redirect STDOUT into pipe: $!\n";
	exec("mplayer", @ARGV);
} else {
	close(PO);
	while(1) {
		$count = sysread(PI, $buf, 1024);
		last unless $count;
		wintitle($1) if $buf =~ /\nPlaying ([^\n\r]*)/;
		syswrite(STDOUT, $buf, $count);
	}
}

sub wintitle
{
	my $title = shift;
	$title =~ s/\.$//;
	$title =~ s/\.[^.]+$//;
	syswrite(STDOUT, "\033]0;$title\033\\");
}
-------------------------------------------------------------------------------
-

То же самое (print "\033....", в смысле) можно вставить в сам mplayer там где
он печатает Playing file-name.

alexs
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.