我在手册页中找不到它
我使用的是来自debian挤压镜的rxvt-unicode-256颜色
Gnome 3环境,在xorg.conf中启用复合。
-
安装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键切换全屏。
参考:
- 〔解决〕rxvt unicode未切换到全屏/Arch Linux论坛
- my.Xdefaults
要在登录时直接进入全屏,我将其放在~/.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: $errn" unless $? == 0;
$self->{timer}->stop;
delete $self->{timer};
return;
}
不幸的是,当调用on_start
时,wmctrl似乎看不到窗口,所以我不得不使用计时器将对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会话中不能正常工作作为控制windows违反了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
文件中。