| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|\
| |
| | |
Add support for RSA-AES security types (Java version)
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Use the font specified by the system for UI elements. For Windows and
macOS this is straight forward, but Linux is more complex as there is no
single source for this information.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Try to follow the actual padding that FLTK adds to these widgets.
The extra one pixel on each is because of a bug in FLTK's focus drawing
code, where the box is always one pixel too small in both dimensions.
|
| | |
| | |
| | |
| | |
| | | |
This is how GNOME does things, so let's do the same so things look
similar.
|
| | |
| | |
| | |
| | | |
To conform with how e.g. GNOME sets its margins.
|
| | |
| | |
| | |
| | | |
This makes the code much cleaner, and easier to update.
|
| | |
| | |
| | |
| | | |
Makes it easier to adjust the UI from a central place.
|
| | |
| | |
| | |
| | | |
Makes it easier to adjust the UI from a central place.
|
| | |
| | |
| | |
| | |
| | | |
Outlines are no longer commonly used. Instead visually separated
headlines are the norm.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Classical tabs are very dated. They are also a practical problem as you
get very limited in the numbers of tabs we can have, and how long the
text can be on them.
Switch to one popular modern model with a list on the left instead where
pages can be selected.
|
| | |
| | |
| | |
| | |
| | | |
The accessor functions are called value() for all standard FLTK widgets,
so let's keep that theme here as well.
|
| | |
| | |
| | |
| | |
| | | |
Follow upstream FLTK naming to more clearly indicate that this is a
general widget and not TigerVNC specific.
|
| | |
| | |
| | |
| | |
| | | |
These are general things and not specific to TigerVNC, so let's move it
to the fltk specific directory for clarity.
|
| | |
| | |
| | |
| | |
| | | |
These have nothing to do with layout, so let's split them to their own
file.
|
| |/
| |
| |
| |
| |
| |
| | |
Let's separate TigerVNC specific things from stuff that could be part of
upstream FLTK. These are files that we would like to collaborate with
other FLTK users, so they are more liberally licensed and avoid using
TigerVNC specific things.
|
| |
| |
| |
| |
| | |
If the translations change then these files need to be regenerated as
they include data from those.
|
| |
| |
| |
| |
| | |
It's just the name of the system, so there is nothing in that string to
translate.
|
| |
| |
| |
| |
| | |
This should be happening implicitly, but isn't always for some reason on
macOS 13.
|
|/
|
|
|
|
|
|
|
|
| |
The system steals keyboard events for certain system keyboard shortcuts,
e.g. Cmd+Tab. Unfortunately this isn't considered a focus loss, so we
don't realise we've lost a few keyboard events and can end up in a
confused state.
Fortunately it is possible to detect when this happens and reset the
keyboard state, just like we do when focus is lost.
|
| |
|
|
|
|
| |
This was accidentally disabled in 81e114f.
|
|
|
|
| |
It might not be compiled in, so the height needs to be dynamic.
|
|
|
|
|
| |
We lacked an entry for one of these, and the magical swap that macOS
does for unknown reasons.
|
|
|
|
| |
Add also missing <stdlib.h> where required.
|
|
|
|
|
|
| |
The socket might not be the stream actually used, e.g. when we are using
TLS. Make sure we cork the proper stream to get all the benefits of
corking.
|
|
|
|
| |
Uncorking implicitly flushes, so we don't need this.
|
|
|
|
|
| |
FFMPEG is needed by the RFB library, so all the details about it should
only be applied there and not for other components.
|
|
|
|
|
| |
Modern cmake has better support for adding source files and libraries
incrementally, so let's use that to clean things up.
|
| |
|
|
|
|
|
| |
Some desktop environment, like KDE, need more rastered sizes and cannot
make use of the SVG.
|
|
|
|
| |
This code is never used on Windows, so remove it.
|
|
|
|
|
| |
Avoid the risk of the list of sizes and the list of icons getting out of
sync and causing memory corruption.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
FLTK has a lot of synchronous stuff (like dialogs), which mean that the
main loop might be run recursively in some cases. If there is data
available on our socket then CConn::socketEvent() will be called
constantly in a busy loop.
Avoid this by removing socket notifications whilst we are processing
data.
|
| |
|
| |
|
|
|
|
|
| |
The migration from 32-bit to 64-bit has long passed. Let's get rid of
all distinctions as native applications it the norm now.
|
|\ |
|
| |
| |
| |
| | |
Linux implementation using ffmpeg
|
|/
|
|
| |
Otherwise things might be logged under the wrong label.
|
|
|
|
|
| |
Unconditionally log the erroneous screen layout if it fails to
validate to simplify debugging.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If monitor mirroring was enabled while in a session with vncviewer
running on Linux, the session would not be properly resized on the
server. This was a consequence of only looking at the size and
coordinates of each screen when matching against existing screens after
the screen layout was changed, when in fact we have two (or more)
monitors with the same coordinates and size (but differing ids). This
led to the same monitor being added twice to the layout which would
later fail layout validation, resulting in no resize request being sent
to the server.
When matching, we now also check if the existing screen is not already
present in the layout before considering it a match.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we've explicitly requested a position (using -geometry) then we were
still triggering legacy full-screen request logic. This is very counter
intuitive as having a position that doesn't align with a monitor should
disqualify us for that.
It turns out that at least marco (and probably everything
metacity-derived) ends up ignoring the requested position and we go back
to triggering the legacy logic again.
Work around this by assuming that the window manager will adjust our
initial position and don't consider that in the workaround logic.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the options dialog was open when a screen configuration happened the
widget could get out of sync from the settings. A scenario when this
happened was:
1) 3 monitors, fullscreen selected on the two right-most screens
2) disconnect the left-most screen (the one not selected)
In this case, using GNOME, vncviewer would appear in fullscreen on the
right of the two remaining monitors, but the widget would show both
monitors selected. The reason was that the MonitorArragement index
doesn't work the same way as FLTK's screen index.
It's debatable how vncviewer should behave here, but the GUI should at
least match the actual setting.
|
| |
|
|
|
|
|
| |
The norm is to have error strings without punctiation, so avoid adding
one as it just confuses the translators.
|