Fvwm Quiz!

It's fun! [1]

This really is meant to be nothing more than a little bit of fun. These are just some questions which you can try to test your knowledge of FVWM. At the moment these questions aren't in any particular order. When answering them, do please try NOT to cheat... you're only cheating yourself if you do. :)

Question submissions so far have come from myself (Thomas Adam) and Tavis Ormandy

Q1. 'SendToModule' is a way of dynamically changing some modules' configuration once it has been started. FvwmButtons is such an example, whereby one can issue the following:
SendToModule FvwmButtons ChangeButton "Id" ....

However, which options does 'ChangeToButton' accept?

ActiveIcon, Icon, Title, ActiveTitle, PressTitle
ActiveIcon, Title, ActiveTitle, PressIcon, Icon, PressTitle
Title, Frame, PressIcon, Padding, Icon, ActiveTitle


Q2. Assume the following lines were in ~/.fvwm/.fvwm2rc
Style Gvim !Title, !Borders
Style * Sticky

... When gvim starts, which attributes would that window take on?

Gvim has no title and no borders.
Gvim has titles and borders and is sticky.
Gvim has no title and no borders and is sticky.


Q3. FVWM was created in which year?

1993
1995
1990


Q4. Which conditional command ought one to use to ensure a matching window name to reference a specific window just mapped from listening on the add_window event in FvwmEvent?

ThisWindow (some_window)
Direction (some_window)
Next (some_window)


Q5. Assume the following function definition:
DestroyFunc myfunction
AddToFunc   myfunction
+ I Exec exec $0
+ I Wait $0
+ I Next ($0) FlipFocus

... and now let's assume we called it with the following:
myfunction gvim

... what is the point of the wait command?

Nothing -- it's a legacy command that isn't used anymore.
Causes the function to wait until the window appears, because otherwise the correct window wouldn't get referenced in the Next command.
Creates a little delay in the function.


Q6. Why is the use of 'Current' in functions that match windows via FvwmEvent with the add_window listener discouraged?

Current is the wrong conditional command to use because the window hasn't appeared on the screen yet.
Current is the wrong conditional command to use because it implies the window that's currently under the mouse pointer.
Curent is the wrong conditional command to use because it implies 'focused' which the new window being mapped might not have at the time the function runs.


Q7. Why is it often necessary to remove previous function/module/menu definitions with commands such as:
DestroyFunc foo
DestroyModuleConfig foo:*
DestroyMenu foo

Helps to make one's configuration file more readable.
Without clearing the definiton, FVWM would just append any additional commands to the existing definition.
Because FVWM will continue to use up more memory between restarts.


Q8. What was FvwmButtons formally known as?

Panel
GoodStuff
Buttons


Q9. Sometimes after a while, key-bindings can stop working. Why is this?

A modifier (such as numlock) has been turned on.
Some key-bindnings cause FVWM to enter a loop, blocking out other key-bindings.
Nothing at present. FVWM is lacking in the features it needs to properly circumvent it.


Q10. What does the 'F' in FVWM stand for?

Feline
No one knows -- it's a mystery.
Fantastic


Q11. FvwmEvent used to be known by which name?

FvwmDoCommand
FvwmAudio
FvwmAction


Q12. Look at the following diagram:

Window Ring Image

... which of the following style lines explains window E's exclusion?

Style E NeverFocus
Style E WindowListSkip
Style E CirculateSkip


Q13. FvwmButtons swallows just about any window you can throw at it. However in identifying that window, one requires the use of a 'hangon'. That's typically a way of identifying the window, but in which order does FVWM perform that matching?

Resource, Class, Title
Class, Title, Resource
Title, Class, Resource


Q14. FVWM has several mechanisms for quoting, however which of the following are valid characters?

"'`
^'<>
&()[]


Q15. What was the winning name of Redhat's 1996 desktop competition which ended up using FVWM2 plus an interesting m4 configuration?

Fvwm95
FvwmShell
AnotherLevel




[1] No, really...