问题 如何让rxvt以全屏方式启动?


我在man page中找不到它。
我正在使用debian squeeze mirror的rxvt-unicode-256color。
Gnome 3环境,在xorg.conf中启用了复合。


12094
2018-03-20 08:00


起源



答案:


  1. 安装wmctrl

    $ sudo apt-get install wmctrl
    
  2. 创建扩展目录

    $ mkdir -p ~/.urxvt/ext/
    
  3. 为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` ;
        }
    }
    
  4. 启用插件

    $ vi ~/.Xdefaults
    ...
    " Fullscreen switch
    URxvt.perl-ext-common:  fullscreen
    URxvt.keysym.F11:       perl:fullscreen:switch
    

现在,您可以使用F11键切换全屏。


参考:


16
2018-05-23 07:15



这不会将rxvt作为全屏启动。它只是使用热键来使其全屏,这也可以使用大多数窗口管理器。我尝试了类似的方法,但使用on_start而不是on_user_command,没有运气。 - Thayne


答案:


  1. 安装wmctrl

    $ sudo apt-get install wmctrl
    
  2. 创建扩展目录

    $ mkdir -p ~/.urxvt/ext/
    
  3. 为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` ;
        }
    }
    
  4. 启用插件

    $ vi ~/.Xdefaults
    ...
    " Fullscreen switch
    URxvt.perl-ext-common:  fullscreen
    URxvt.keysym.F11:       perl:fullscreen:switch
    

现在,您可以使用F11键切换全屏。


参考:


16
2018-05-23 07:15



这不会将rxvt作为全屏启动。它只是使用热键来使其全屏,这也可以使用大多数窗口管理器。我尝试了类似的方法,但使用on_start而不是on_user_command,没有运气。 - Thayne


这是一个简单的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直到窗口存在。


1
2018-05-30 05:56





在登录时直接进入全屏我把它放在我的最后 ~/.bashrc

[[ $TERM == *"rxvt"* ]] && wmctrl -r :ACTIVE: -b add,fullscreen

按照 赖承祥回答 你需要确保这一点 wmctrl 已安装。


0
2018-04-30 12:48





据我所知,你不能。但是,我发现了一个解决方法:

使用

wmctrl -l

找出你的 rxvt 窗口被命名。可能是它的“rxvt”,所以

wmctrl -r rxvt -b toggle,fullscreen

将最大化那个窗口。

你必须把这个(第二个命令)放在一个脚本中,这是读取的  您的窗口管理器(例如,openbox,metacity)已加载。可能,在你的 .xinitrc 文件。


-1
2017-11-10 00:52



谢谢。现在我正在使用平铺窗口管理器,我认为这会让生活更轻松。 - hero2008
因为Windows标题是动态的,所以不起作用...... - corazza
@Yannbane:他们可以,但他们是 rxvt?我用这个 urxvt 它工作。如果标题确实改变了 rxvt,你可以编写一个脚本来填充线,并提供 wmctrl 具有正确标题的功能。 - Emanuel Berg
当然,grep会起作用。我不确定 rxvt。它在我的系统上也没有一致的标题,所以也许你可以更新你的答案?我很乐意删除-1 ... - corazza
@Yannbane:好的,我告诉你我什么时候完成。 - Emanuel Berg