Revision [286]

This is an old revision of ioSetFullScreen made by JohnMcIntosh on 2008-10-21 02:22:34.


sqInt ioSetFullScreen(sqInt fullScreen))

fullScreen 1 if full screen, 0 if not full screen.
return: NONE, fake return of zero
From: Interpreter
To set the squeak display to full screen mode.

Normally Squeak runs in an operating system window, but what if you throw away the operating system window ornaments, the menu bar, status areas, desktop. Dedicate the entire screen to squeak? Well that is full Screen mode.

Also see SqueakNOS

Typically this is a piece of ugly code, even more so if you run Squeak in a Browser, and don't forget what to do if you have more than one
screen attached to that hardware.

There are many ways to do this, most are painful and usually break betwen operating system versions. Even more so if Squeak running in the browser.

Currently we find the dominate screen, then we hide the menu bar, remember the old screen size, then move and resize the window to cover the entire screen. This is although primitive works quite well. There was code to use BeginFullScreen but Apple broke that in some version of os-x, there is also code to use CGDisplayCapture but that was not successfully implemented.

When we revert back we restore the menu bar and resize, re-place the window.

For squeak running as a sub-process in browser we must do a nasty bit of work, first we make squeak the forground process, then show the window, menu bar etc, then hide it and move and resize the window. We also then direct drawing and UI events to the window,versus to the browser. When later we revert back we need to hide the window, put the browser window as the foreground process, redirect UI and drawing to the browser.

Lastly we note if you are using multiple displays and the squeak window is on the display without the menu bar then we don't need to hide the menu bar, that would be wrong


This is not required on the iPhone

Use X11 to resize and raise the window, to revert back, a similar process

make the window full screen, or not using attributes on the stWindow. For squeak as a browser plugin it has to take the window out of the browser and make it the foreground window on the top. To revert back, a similar process

There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki