how to make rxvt start as fullscreen?
Asked Answered
E

5

12

I can't find it within man page.
I am using rxvt-unicode-256color from debian squeeze mirror.
Gnome 3 environment, composite enabled in xorg.conf.

Empressement answered 20/3, 2012 at 8:0 Comment(0)
U
19
  1. Install wmctrl

    $ sudo apt-get install wmctrl
    
  2. Create the extension directory

    $ mkdir -p ~/.urxvt/ext/
    
  3. Create a plugin for 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. Enable the plugin

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

Now, you can toggle fullscreen with the F11 key.


Reference:

Uneven answered 23/5, 2013 at 7:15 Comment(1)
This doesn't start rxvt as fullscreen. It just adss a hotkey to make it fullscreen, which is also possible using most window managers. I tried a similar approach but with on_start instead of on_user_command, with no luck.Kurtkurth
B
3

to go straight to fullscreen at login i put this at the end of my ~/.bashrc:

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

as per Chu-Siang Lai's answer you need to make sure that wmctrl is installed.

Buchheim answered 30/4, 2015 at 12:48 Comment(0)
K
2

Here is a simple perl plugin that will start urxvt in fullscreen mode (without requiring you to press an additional key):

#!/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;
}

Unfortunately, it seems that the window isn't visible to wmctrl when on_start is called, so I had to use a timer to delay the call to wmctrl until the window exists.

Kurtkurth answered 30/5, 2017 at 5:56 Comment(0)
S
0

This is how I solved

running window settings after invoking 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
### ======================================================

Now in zsh you can run urxvtmaxed or urxvtfull to launch urxvt and then resizing the window.

Note: wmctrl doesn't work properly in a Wayland session as controlling windows is against Wayland's security policy.

If $WINDOWID is available

urxvt -e zsh -c "RUN='wmctrl -i -r \$WINDOWID -b add,fullscreen' zsh" &!
Sideband answered 25/10, 2018 at 13:25 Comment(0)
G
-1

You can't, as far as I know. But, I found a workaround:

Use

wmctrl -l

to find out what your rxvt window is named. Probably, its "rxvt", so

wmctrl -r rxvt -b toggle,fullscreen

will maximize that window.

You'll have to put this (the second command) in a script, that is read after your window manager (e.g., openbox, metacity) is loaded. Possibly, in your .xinitrc file.

Gangrel answered 10/11, 2012 at 0:52 Comment(4)
Thank you. Now i'm using tiling window manager, i think it makes life easier.Empressement
@Yannbane: They can be, but are they for rxvt? I used this for urxvt and it worked. If the title does change for rxvt, you could write a script that greps the line, and feeds the wmctrl function with the correct title.Gangrel
Sure, grep would work. And I'm not sure about rxvt. It doesn't have consistent titles on my system either, so maybe you could update your answer? I'd gladly remove the -1...Gentlewoman
the current window name is :ACTIVE:Buchheim

© 2022 - 2024 — McMap. All rights reserved.