FVWMIconMan's Click that about the focus

I wish to implement the effect thak like the windows2000’s TaskBar, How should I do?

BTW:the versoin 2.4.19 of the FVWM has not the FVWMIconMan’s Tips style, right?

What functionality is it that windows has you wish to implement?

And yes, use 2.5.23, please.

– Thomas Adam

For example,

  1. let the “gmrun” has the window form, and let it appear in the WindowList, but hasn’t FVWMIconMan’s button.
  2. when the FVWMIconMan’s button to be clicked,
    2.1 if it’s associated window has focus and raised, perform Iconify command, and let next window has focus and raise it auto.
    2.2 if it’s associated window hasn’t focus and lowed, bring it’s window top, and let it’s window has focus.

3. implement the “Show Desktop” function: when i perform the function, let all windows Iconify, and perform the function again, restore all windows’s state that before these windows are Iconify.

and My platform’s FVWM that version is 2.4.19.

#1 Using the “DontShow” option of FvwmIconMan should allow you to do this.
#2 Something like this should work I think (can’t test atm)

[code]AddToFunc MinimizeFunc

  • I ThisWindow (Raised, Focused) Iconify

AddToFunc RaiseFunc

  • I ThisWindow (!Raised, !Focused) Raise, Focus[/code]
    #3 is in the Cookbook here.

Unless you have a specific reason to stick to the 2.4 series I recommend you upgrade to the 2.5 series.

You can’t do “Raise,Focus” like that – you would have to call a separate function.

– Thomas Adam

I already wondered about that, so I did a quick lookup in the manpage and saw something that led me to believe it could be done. I must have misinterpreted it :frowning:

Thank you very much.
the question 1 is resolved already.
the resolved scheme for the question 3 that you given:

    DestroyFunc ShowDesktop
    AddToFunc   ShowDesktop
    + I All (CurrentPage, Iconic, State 1) RestoreDesktop
    + I TestRc (Match) Break
    + I All (CurrentPage, !Iconic, !State 1) ThisWindow State 1 True
    + I All (CurrentPage, !Iconic, State 1) Iconify
    DestroyFunc RestoreDesktop
    AddToFunc   RestoreDesktop
    + I All (CurrentPage, Iconic, State 1) Iconify off
    + I All (CurrentPage, State 1) ThisWindow State 1 False

but my Fvwm version is 2.4.19, when I run it on my system, the FvwmConsole tell me:<> No such command ‘TestRc’ & ‘State’.
can the version 2.4.19 implement the function?

then the question 2:

+ I ThisWindow (!Raised, !Focused) Raise, Focus

this code can’t correctly run on my system, the FvwmConsole prompt ‘:<> No such command ‘Raise,’’
if Fvwm’s version is 2.5.x, this should be a resolved scheme:

*FvwmIconMan: Action Mouse 1 N sendcommand IconManClicked
DestroyFunc IconManClicked
AddToFunc IconManClicked
+ I ThisWindow (Raised, Focused) Iconify
+ I TestRc (Match) Break
+ I ThisWindow (!Raised, !Focused) Raise
+ I TestRc (!Match) Break
+ I ThisWindow Focus

but the Fvwm that version is 2.4.19 how to implement this function?
additional, this code:

+ I ThisWindow (Raised, Focused) Iconify

is inefficacy to the current window, the reason is the current window don’t match the condition '(Raised, Focused) '.how should I do?

my platform is openbsd, so i still used the version 2.4.19. I think, if it is fit, that it is good. :slight_smile:

Well, while 2.4.x is still supported officially you’ll find that very few people actually know it, so if you require support I’d recommend upgrading to 2.5.x as that is what most people use.

State and TestRc don’t exist in 2.4.X – you can use CondRc though in lieu of TestRc, but there’s no concept of State in 2.4.X, yet another reason to use 2.5.X really.

As I told you previously, you can’t apply Raise and Focus that way, instead either call another function as in:

+ I ThisWindow (!Raised, !Focused) RaiseFocus

DestroyFunc RaiseFocus
AddToFunc RaiseFocus
+ I Raise
+ I Focus

But by this point this is irrelevant since you need 2.5.X anyway.

– Thomas Adam