Re: FVWM: Building a decent Panel?

From: Mikhael Goikhman <migo_at_homemail.com>
Date: Mon, 14 Apr 2003 14:56:22 +0000

On 14 Apr 2003 15:34:07 +0200, Uwe Pross wrote:
>
> Hi there,
>
> On 14 Apr 2003 at 13:20:53 +0000, Mikhael Goikhman wrote:
>
> > > I know that there is FvwmTaskbar and FvwmButtons. But FvwmTaskbar doesn't
> > > support the pager and FvwmButtons doesn't support autohide.
> > >
> > > Any ideas how to forge such a thing?
> >
> > You should use FvwmButtons.
> >
> > ...
>
> You may also use the "EdgeCommand" in version 2.5.x to execute a
> function or command if the mouse hits the edge of the screen:
>
> EdgeThickness 1
> EdgeCommand
> EdgeCommand Right Next ("FvwmButtons") Focus
> EdgeCommand Bottom Next ("FvwmTaskBar") Focus
>
> DestroyFunc AutoLowerFunction
> AddToFunc AutoLowerFunction
> + I Current (!FvwmButtons) All (FvwmButtons) Lower
> + I Current (!FvwmTaskBar) All (FvwmTaskBar) Lower
>
> DestroyFunc AutoRaiseFunction
> AddToFunc AutoRaiseFunction
> + I Current (FvwmButtons) Raise
> + I Current (FvwmTaskBar) Raise
>
> Style FvwmButtons ClickToFocus
> Style FvwmTaskBar ClickToFocus
>
> Module FvwmAuto 100 "Silent AutoRaiseFunction" "Silent AutoLowerFunction"
>
> This has the advantage that the TaskBar nor the Buttons don't need to
> be visible.

The disadvantage that makes this setup useless is that a user normally
wants that all special modules, like FvwmButtons, FvwmTaskBar, FvwmPager
are not focusable. I.e. these modules should normally be NeverFocus,
not ClickToFocus.

A much better solution for me would be to hide a window on EdgeCommand
and unhide it on any focus:

  EdgeThickness 1
  EdgeCommand
  EdgeCommand Right Next (FvwmButtons-MyPanel, CirculateHit) UnhideWindow
  EdgeCommand Bottom Next (FvwmTaskBar, CirculateHit) UnhideWindow

  DestroyFunc HideWindow
  AddToFunc HideWindow
  + I WindowShade true # or: Lower

  DestroyFunc UnhideWindow
  AddToFunc UnhideWindow
  + I WindowShade false # or: Raise

  Style FvwmButtons NeverFocus, NoTitle, TitleAtRight
  Style FvwmTaskBar NeverFocus, NoTitle, TitleAtBottom

  DestroyFunc HideAll
  AddToFunc HideAll
  + I Next (FvwmButtons-MyPanel, CirculateHit) HideWindow
  + I Next (FvwmTaskBar, CirculateHit) HideWindow

  Module FvwmAuto 100 HideAll

The previous FvwmEvent solution is good too regarding NeverFocus.

Regards,
Mikhael.
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Mon Apr 14 2003 - 09:57:50 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:54 BST