]> source.dussan.org Git - tigervnc.git/commit
Add fullscreen mode parameter
authorHugo Lundin <hugo@lundin.dev>
Thu, 15 Jul 2021 10:52:56 +0000 (12:52 +0200)
committerHugo Lundin <hugo@lundin.dev>
Fri, 16 Jul 2021 14:08:19 +0000 (16:08 +0200)
commitc084e586927ff040014d6a8ea8c519b3a9a368d2
treef7e29ef1cfb3065dc6297a26b1e8dd6f5f8ddfe9
parente2200c2456220c4dcc45024050d36fae6213f894
Add fullscreen mode parameter

Before this commit, `FullScreen` and `FullScreenAllMonitors` could be
used to configure whether to use the current monitor in fullscreen,
or all monitors in fullscreen.

This commit deprecates `FullScreenAllMonitors` in favour of
`FullScreenMode` (which can either be `current` or `all`). This allows
for additional modes to be added, without the risk of having invalid
states (for example two activate two different fullscreen modes at the
same time).

A new concept has been added; read-only parameters. They are parameters
that will be read, but never written back. This allows for migration
paths to be constructed, where a parameter can be taken to consideration
but then for example be discarded, logged or changed into something else.

This has been used for `FullScreenAllMonitors` to provide a migration
path. On startup of vncviewer, if `FullScreenAllMonitors` is enabled,
`FullScreenMode=all` will be automatically enabled instead. The next
time the configuration file is written to disk, `FullScreenAllMonitors`
will then be removed.
vncviewer/DesktopWindow.cxx
vncviewer/OptionsDialog.cxx
vncviewer/OptionsDialog.h
vncviewer/parameters.cxx
vncviewer/parameters.h
vncviewer/vncviewer.cxx
vncviewer/vncviewer.man