Feature request 135 contains code to allow for arbitrary scaling (including true fullscreen mode) for the GTK+ 3 UI. This page is an evaluation of whether that code is ready to go into a release.
Open questions
- Should we allow "disabling" of the arbitrary scaling mode? Phil says "no" on the basis that what most people actually want is arbitrary scaling, and maintaining two different behaviours is going to be painful in the long run.
Known showstoppers
It's unusable on Wayland backend, quite popular nowadays. The image gets clipped as the attempt to calculate the window height is naive. Sergio has an idea to test. Fixed.
More?
Known niggles
Things which would be nice to fix but won't stop it going into a release.
- "Options / Full screen" appears in the GTK+ 2 menus but doesn't do anything - fixing this would need some hacking of the "C preprocessor in Perl" in
perl/cpp-perl.pl
; we'd be better off just trying to get rid of that because it's horrible.
Restoring the window from full screen doesn't restore it to the right size. Works well for Sergio after recent changes. Fixed.
- On my Wayland setup, display updates on fullscreen mode are not applied well. If I disable the double buffering of the drawing area works well. IMO this is similar to the issue detected on SDL2 patch. There is no guarantee that a surface will retain the contents of previous frame. We can use dirt rects method to update our backbuffer but we should draw the full frame.
- On my Wayland setup, when a modal dialog is opened, the black bars near the drawing area used to correct the aspect ratio become transparent, showing the window or desktop stacked below Fuse. This doesn't happen on x11 and windows backends. If I set the cairo operator CAIRO_OPERATOR_OVER the windows background color is used and is solid.
- Mouse cursor is visible while fullscreen mode and could be a bit annoying. Try to hide permanently or when it is stopped.