path: root/src/plugins/platforms/vnc/qvncscreen.h
diff options
authorLaszlo Agocs <>2016-10-10 14:27:47 +0200
committerLaszlo Agocs <>2016-11-09 13:57:58 +0000
commitbe17ca27f6df3ae55924595cbd387c99b49b398d (patch)
tree49bd752979942f8efc7407e7aae7b9d3d03c2cd1 /src/plugins/platforms/vnc/qvncscreen.h
parentaa3d08ee868c281e38ad1a476f6f3becb4c9aa34 (diff)
linuxfb: Make first window fullscreen like eglfs
...unless the legacy behavior is requested via QT_QPA_FB_FORCE_FULLSCREEN=0 or the platform plugin overrides QFbScreen::flags() to return QFbScreen::DontForceFirstWindowToFullScreen. The long pending asymmetry between eglfs and linuxfb is going to end because with the increased focus on the integrated Qt Quick Software backend the expectation for launching apps with -platform linuxfb is to behave in the normal, eglfs style, embedded manner. Forcing every app to handle this manually in QML is silly. Widget applications also benefit since the old non-fullscreen main window approach is pretty much never what is wanted (considering there is no desktop and the content in the background is either garbage or whatever was on the terminal). However, not every fbconvenience-based platform wants this. For example, vnc should remain with the old way where window sizes are not altered. vnc therefore opts out via QFbScreen::flags(). bsdfb follows the linuxfb behavior. [ChangeLog][Important Behavior Changes] The linuxfb and bsdfb platform plugins now follow the behavior of eglfs by making the first window fullscreen. This provides consistency and avoids applications having to make their windows match the screen size manually. The new behavior can be disabled by setting the environment variable QT_QPA_FB_FORCE_FULLSCREEN=0. Task-number: QTBUG-48658 Task-number: QTBUG-56306 Change-Id: I63d917147ce37205e29cbd0c6f37f35c46d4509c Reviewed-by: Louai Al-Khanji <> Reviewed-by: Paul Olav Tvete <>
Diffstat (limited to 'src/plugins/platforms/vnc/qvncscreen.h')
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/platforms/vnc/qvncscreen.h b/src/plugins/platforms/vnc/qvncscreen.h
index 785abd6dc2..24dab6179c 100644
--- a/src/plugins/platforms/vnc/qvncscreen.h
+++ b/src/plugins/platforms/vnc/qvncscreen.h
@@ -70,6 +70,8 @@ public:
void disableClientCursor(QVncClient *client);
QPlatformCursor *cursor() const Q_DECL_OVERRIDE;
+ Flags flags() const Q_DECL_OVERRIDE;
void clearDirty() { dirtyRegion = QRegion(); }