Discussion:
FVWM: Limit fullscreen applications to EWMH working area
JUNG, Christian
2012-06-14 08:32:34 UTC
Permalink
Hello,

is there a possibility to limit applications which set their _NET_WM_STATE to _NET_WM_STATE_FULLSCREEN to the EWMH working area?

I would like to start Mozilla Firefox in fullscreen mode (without window decoration, menu etc.) and limit it to the working area so that the FvwmTaskBar is not hidden by it.


bye
Chris

SHS SERVICES GmbH - Informatik
Hofstattstraße 106a
D-66333 Völklingen

phone: +49 6898 10 4987
fax: +49 6898 10 54987
www: http://www.shsservices.org/

SHS SERVICES GmbH, Firmensitz: Bismarckstrasse 145, 66333 Völklingen
Registergericht: Amtsgericht Saarbrücken HRB 14092
Geschäftsführer: Martin Baues, Dr. Bernd Luxenburger
Thomas Adam
2012-06-14 08:43:23 UTC
Permalink
Post by JUNG, Christian
Hello,
is there a possibility to limit applications which set their _NET_WM_STATE
to _NET_WM_STATE_FULLSCREEN to the EWMH working area?
No, because the EWMH spec says that fullscreen really is *fullscreen*.
Post by JUNG, Christian
I would like to start Mozilla Firefox in fullscreen mode (without window
decoration, menu etc.) and limit it to the working area so that the
FvwmTaskBar is not hidden by it.
Then you would have to remove the decoration from your window, maximize it
(which by definition now honours the working area by default) and coming out
of that state, restore your decorations. Perhaps something like:

DestroyFunc Foo
AddToFunc Foo
+ I WindowStyle !Title, !Borders, State 1....
+ I Maximize ...

Coming out of maximize though depends. You could perhaps use:

DestroyModuleConfig FE:*
*FE: configure_notify Foo2

AddToFunc StartFunction I Module FvwmEvent FE

DestroyFunc Foo2
AddToFunc Foo2
+ I ThisWindow (State 1, !Maximized) DestroyWindowStyle

There's probably a worse example used in things like Fvwm-crystal.

-- Thomas Adam
JUNG, Christian
2012-06-14 15:05:45 UTC
Permalink
Post by Thomas Adam
DestroyFunc Foo
AddToFunc Foo
+ I WindowStyle !Title, !Borders, State 1....
+ I Maximize ...
Thanks for the answer. It seems that I have to write a extension for firefox. There are some other issues which make this necessary.

It seems that RefreshWindow is required after removing the window decoration, so that Maximize enlarges the window correctly:

DestroyFunc Foo
AddToFunc Foo
+ I WindowStyle !Title, !Borders, State 1
+ I RefreshWindow
+ I Maximize 100 100

Otherwise the window only grows to the right side of the screen minus 2x border-width and bottom minus titlebar height.
Thomas Adam
2012-06-14 15:13:07 UTC
Permalink
No -- you want "UpdateStyles".

-- Thomas Adam

Loading...