As might already know, GuiKit, the user-interface library that Cantabile is built on, is also used in my son Mitch’s game Sector’s Edge. One feature that I added for him quite a while ago was a full-screen mode.
I’ve been meaning to make this available in Cantabile for a while now but the problem has always been the menu bar. Windows doesn’t really provide a way to have full screen windows with the standard menu bar - you can have it stuck to the top of the screen, but that’s not really full screen and looks a little weird with a bright white bar across the top of the screen.
I could remove it for a nicer look, but then all those commands would be inaccessible while in full-screen mode. So over the last couple of weeks I’ve been playing around with a custom menu bar implementation and it’s getting close…
First of all, I’ve made the menu items a little bigger for easier access on touch screens. Here’s the old menu bar:
and here’s the new:
I then went to great lengths to get it working as closely to the system menu bar as possible:
- Same colors and background highlights
- Same keyboard navigation behaviour
- Automatical showing of shortcut key underlines when Alt key pressed
- A thousand other little details that no one ever thinks about but all contribute to the experience.
Now with a menu bar that I had some control over, I could make it disappear when in full screen mode but still have it accessible. The menu bar automatically pops up when:
- Pressing and releasing Alt key, or pressing Alt+(menu letter)
- Moving the mouse to the very top of the screen
- Swiping down from the top of the screen on touch screen devices.
Seeing as I got all that working today, I thought I might as well integrate it into Cantabile and give it a test drive:
- New menu command View -> Full Screen
- Default short cut key of Shift+F11
- Live mode vs standard mode now remembers if you were in full screen mode.
Needs a lot more testing and not sure when it’ll ship it, but it’s looking promising: