EwmhBaseStruts and Maximize not working correctly


I am trying to use EwmhBaseStruts to set up a working area. I have a taskbar at the top, and hence want to leave a row at the top of the screen which is “skipped” when windows are maximized. That works ok, but I also end up with a line on the right side of the screen for some reason (i.e. windows do NOT touch the right edge of the screen - there is a gap). I’ve tried this with 2.6.1, 2.6.2 and 2.6.3, all compiled from source on a 64-bit ubuntu. The minimal .fvwmrc below shows the problem.
Just start up, open up an xterm and try to MaximizeAndRaise.

Can anyone reproduce this?


[code]EwmhBaseStruts 0 0 35 0

DestroyFunc MaximizeAndRaise
AddToFunc MaximizeAndRaise

  • I Maximize True
  • I Raise

Key 1 A CM MaximizeAndRaise
Key 0 A CM Restart

Key u A CM Exec xterm [/code]


– Thomas Adam

Thanks for getting back to me.


Style * ResizeHintOverride

or even:

Style xterm ResizeHintOverride

does not solve the problem for me. I have tried it before, and just retried again. Does it work for you with any of the versions I outlined?

It does work – and this functionality hasn’t changed. So it’s an issue with config. What does it look like? Not just random snippets you erroneously think might help.

– Thomas Adam

So I was taking the snippet above as the full .fvwmrc file in fact. HOWEVER, I was reloading it after having first started fvwm with my “full” config.

As you suggest when I set that snippet to be my .fvwmrc file AND restart everything, the functionality does work, hence it is something in my configuration that is breaking things. (The interesting thing is that if I start with that limited config above, and then change the fvwmrc file to point to my full config and restart, everything works correctly!).

On a related note, is there a way to easily list all the styles that are currently set by fvwm?


In case anyone else comes across this…
the problem for me is stalonetray - if I do not start it at init time, the problems goes away.

No, because once FVWM has parsed them, the information is not then human-readable.

– Thomas Adam

No, this is nonsense.

– Thomas Adam

So having my .fvwmrc as:

EwmhBaseStruts 0 0 35 0

DestroyFunc StartFunction
AddToFunc StartFunction

  • I Exec stalonetray

DestroyFunc MaximizeAndRaise
AddToFunc MaximizeAndRaise

  • I Maximize True
  • I Raise

Key 1 A CM MaximizeAndRaise
Key 8 A CM Quit
Key 9 A CM Restart

Key u A CM Exec xterm [/code]

I observe the problem (after a clean boot - nothing else in the .fvrmrc, that is the full thing). This is with a most trivial .stalonetrayrc:

background darkgreen icon_size 24 geometry 10x1-0-0

If I get rid of the StartFunction and do NOT start the stalonetray, the problem goes away.

I have tried playing with “ResizeHintOverride” at no avail. Perhaps there is some other style that I should be setting, but nevertheless having or not having stalonetray in my config causes/solves the problem.

the problem for me is stalonetray -

Make stalonetray have a style of Unmanaged.

– Thomas Adam

Today I also have battle with Fvwm config.

After “hg bisect” in my settings I found that Miximize stop working after adding “stalonetray”:

    stalonetray --geometry 1x16-$((130+92+24))+0


  Current Maximize 100 100

position window only on half bottom screen part near Stalonetray window bottom edge.

After digging into stalonetray(1) and trying various options I found fix with --window-strut . As
say man page:

  to avoid covering of tray window by maximized windows

My complete setup:

AddToFunc InitFunction
# FIX here
+ I Exec  exec stalonetray --window-strut none --grow-gravity S --icon-gravity N --geometry 1x16-$((130+92+24))+0 

Style "stalonetray" !Button 1, !Button 3, !Button 5
Style "stalonetray" StaysOnTop, Sticky, !Iconifiable
Style "stalonetray" FixedPosition, FixedSize
Style "stalonetray" WindowListSkip, CirculateSkip
Style "stalonetray" TitleFormat TRY

# The autohiding functions.
# From http://fvwm.org/documentation/faq/#toc_7.17
# See question "Autohiding FvwmButtons or other windows".
DestroyFunc autohide
AddToFunc autohide
+ I ThisWindow ($0) Deschedule $[w.id]
+ I ThisWindow ($0) KeepRc ThisWindow (shaded) WindowShade off
+ I TestRc (!Match) All ($0, !shaded) autohide_hide $1 $2

DestroyFunc autohide_hide
AddToFunc autohide_hide
+ I Schedule $0 $[w.id] WindowShade $1
+ I Schedule $0 $[w.id] Deschedule $[w.id]

# Add the windows you want to autohide
DestroyFunc enter_handler
AddToFunc enter_handler
+ I autohide FvwmPager 1000 N
+ I autohide stalonetray 1000 N