FVWM Metisse - the end result

Hi all. Having used KDE for about 18 months, I decided to look around and see what the fuss was about. I came across the metisse project, here.

No doubt many of you will have seen this already. Difficulty in compiling took me the best part of day to solve, but after that I quickly decided I liked it enough to keep. So then I had to learn about FVWM to make the environment manageable/candified.

So, after about 4 days, with much lurking in these forums, (thanks for all the tips and configs provided by many people here) here are the results (if these go offline, please email me at adpsimpson (at) gmail (dot) com and I’ll try and get them back on).


1 - an empty desktop
2 - some fancy stuff
3 - this post, underway…

I built all the window decorations in Gimp (while borrowing heavily from many themes in different places). The wallpaper is from kde-look.org - search for “cube”.

All the windows in these screenshots, including the “iconised” google, are fully functional. Automatic effects include scaling of inactive windows, creation of a “shaped” desktop (windows automatically rotate out the way if they are dragged to the edge of the screen) and so on.

Of course, most of the time the 3D effects are annoying, so I don’t use them much. But I have to say I’m impressed with FVWM, and would happily use it even without Metisse now.

I still have a couple of questions though. The first is how do I create a function, from a menu, which executes an FVWM function after a wait? I’ve tried adding [code]+ “Screenshot (2sec)” FvwmDesktopScreenshot

DestroyFunc FvwmDesktopScreenshot
AddToFunc FvwmDesktopScreenshot

  • I Piperead “sleep 2; echo + I sma SaveFrame”[/code] (where sma SaveFrame takes a screenshot), but this simply freezes the computer for 2 seconds, then does nothing. Is there an inbuilt “wait” function?

Once I can take a delayed screenshot, I should be able to upload a shot including my menus too. An interesting side effect of the way Metisse works is that conventional screenshot techniques don’t work - the command “sma SaveFrame” is handled by a special, Metisse module.

[EDIT - screenshot 3 now includes the menu]

Why not just do something like

AddToMenu FooMenu

  • “Screenshot (2sec)” Exec exec sleep 2 && sma SaveFrame

and cut out the middleman.

Pipereads block until the command terminates - that’s what freezes your desktop. Exec doesn’t do that, it’s strictly “fire and forget”.

Thanks Nick. I didn’t expain very well - the line you posted would work, presumably, if “sma SaveFrame” was a bash command - but it is an FVWM function. Elsewhere there is the definition:[code]DestroyFunc sma
AddToFunc sma

  • I SendToModule FvwmAmetista $*[/code]where FvwmAmetista is the module that handles the 3D aspects of the desktop.

That’s why I was trying to echo the screenshot command back from the bash command after a 2 second delay. But since Piperead blocks until it’s completed, that idea’s a gonner…

How about Schedule 2000 sma ... then?

Thanks, this is exactly what I was looking for.

However, I still can’t capture the menus in a screenshot - I suspect they are ignored by the FvwmAmetista module. Suffice to say, they are sexy :wink:

You did a great job with your theme/config…

I tried Fvwm-metisse but never really got into it… There were somethings that drove me crazy but I am sure if I had spent more time i could figure it out. I guess really the problem is that on my Distro it will only install one at a time not both on same system. and I didn’t want to sacrafice my main fvwm for an experimental one. I really like the fully functional windows when their minimized. Takes that whole thumnail minimize effect to a whole new level.

Anyway, nice job.

Well, FVWM seems to put a lot of things on hold while a menu is open - maybe the schedule command is one of them.

I’m still not clear why you can’t just dump the root window with xwd or import and convert the result. If the menus are rendered on the root window (as they must be, surely?) then this would capture them

Chickpea - thanks for the comments. It certainly took a while…

It is in fact possible to compile either FVWM or FVWM-Metisse to go in a directory other than the defualt, by using ./configure --prefix=/other/directory [other options] I have both installed, one in /usr and one in ~/dist. Even unprivaledged users may install in the second. (incedentally, metisse loses much of the speed that fvwm is famous for - when I use the default one, I can’t keep up!)

Nick - thanks again. The problem seems to be that the whole screen is rendered with OpenGL all the time. Any capture utility, except the SaveFrame function I’m trying to use, captures only the wallpaper, which I set using “xloadimage --onroot”. This is even true of xwd, which I’ve just tried, no matter where I click (either on a window or the root window), or what options I choose.

It does seem that Schedule is put on hold by the menus - if I open a menu, it waits till it is closed before taking the screenshot.

Anyway, I’ve cheated - screenshot 3 above now has my menu copy-and-pasted in from a standard FVWM install:

This is where the use of ‘stow’, is most useful.

– Thomas Adam