Home » Community » Newbie corner » FullScreen: why does not work?
Toggle FullScreen on X11 [message #30297 is a reply to message #30055] |
Wed, 22 December 2010 12:54   |
oan1971
Messages: 7 Registered: April 2010
|
Promising Member |
|
|
Hello Koldo,
I am no X11 expert at all, but the following seems to work on Linux. I guess that the window manager needs to support "Extended Window Manager Hints" (see http://standards.freedesktop.org/wm-spec/wm-spec-latest.html #id2551694).
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
class FullScreenTest : public TopWindow
{
public:
typedef FullScreenTest CLASSNAME;
FullScreenTest();
virtual bool Key(dword key, int count);
virtual void Paint(Draw& w);
void SetFullScreen(bool b);
};
FullScreenTest::FullScreenTest()
{
Title("FullScreenTest").Sizeable();
}
void FullScreenTest::Paint(Draw & w)
{
Rect r = GetView();
w.DrawRect(r, Blue);
}
bool FullScreenTest::Key(dword key, int count)
{
if (key == K_F11)
if (IsFullScreen())
SetFullScreen(false);
else
SetFullScreen(true);
}
void FullScreenTest::SetFullScreen(bool b)
{
Sizeable(!b);
FullScreen(b);
XEvent event;
event.xclient.type = ClientMessage;
event.xclient.serial = 0;
event.xclient.send_event = true;
event.xclient.message_type = XAtom("_NET_WM_STATE");
event.xclient.window = GetWindow();
event.xclient.format = 32;
event.xclient.data.l[0] = b;
event.xclient.data.l[1] = XAtom("_NET_WM_STATE_FULLSCREEN");
event.xclient.data.l[2] = 0;
event.xclient.data.l[3] = 0;
event.xclient.data.l[4] = 0;
XSendEvent(Xdisplay, Xroot, false, SubstructureRedirectMask | SubstructureNotifyMask, &event);
if (b)
SetRect(0, 0, Xwidth, Xheight);
}
GUI_APP_MAIN
{
FullScreenTest().Run();
}
Best regards,
Oliver
910eb20c14e026a87ffb2b0d38b9ddb7
|
|
|
 |
|
FullScreen: why does not work?
By: 281264 on Tue, 14 September 2010 18:02
|
 |
|
Re: FullScreen: why does not work?
By: cbpporter on Tue, 14 September 2010 18:57
|
 |
 |
Re: FullScreen: why does not work?
By: alendar on Sun, 05 December 2010 04:56
|
 |
|
Re: FullScreen: why does not work?
By: koldo on Sun, 05 December 2010 11:06
|
 |
|
Re: FullScreen: why does not work?
By: kohait00 on Tue, 21 December 2010 10:47
|
 |
|
Re: FullScreen: why does not work?
By: 281264 on Tue, 21 December 2010 11:20
|
 |
|
Toggle FullScreen on X11
By: oan1971 on Wed, 22 December 2010 12:54
|
 |
|
Re: Toggle FullScreen on X11
By: koldo on Wed, 22 December 2010 14:12
|
 |
|
Re: Toggle FullScreen on X11
By: koldo on Sun, 26 December 2010 17:10
|
 |
|
Re: Toggle FullScreen on X11
By: 281264 on Mon, 27 December 2010 11:22
|
 |
|
Re: Toggle FullScreen on X11
By: mirek on Mon, 27 December 2010 18:52
|
 |
|
Re: Toggle FullScreen on X11
By: 281264 on Mon, 27 December 2010 19:04
|
 |
|
Re: Toggle FullScreen on X11
By: mirek on Mon, 27 December 2010 19:32
|
Goto Forum:
Current Time: Sun Aug 24 11:43:29 CEST 2025
Total time taken to generate the page: 0.03306 seconds
|