Newb question re: iconifying

Hello all…just started using FVWM and am wondering if this scenario is possible:

I’d like to have a Desk with two Pages, 0 and 1. When I “Iconify” a window on page 0, I’d like the icon (a screenshotted thumbnail w/ imagemagick) to actually be held on page 1.

Then, when I want to use that program again, I’ll go to page 1 and “UnIconify” it, which will return it to page 0 and take me back to page 0 as well.

Whew! Is that possible? What I’m going for is similar to OSX’s “Expose” function, one of the few things I like about OSX.

Thanks for any advice!

P.S. I don’t expect anyone to handhold me and walk me through step-by-step, but I’m a newb so any pointers such as “you can use X for this part, and link that with Y to achieve Z” would be very, very helpful!

You searched the forum? As expose clones have been done before.
[]There’s Mark Ulrich’s expose program.[/:m]
[]There’s skippy.[/:m]
[]There’s taviso’s expose function.[/:m][/list:u]
Well I think I’ve got them all, so unless you have reasons te write your own it would be far easier to just use one of the above mentioned :slight_smile:



well “my” expose does not exactly what mjukr asks for.

expose makes screenshots of all windows on the current desk.

What mjukr needs, is a small enhancement.

First a function, that overrides the “minimize”-button in the titlebar (or adds a new one).

When it is clicked, the window is not iconified, but moved to desk2.

Then when you call expose, it must switch to desk2 first, and then create the overview.

This is an addon on my todo-list.

You currently can achive this behaviour with some more clicks:
In the enhanced Window-Menue: “move to… (desk2)”
Then click in the pager on desk2.
Now run expose or skippy or tavisos solution.

Must go to work now, maybe I can post the functions needed this evening.

Yes, Mark has hit the nail on the head. The main difference is the additional move to a separate desk, sort of a buffer where everything is stored iconified. So instead of “expose” just giving a snapshot of all running programs, this will simply move to the “buffer” desk, allow selection of a window, then return it to the main desk.

Thanks, Mark!

Here, this is a modified version of my “expose”, “expose-icons”.
You can use it in addition (or without) expose.

I just finished it, and did not test intensively, so please tell me if there are errors.

This is a special version of expose.
It moves Windows to a free desk instead of iconifying them.
They can be accessed by “expose-icons” then like in expose.

It is intended to run with FVWM2 (only! currently).

It just works, if the following conditions are met:

  1. You must install wmctrl from

  2. You must add these lines to your .fvwmrc or to a theme:

DestroyFunc FuncFvwmIconify
AddToFunc FuncFvwmIconify

  • I Raise
  • I ThisWindow (!Shaded Iconifiable !Iconic) PipeRead
    “wmctrl -i -r $[] -t 3”
  1. You must have at least 4 virtual desktops.


  1. overrides the Icon-function.
    Windows are not longer iconified, but moved to desk 3 (starting count at 0)

When you click on the “expose-icons” -Icon, it switches to desk3,
and creates an overview of all windows there.

When you click on a picture of a window, it is moved and raised to the desk where you clicked on “expose-icons”.

Download: … _id=332835

Greetings, Mark

This is great! Thanks so much, Mark. I will try this soon.