Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Viewer: additional toolbar functionality (toggle view-only mode & clipboard transfer, zoom in/out/reset, display toolbar in full-screen mode) #45

Open
dcommander opened this issue Aug 5, 2016 · 1 comment

Comments

@dcommander
Copy link
Member

dcommander commented Aug 5, 2016

Referring to the following issues from SourceForge:

https://sourceforge.net/p/turbovnc/feature-requests/27/
https://sourceforge.net/p/turbovnc/feature-requests/28/
https://sourceforge.net/p/turbovnc/feature-requests/29/
https://sourceforge.net/p/turbovnc/feature-requests/30/

There is some demand for controls similar to those of the TightVNC v2 viewer, including:

  • A toolbar button and hotkey for toggling view-only mode
  • A toolbar button and hotkey for toggling clipboard transfer
  • A toolbar button and hotkey for zooming in and out and resetting the zoom level (when non-automatic screen scaling is enabled)
  • The ability to display the toolbar in full-screen mode, preferably using a "hotspot" on the screen (a la TightVNC)

For the Windows viewer, I implemented the hotkeys for these features in the dev branch and temporarily added them to the system menu. I like the way that the view-only hotkey works, because toggling that feature gives clear visual feedback (parts of the toolbar grey out when view-only mode is activated.) Zooming in/out gives visual feedback via the window title, which shows the scaling factor. However, I'd like for the other hotkeys-- clipboard transfer and keyboard grabbing-- to have clear visual feedback as well, to avoid confusion if they are accidentally pressed by a user. It makes the most sense to have a toolbar button for each that will change when the feature is on or off, and that would de-clutter the system menu as well.

It would also be nice to be able to control these features visually while in full-screen mode. There are a couple of ways to accomplish that:

  1. A drop-down toolbar, activated via a hotspot (similar to that of the TightVNC v2 viewer.)
    This may be tricky to implement but would present the best interface, since (per above) it would provide clear visual feedback for all of the toggles, as well as a way of zooming in/out without using the keyboard. A possible alternative would be to simply allow the toolbar to be shown/hidden via CTRL-ALT-SHIFT-T while in full-screen mode, as it is in windowed mode (although there are likely to be some ramifications to that in terms of window sizing that would need to be sorted out. Overlaying it is definitely nicer.)
  2. Using the existing F8 menu in the Java viewer and implementing a similar menu in the Windows viewer (by making F8 pop up the existing system menu.) This is adequate but not as visually appealing as the drop-down toolbar, because the user would have to press F8 to see the state of things like view-only mode and clipboard transfer, and they'd have to leave the F8 menu popped up while zooming in and out.

Although these features were requested for the Windows viewer, I try as much as possible to keep the interface consistent between the two viewers, so it would be nice to implement them in both viewers. (2) would be the easiest to implement and would maintain GUI consistency between the viewers without requiring any significant new GUI code.

@dcommander
Copy link
Member Author

The unification of the TurboVNC Viewer in TurboVNC 3.0 has simplified this somewhat.

@dcommander dcommander changed the title Viewer: improve GUI controls Viewer: additional toolbar functionality (toggle view-only mode & clipboard transfer, zoom in/out/reset, display toolbar in full-screen mode) Dec 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant