Bug 7918 - Client should follow new visual profile
Summary: Client should follow new visual profile
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Client (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.15.0
Assignee: Pierre Ossman
URL:
Keywords: relnotes, samuel_tester
: 7959 (view as bug list)
Depends on:
Blocks: 7903
  Show dependency treegraph
 
Reported: 2022-05-05 10:26 CEST by Pierre Ossman
Modified: 2023-08-21 10:03 CEST (History)
3 users (show)

See Also:
Acceptance Criteria:
* Client should follow the new visual profile * Client should use the same colors as most other applications on the different platforms * Screenshots of the client should be updated


Attachments
Comparison of the login window before and after (38.79 KB, image/png)
2023-07-18 16:22 CEST, Samuel Mannehed
Details
Comparison of the options dialog before and after (62.03 KB, image/png)
2023-07-18 16:23 CEST, Samuel Mannehed
Details

Description Pierre Ossman cendio 2022-05-05 10:26:34 CEST
We have a new visual profile that should be followed in the ThinLinc Client interface.
Comment 1 Pierre Ossman cendio 2022-05-05 10:27:32 CEST
Note that it seems Windows has some caching of icons. When installing a client with the new logo, the launcher on the task bar still retains the old icon.

Perhaps we can call something in the installer that flushes this cache?
Comment 2 William Sjöblom cendio 2022-07-04 12:55:02 CEST
*** Bug 7959 has been marked as a duplicate of this bug. ***
Comment 6 Pierre Ossman cendio 2022-07-15 08:26:45 CEST
(In reply to Pierre Ossman from comment #1)
> Note that it seems Windows has some caching of icons. When installing a
> client with the new logo, the launcher on the task bar still retains the old
> icon.
> 
> Perhaps we can call something in the installer that flushes this cache?

I found this:

> Applications that register new handlers of any type must call SHChangeNotify
> with the SHCNE_ASSOCCHANGED flag to instruct the Shell to invalidate the icon
> and thumbnail cache. This will also load new icon and thumbnail handlers that
> have been registered. Note, however, that icon overlay handlers are not
> reloaded.

https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotify

However, we already call this function from the installer. So something isn't working. We do have this note, though:

> ; Refresh the shell. Note: MSDN says that SHCNF_IDLIST must be specified,
> but the NSIS example does not. 

That comment isn't true any more, as NSIS has updated their example:

https://nsis.sourceforge.io/Refresh_shell_icons
Comment 7 Pierre Ossman cendio 2022-07-15 09:42:15 CEST
Hmm... Odd. I can't reproduce this on the Windows 10 laptop. But I can reproduce it on the Windows 10 desktop in the lab.

One theory is that this has to do with a 32-/64-bit mismatch. Our installer is always 32-bit, and the laptop is 32-bit, whilst the desktop is 64-bit.
Comment 8 Pierre Ossman cendio 2022-07-15 14:07:45 CEST
Icon cache issue moved to bug 7970.

Everything here should now be good enough for a basic version.
Comment 9 Samuel Mannehed cendio 2022-08-02 11:35:16 CEST
I have verified the following:

 ✓ New GUI background colors look more modern
 ✓ New top banner in login window looks nice

 ✓ GNOME 42 (Fedora 36):
   ✓ New icon when opening the RPM in GNOME Software
   ✓ New icon in GNOME activities
   ✓ New symbolic icon in GNOME top bar
   ✓ New GUI background colors fit nicely with GNOME *

 ✓ Windows 11:
   ✗ the installer needs more work; see bug 7960
   ✓ New icon on the desktop
   ✓ New icon in the start menu
   ✓ New icon in taskbar
   ✓ New GUI background colors fit nicely with Windows GUI **

 ✓ macOS 12.4:
   ✗ "installer" needs an update; see bug 7976
   ✓ New icon on the desktop
   ✓ New icon in the dock and in spotlight
   ✓ New icon in the top menu bar
   ✓ New GUI background colors fit nicely with macOS ***

* The new colors (#F6F5F4) are not as white as the background in GNOME settings (#FAFAFA), but this is the same as we used in tl-setup and the profile chooser. Our new color fits well in older GNOME environments.

** Our client now uses #F3F3F3, and it's difficult to make it fit well on Windows since most areas change depending on your theme. I could find areas that use #FBFBFD, these combined with the themed colored tints make our client fit nicely in my eyes despite the differences.

*** Our client now uses #F6F6F6 on macOS, and from what I could see, the macOS settings use a very slight gradient between #F3F0F3 and #F4F1F4. The colors we use don't look out of place.
Comment 11 Pierre Ossman cendio 2023-07-13 15:58:45 CEST
More work is needed here. The contrast looks a bit off when changing use the background. I think we can take some changes from the "newui" branch upstream to make things look saner.

We also forgot to update the screenshots in the TAG and for Windows store.
Comment 22 Samuel Mannehed cendio 2023-07-18 16:22:03 CEST
Created attachment 1135 [details]
Comparison of the login window before and after

The colors in the native client have now been modified to be less jarring. Buttons are brighter, element borders are lighter, and group boxes are rounded. There is also now a slight "3D" effect on interactive elements thanks to a difference in border color above and below the element. This mimics modern Windows UIs.
Comment 23 Samuel Mannehed cendio 2023-07-18 16:23:25 CEST
Created attachment 1136 [details]
Comparison of  the options dialog before and after

Note that the border "3D" effect is vertically reversed on some elements. Buttons appear to go outwards, while checkboxes and radio buttons appear to go inwards.
Comment 27 Samuel Mannehed cendio 2023-07-20 10:44:13 CEST
I have tested the native client GUI after the new visual changes on Fedora 38, Windows 10 and macOS 13, using build 3226. I have checked the following:

 ✓ Login window
   ✓ Boxes (*)
   ✓ Buttons (*)
   ✓ Text inputs
   ✓ Checkbox
   ✓ Advanced on/off
   ✓ Shadowing on/off
   ✓ Password auth
   ✓ Public key auth
     ✓ File chooser
   ✓ Smart card auth
   ✓ Kerberos auth
 ✓ Options window
   ✓ Tabs (**)
   ✓ Display
     ✓ Radio buttons
     ✓ Monitor widget
   ✓ Local devices
     ✓ Disabled buttons
     ✓ Sound details
     ✓ Serial port details
     ✓ Drives details
       ✓ Dropdown list
     ✓ Printer details
   ✓ Optimization
     ✓ Number input
     ✓ Disabled number input
     ✓ Disabled radio buttons
   ✓ Security
     ✓ Smart card details
     ✓ Multi select list
   ✓ Advanced
     ✓ Disabled text input
 ✓ Multi session select window
 ✓ F8 menu (***)
   ✓ Connection info window
     ✓ info icon
   ✓ About window
   ✓ Options window
     ✓ Disabled checkboxes

(*) An issue with the border of boxes and buttons on Linux was broken out to bug 8196.
(**) An issue with the selected tab border in the options' window was broken out to bug 8197.
(***) The contrast is now bigger between the hovered F8 menu option and the background. This gives more attention to the fact that the blue hover-background doesn't stretch all the way to the sides of the F8 menu. This is a minor issue, but I thought I should mention it.

We want to prioritize making a release happen now, so the issues broken out to bugs 8196 and 8197 will not be worked on for ThinLinc 4.15.0.
Comment 30 Samuel Mannehed cendio 2023-07-20 11:39:24 CEST
The TAG screenshots have now been updated, along with more detailed instructions to make this process easier in the future.

I have verified the screenshots by comparing build 3327 to the ones found in build 3325. I compared using build 3325 rather than 4.14.0 to minimize the diff in the surrounding text. The screenshots show identical (aside from the multi session window) information compared to before, but with the new GUI. The multi-session screenshot now contains dates from 2023 (instead of 2021) and higher session resolutions. This gives that screenshot a more modern feel.

The new GUI is beautiful, and seeing the comparison screenshots like this emphasizes the feeling that even the native client has received some love in this release.

The Microsoft Store screenshots remain.
Comment 33 Samuel Mannehed cendio 2023-07-27 15:06:29 CEST
The Microsoft Store (and FlatHub) screenshots have now also been updated to reflect the new look in the native clients. This was mostly handled under bug 7828.

This means we're all done here.
Comment 34 Pierre Ossman cendio 2023-08-17 14:33:09 CEST
The new theme code unfortunately has an out-of-bounds access that needs to be fixed:

https://github.com/TigerVNC/tigervnc/pull/1646#issuecomment-1682201302
Comment 36 Pierre Ossman cendio 2023-08-17 15:33:31 CEST
Fixed now, and UI still looks correct.
Comment 37 Linn cendio 2023-08-21 09:02:50 CEST
The fix has been done for vncviewer client in our code, but not for the ThinLinc client. Reopening.
Comment 39 Linn cendio 2023-08-21 09:30:42 CEST
The fix has now been applied to the ThinLinc client as well.

Note that the assert from TigerVNC commit 4cef5c996f18e3688bf13ec1ccee2f22ff888071 has not been included. The assert will be included by default the next time we make a vendor drop, and at this stage when we are preparing a release candidate we want to make the changes as minimal as possible.
Comment 40 Linn cendio 2023-08-21 10:03:57 CEST
Tested client build 3258 on Fedora 37, did not see anything out of order. The client GUI works as expected, both the main window and options.

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