Bug 7522 - The options dialog in the session is different from the initial options
Summary: The options dialog in the session is different from the initial options
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VNC (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.14.0
Assignee: Linn
URL:
Keywords: ossman_tester, relnotes, wilsj_tester
Depends on: 6974 7793
Blocks:
  Show dependency treegraph
 
Reported: 2020-06-25 09:48 CEST by Pierre Ossman
Modified: 2022-01-14 10:50 CET (History)
3 users (show)

See Also:
Acceptance Criteria:
* The content of the options tabs should be the same for both the initial options window and the options window in the session * For the options window in the session, the unavailable options for each tab should be disabled * The unavailable options in the options window should show the correct value for that option


Attachments
The Options tab before any changes. Shows suggestions to which new tab each option should be moved. (44.54 KB, image/png)
2021-12-23 10:31 CET, Linn
Details
The Security tab before any changes. Shows suggestions to which new tab each option should be moved. (27.09 KB, image/png)
2021-12-23 10:32 CET, Linn
Details

Description Pierre Ossman cendio 2020-06-25 09:48:28 CEST
Since the client is split in tlclient/vncviewer we have ended up with two options dialogs. They are similar, but still have enough differences to be confusing.

It would be helpful if they could match perfectly as users would feel more familiar and the documentation would be correct in both cases.

E.g. right now we remove all options that cannot be changed once the session is running. It's probably better to have all those entries there, but disabled.
Comment 1 Linn cendio 2021-12-10 08:59:19 CET
As part of bug 7793, the Options -> Screen tab is getting a redesign, so the Screen tab part of this bug cannot be fixed until that design is in place.
Comment 2 Linn cendio 2021-12-14 10:06:33 CET
As part of this bug, we will do a new vendordrop of TigerVNC. It is the changes from this pull request [1] that we are interested in getting.

[1]: https://github.com/TigerVNC/tigervnc/pull/1390
Comment 8 Linn cendio 2021-12-20 11:05:13 CET
In the options in the session, there will be two types of modes for unavailable options after this bug is done.

* Inactive options. These are temporarily turned off by some other setting, see e.g. Optimization tab with Auto select enabled and disabled.

* Disabled options. These cannot be changed from within the session.

These two modes should be distinguishable from each other. For the disabled options, it should also be clear where you can change these options.


Currently, the inactive options are shown by being grayed out. 
My idea for showing the disabled options is the following:
 * Grayed out
 * Has tool tip with info where to change it, e.g. "Log out to change this option"
 * Italic font

An alternative way to show the disabled options could be by changing the cursor on hover, but I think it will be shown more clearly with the styling of the font.
Comment 11 Linn cendio 2021-12-23 10:31:56 CET
Created attachment 1010 [details]
The Options tab before any changes. Shows suggestions to which new tab each option should be moved.
Comment 12 Linn cendio 2021-12-23 10:32:34 CET
Created attachment 1011 [details]
The Security tab before any changes. Shows suggestions to which new tab each option should be moved.
Comment 13 Linn cendio 2021-12-23 10:35:11 CET
This bug will contain some restructuring of the tabs, moving existing options into new categories. However, full redesign of a tab is not in the scope of this bug.

Tabs 'Local Devices', 'Display' and 'Optimization' will be left as is. The 'Local Devices' tab feels quite complete as it is, the 'Display' tab was recently updated in bug 7793, and the 'Optimization' tab should be redesigned (completely) to be more clear.

That leaves tabs 'Options' and 'Security' to be restructured.

The attached screenshots gives an overview of a draft for which options that are going to which new tab. A majority of the options should be moved to the 'Advanced' tab, which is intended for sysadmins or more advanced users. Three of the options under 'Options'->'Session Options' should be moved to a tab called 'Input', and the authentication method should be moved to a tab called 'Authentication'.


Another thing to consider is the ordering of the tabs. The first tab shown should probably be the most commonly used one, which possibly is the 'Display' tab.
Comment 14 Linn cendio 2021-12-23 11:24:39 CET
One issue with the suggested restructuring mentioned in comment 13 is that our tabs most likely will overflow their dedicated space when being translated (see for example the Russian translation), so we need to add some handling for this overflow.

FLTK has some built-in handling for this overflow, where extra tabs partially stack on each other in the right hand corner. Using this handling together with trimming of unselected tabs (e.g. 'Advanced' -> 'Adv...') might be able to work for us.

Another option could be tabs with a pulldown menu [1].

Yet another option could be multi-row tabs. However, seeing that it is already quite limited space for all the options on the 'Advanced' page, allocating more space to the tabs might cause us to not be able to fit all the options. On the other hand, overflowing the page could probably be solved with a scroll bar, so that might not be an issue.


As a side note, as can be seen from the screenshots, it is very hard to see which tab is the currently selected one. Changing this to something more visible should ideally also be part of this bug.


[1]: https://www.fltk.org/articles.php?L484+I0+T+P1+Q
Comment 15 Samuel Mannehed cendio 2021-12-28 20:21:54 CET
(In reply to Linn from comment #14)
> One issue with the suggested restructuring mentioned in comment 13 is that
> our tabs most likely will overflow their dedicated space when being
> translated (see for example the Russian translation), so we need to add some
> handling for this overflow.
> 
> FLTK has some built-in handling for this overflow, where extra tabs
> partially stack on each other in the right hand corner. Using this handling
> together with trimming of unselected tabs (e.g. 'Advanced' -> 'Adv...')
> might be able to work for us.
> 
> Another option could be tabs with a pulldown menu [1].
> 
> Yet another option could be multi-row tabs. However, seeing that it is
> already quite limited space for all the options on the 'Advanced' page,
> allocating more space to the tabs might cause us to not be able to fit all
> the options. On the other hand, overflowing the page could probably be
> solved with a scroll bar, so that might not be an issue.

Further restructuring of options was moved to bug 7816.

> As a side note, as can be seen from the screenshots, it is very hard to see
> which tab is the currently selected one. Changing this to something more
> visible should ideally also be part of this bug.

This was moved to bug 7817.
Comment 31 Samuel Mannehed cendio 2022-01-04 11:27:09 CET
This bug should now be done. Documentation and screenshots have been updated.

> * The content of the options tabs should be the same for both the initial options window and the options window in the session

All options that are available in tlclient are now also available in vncviewer's options. The new GUI elements added were:

* Local Devices: new tab
* Optimization: 'SSH compression' checkbox
* Security: new tab
* Advanced: 'Start a program', 'Reconnect policy', 'Software Updates' groups and 'Enable shadowing' checkbox

As a part of this bug, the "Options" tab was renamed to "Advanced" and the "Display" tab is now the first tab. This reorganization was done in order to make the most commonly used settings easier to find for the user.

> * For the options window in the session, the unavailable options for each tab should be disabled

All the new properties are properly disabled.

> * The unavailable options in the options window should show the correct value for that option

All the new properties in vncviewer's options are synced with the chosen settings from tlclient.

I noticed that we have a tiny bug regarding syncing "Preferred encoding" from tlclient to vncviewer. The bug happens when "Auto select" is enabled and a non-default value is selected for encoding. The reason is simple, when auto select is enabled we don't send the encoding to vncviewer - the default value is shown. We won't bother fixing or adding a bug for this right now.

It's worth noting as well that when auto select is enabled, that algorithm will be able to change the values of the optimization tab settings - the current setting in use will be shown in the GUI, not necessarily the setting selected by the user in tlclient, before enabling "Auto select".
Comment 32 Samuel Mannehed cendio 2022-01-04 12:22:58 CET
Verified on Fedora 35, Windows 11 and Windows 10.
Comment 33 Samuel Mannehed cendio 2022-01-13 13:23:33 CET
Something broke in this bug with regards to the client title. Instead of just showing when actually shadowing someone, the title now says "Shadowing user@server - ThinLinc Client" always when the "Enable shadowing" checkbox is ticked.
Comment 35 Pierre Ossman cendio 2022-01-13 15:12:47 CET
Shadowing states now correctly respected. Tested on Fedora 34.
Comment 36 William Sjöblom cendio 2022-01-14 09:21:55 CET
I've reproduced the problem and verified the fix using client builds
#2314 and #2317 respectively running on Fedora 35.

• ☑ Window title reflects if the current session shadows another session
  • ☑ When not shadowing
  • ☑ When shadowing
• ☑ The greyed out shadowing option in vncviewer's options dialog 
  represents what was set in tlclient's options dialog   
  • ☑ With shadowing disabled
  • ☑ With shadowing enabled

Looking good!
Comment 37 Pierre Ossman cendio 2022-01-14 10:50:44 CET
> * The content of the options tabs should be the same for both the initial options window and the options window in the session

Yup. They look identical as far as I can tell.

I also tried fiddling with the feature defines in tlclient and the vncviewer options window correctly adapts to those as well.

> * For the options window in the session, the unavailable options for each tab should be disabled

Yup. The only things enabled are those that actually affect the connected session.

> * The unavailable options in the options window should show the correct value for that option

They do. I didn't test every combination though. I think every variant of setting is tested though (check box, radio box, input field).

Also looked at the diffs and everything looks good there as well.

Release notes look good.

Documentation is also good and reflects the rename and reordering of tabs.

Note You need to log in before you can comment on or make changes to this bug.