ratpoison-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RP] dockapps and expose


From: Kevin Geiss
Subject: [RP] dockapps and expose
Date: Wed Jul 14 14:40:13 2004
User-agent: Mutt/1.5.6i

woohoo! I adapted the expose perl script to work with my funky dockapp
setup.

I have a ratpoison alias called 'dockapp_frames' which restores my dockapp
frameset and puts all the dockapps back in the right place. (bound to
'd' so I'm always free to run 'only' and it's easy to get back)

so with that it wasn't too hard to hack on the expose.perl script a
bit so that after fselect returns, it asks ratpoison what the current
selected client is, then calls the dockapp_frames alias, then selects
the client that was selected at the end of the fselect.

I couldn't find a good ratpoison command which told me directly which
was the current client (just the current frame) so I had to iterate over
the output from the 'windows' command.

I've got my frames set up for my ibook in linux, my two desktop machines,
my work machine (in two different screen resolutions), and even my ibook
in OS X running X11 full screen. :) I have now truly gone off the deep end.

I have a couple new screenshots at http://www.desertsol.com/~kevin/screens
at the bottom of the page (the last 3 on the page are ratpoison shots)

anyway, here's the part of the expose script I hacked: (i didn't bother
making a patch, I doubt anyone else would actually want this code)

# This next paragraph requires fselect to return non-zero on user abort (C-g).
  if ( not &rpi('fselect') )
  { # We canceled the fselect, so restore the old setup.
      &rp("frestore $frames_old");
  }
  else
  {
    my @windows = &rp('windows');
    chomp @windows;
    foreach (@windows)
    {
      next unless m/^(\d+)\*/;
      &rp( 'dockapp_frames' );
      sleep 1;
      &rp( "fselect 0" );
      &rp( "select $1" );
      last;
    }
  }






reply via email to

[Prev in Thread] Current Thread [Next in Thread]