4

I was able to make my app go full screen, but I can't make it go back to the windowed mode with borders visible. I tried to call XDeleteProperty to clear out the settings for full screen but it doesn't seem to work.

JosephH
  • 8,465
  • 4
  • 34
  • 62
  • How exactly did you make it fullscreen? Note that fullscreen is outside the scope of Xlib, you're probably using NETWM/EWMH or some hack. – ninjalj Jan 22 '12 at 12:20

1 Answers1

2

If you're using _NET_WM_STATE http://standards.freedesktop.org/wm-spec/latest/ar01s05.html#id2569140 then prior to mapping the window you set the property, but after mapping the window you have to send a client message and the window manager updates the property. Read the part of EWMH that starts "To change the state of a mapped window, a Client MUST send a _NET_WM_STATE client message to the root window..."

This is because once you map the window the window manager is in charge of maintaining its state, there would be a race if both the app and the WM could modify the property directly.

See the source code to a toolkit such as GTK+ for example code.

Havoc P
  • 8,365
  • 1
  • 31
  • 46