Fiddling with the fdefault config to reproduce a bug, there are
some things that I don't understand or that should be improved.

1. In the log there is

    Traceback (most recent call last):
      File "/home/luthien/bin/fvwm-menu-desktop", line 78, in <module>
        import xdg.Menu
    ImportError: No module named xdg.Menu

   We should get rid of any error messages during startup, even if
   some things may not be installed.

1b. In the builtin menu (if no config is used), the above message
   is generated every time you move the pointer over the xdg menu
   item.

2. Are the buttons of inactive windows really meant to look like
   in the attached image?  NeverFocus windows like Xclock don't
   ever get their buttons drawn properly.

3. The main menu has a submenu for module manpages, but not a
   submenu to start them.  Weird.

4. The "Copy config" dialog should *really* state the filename of
   the config file it generates, not just the target directory.

5. Double clicking the top left window button does not close the
   window.  The menu needs a doubleclick action:

    Mouse 1 1 A Menu MenuWindowOps delete

   (or maybe "destroy" instead).

6. Clicking the "X" button works only with a delay.

7. The config uses button 4+5 for window shading.  It shouldn't
   require any non-standard mouse buttons for that.

     Mouse 4    T    A MoveClickX Nop Raise "WindowShade True"
     Mouse 5    T    A MoveClickX Nop Raise "WindowShade False"

   Also, this should really be just

     Mouse 4    T    A WindowShade True
     Mouse 5    T    A WindowShade False

   Otherwise it may or may not raise the window when pushing a
   mouse wheel, depending on the speed of the wheel.

8. The MoveClickX function is used even for functions that do not
   have a doubleclick action ("Nop" instead).  Therefore clicking
   such a indow button works only with a delay (coubleclicktime),
   and it won't work at all if you double click:

     Mouse 1    FS   A MoveClickX Resize Raise Nop

9. Similarly, a button with "Nop" move action won't do anything if
   you happen to move the mouse while clicking:

     Mouse 4    T    A MoveClickX Nop Raise "WindowShade True"

10. Moving a window from the titlebar or icon should also raise
    it:

     Mouse 1    T    A MoveClickX Move Raise Maximize
     Mouse 1    I    A MoveClickX Move Nop Iconify

11. The function

>     AddToFunc   IconManClick
>     + I ThisWindow (Raised, !Shaded, !Iconic, CurrentPage) Iconify
>     + I TestRc (Match) Break
>     + I ThisWindow (!Raised) Raise
>     + I ThisWindow (Shaded) WindowShade
>     + I ThisWindow (Iconic) Iconify
>     + I ThisWindow (AcceptsFocus) FlipFocus

    Most conditions are not necessary:

      AddToFunc   IconManClick
      + I ThisWindow (Raised, !Shaded, !Iconic, CurrentPage) Iconify
      + I TestRc (Match) Break
      + I ThisWindow WindowShade off
      + I ThisWindow Iconify off
      + I ThisWindow Raise
      + I ThisWindow (AcceptsFocus) FlipFocus

    (Also reordered to reduce the number of expose events.)

    This should also add

      + I MoveToPage
      + I MoveToDesk

    (or GotoDesk/GotoPage to the window's desk and page).

12. Shouldn't the icon manager show an indication of whether a
    window is hidden or not?

13. The window menu should have a SendToPage button too.

14. Raising windows issue with FvwmButttons:

    * Move some window partially over the panel, then
    * Click on its button in the icon manager.
       => The panel is raised, hiding the window, then the window
          is raised over the panel.  Looks weird.

15. Not sure why, but if you press a button in the icon manager
    and hold it for some time, releasing it does not activate the
    window.

16. That just wastes resources for nothing:

      *FvwmIconMan: Action Mouse 2 A sendcommand Nop

17. Fvwm can *really* do better than "TileCascadePlacement".  I
    suggest to use MinOverlapPlacement.

18. Just do that without decors:

     DestroyDecor FvwmDecor
     AddToDecor   FvwmDecor
     ...
     Style * BorderWidth 5, HandleWidth 5, MWMButtons, \
        FvwmBorder, FirmBorder, UseDecor FvwmDecor

19. This depends on undefined behaviour and might as well disable
    opaque moves completely:

     OpaqueMoveSize -1

    Instead, use

     OpaqueMoveSize unlimited

20. This is never used anyway, since moving and resizing is always
    in opaque mode:

     XorValue 55555

21. Why?

     HideGeometryWindow

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt

Reply via email to