Как сделать так, чтобы rxvt запускался как полноэкранный?
Я не могу найти его на странице руководства.
Я использую rxvt-unicode-256color из зеркала squeeze Debian.
Среда Gnome 3, композит включен в xorg.conf.
5 ответов
Установить wmctrl
$ sudo apt-get install wmctrl
Создать каталог расширений
$ mkdir -p ~/.urxvt/ext/
Создать плагин для Rxvt
$ vi ~/.urxvt/ext/fullscreen #!perl sub on_user_command { my ($self, $cmd) = @_; if ($cmd eq "fullscreen:switch") { my $dummy = `wmctrl -r :ACTIVE: -b toggle,fullscreen` ; } }
Включить плагин
$ vi ~/.Xdefaults ... " Fullscreen switch URxvt.perl-ext-common: fullscreen URxvt.keysym.F11: perl:fullscreen:switch
Теперь вы можете переключаться в полноэкранный режим с помощью клавиши F11.
Ссылка:
Чтобы перейти к полноэкранному режиму при входе в систему, я поставил это в конце моего ~/.bashrc
:
[[ $TERM == *"rxvt"* ]] && wmctrl -r :ACTIVE: -b add,fullscreen
согласно ответу Chu-Siang Lai, вам необходимо убедиться, что wmctrl
установлено.
Вот простой плагин Perl, который запускает urxvt в полноэкранном режиме (без необходимости нажимать дополнительную клавишу):
#!/usr/bin/perl
sub on_start {
my ($self) = @_;
# This is hacky, but there doesn't seem to be an event after
# window creation
$self->{timer} = urxvt::timer->new->after(0.1)->cb(sub {
fullscreen $self
});
return;
}
sub fullscreen {
my ($self) = @_;
my $wid = $self->parent;
my $err = `wmctrl -i -r $wid -b add,fullscreen`;
warn "Error maximizing: $err\n" unless $? == 0;
$self->{timer}->stop;
delete $self->{timer};
return;
}
К сожалению, кажется, что окно не видимо wmctrl, когда on_start
вызван, поэтому мне пришлось использовать таймер, чтобы отложить вызов wmctrl до появления окна.
Вот как я решил
запуск настроек окна после вызова urxvt.
Shell: zsh
Windowmanager: wmctrl
.zsrch
function urxvtmaxed () {
# &! is a zsh-specific shortcut to both background and disown the process
urxvt -e zsh -c "RUN='wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz' zsh" &!
}
function urxvtfull () {
# &! is a zsh-specific shortcut to both background and disown the process
urxvt -e zsh -c "RUN='wmctrl -r :ACTIVE: -b add,fullscreen' zsh" &!
}
### ======================================================
### Run Commands After zsh invoked
eval "$RUN"
# Example
# RUN='my_prog opt1 opt2' zsh
### Run Commands After zsh invoked END
### ======================================================
Теперь в Zsh вы можете запустить urxvtmaxed
или же urxvtfull
запустить urxvt и затем изменить размер окна.
Примечание: wmctrl не работает должным образом в сеансе Wayland, поскольку управление окнами противоречит политике безопасности Wayland.
If $WINDOWID is available
urxvt -e zsh -c "RUN='wmctrl -i -r \$WINDOWID -b add,fullscreen' zsh" &!
Вы не можете, насколько я знаю. Но я нашел обходной путь:
использование
wmctrl -l
чтобы узнать, что у вас rxvt
Окно названо. Вероятно, это "rxvt", так
wmctrl -r rxvt -b toggle,fullscreen
увеличит это окно
Вам нужно будет поместить это (вторая команда) в скрипт, который читается после загрузки вашего оконного менеджера (например, openbox, metacity). Возможно, в вашем .xinitrc
файл.