как сделать так, чтобы rxvt запускался как полноэкранный? - PullRequest
12 голосов
/ 20 марта 2012

Я не могу найти его на странице man.
Я использую rxvt-unicode-256color из зеркала squeeze debian.
Среда Gnome 3, композит включен в xorg.conf.

Ответы [ 5 ]

15 голосов
/ 23 мая 2013
  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.


Ссылка:

1 голос
/ 30 мая 2017

Вот простой плагин 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 до появления окна.

0 голосов
/ 25 октября 2018

Вот как я решил

запуск настроек окна после вызова 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" &!
0 голосов
/ 30 апреля 2015

, чтобы перейти прямо к полноэкранному режиму при входе в систему, я поставил это в конце моего ~/.bashrc:

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

согласно Чу-Сян Лай * ответ вам необходимо убедиться, что wmctrl установлено.

0 голосов
/ 10 ноября 2012

Вы не можете, насколько я знаю. Но я нашел обходной путь:

Используйте

wmctrl -l

чтобы узнать, как называется ваше окно rxvt. Вероятно, это "rxvt", так что

wmctrl -r rxvt -b toggle,fullscreen

развернет это окно.

Вам нужно будет поместить эту (вторую команду) в скрипт, который читается после загрузки вашего оконного менеджера (например, openbox, metacity). Возможно, в вашем .xinitrc файле.

...