Bug 441497 - Scaling feature does not scale anything
Summary: Scaling feature does not scale anything
Status: RESOLVED FIXED
Alias: None
Product: krdc
Classification: Applications
Component: VNC (show other bugs)
Version: 21.08.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Urs Wolfer
URL:
Keywords:
: 441321 441481 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-08-24 18:59 UTC by Thiago Macieira
Modified: 2023-04-12 21:36 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thiago Macieira 2021-08-24 18:59:29 UTC
SUMMARY
This weekend I updated from 21.04 to 21.08. The scaling feature (at least with VNC) has stopped working. Now krdc is unusable from a high DPI system connecting to a low DPI one

STEPS TO REPRODUCE
1. Connect to a system via VNC
2. Click Scale

OBSERVED RESULT
Nothing happens

EXPECTED RESULT
Remote screen is scaled to fit the window.

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.22.4
KDE Frameworks Version: 5.85.0
Qt Version: 5.15.2 + KDE patches

ADDITIONAL INFORMATION
Remote system is a macOS Mojave.
Comment 1 Albert Astals Cid 2021-08-26 21:17:13 UTC
*** Bug 441481 has been marked as a duplicate of this bug. ***
Comment 2 Albert Astals Cid 2021-08-26 21:18:30 UTC
*** Bug 441321 has been marked as a duplicate of this bug. ***
Comment 3 Albert Astals Cid 2021-08-26 21:19:22 UTC
Are you moving the scale slider?
Comment 4 Albert Astals Cid 2021-08-26 21:19:59 UTC
Rafał can you have a look at this? I think the scaling slider you added may have broken the expectation people had with the scale button?
Comment 5 Thiago Macieira 2021-08-27 00:16:48 UTC
(In reply to Albert Astals Cid from comment #3)
> Are you moving the scale slider?

What slider? I've never seen a slider before and there isn't one in the UI I'm looking at.
Comment 6 Augusto Beiro 2021-08-27 05:51:26 UTC
(In reply to Thiago Macieira from comment #5)
> (In reply to Albert Astals Cid from comment #3)
> > Are you moving the scale slider?
> 
> What slider? I've never seen a slider before and there isn't one in the UI
> I'm looking at.

Go to preferences -> configure toolbars, and then choose scaling factor. It will appear then infamous slider.
Comment 7 Thiago Macieira 2021-08-27 05:57:08 UTC
If I need to turn on a toolbar that isn't on by default, then the UX is wrong.

Either way, there's a button to scale. It's not doing anything. Either the feature is broken or that button needs to be removed, possibly replaced by the slider.
Comment 8 Rafal Lalik 2021-08-27 08:12:26 UTC
Hi,

I am the author of the scaling slider. Sorry for inconvenience you had. I will try to solve the problem.

I just tested the krdc with VNCs which are of smaller and of higher resolution than my screen and for both worked fine. Though I found some small issues with it when using with multitabs which I will fix soon.


I think your problem comes from having the slider hidden (indeed, this could be fixed) and being in the wrong position. The most left position should fit remote to  local window size, the most right positions makes no scaling. Default value should be most left and then Scale button should work like before. If for some reasons slider was at the most right position (and this is bug), you would not see any scaling effect.

Please enable slider in the toolbar (toolbar settings) and move slider to the left, it should fix your problem.

I can confirm that after clearing my krdc config files, the default value for the slider is the most right. It must be fixed.
Comment 9 Thiago Macieira 2021-08-27 14:48:51 UTC
(In reply to Rafal Lalik from comment #8)
> I think your problem comes from having the slider hidden (indeed, this could
> be fixed) and being in the wrong position.

I've just re-checked the UI now that the existence of a slider became apparent. It's nowhere. It's not in the toolbars and it's not in the menus anywhere. The toolbar is showing.

If I go to edit the toolbar, apparently there's an option to add it. This is not acceptable. I have not edited the toolbars since I installed this computer in mid-June, so there's no reason why some old setting of mine would have caused this. And even if I had some setting (like my previous computer, from 2016), you must somehow override it and cause meaningful controls to appear.

Second UX issue is that it's in the toolbar only. That's also unacceptable. It must be reachable by the keyboard, using the menus or a configuration dialogue. In order to get the most real estate for the remote system, I usually leave the toolbar disabled for KRDC (I hadn't done it yet on this system).

And third UX problem is that there's a Scale button that does nothing.

> The most left position should fit
> remote to  local window size, the most right positions makes no scaling.
> Default value should be most left and then Scale button should work like
> before. If for some reasons slider was at the most right position (and this
> is bug), you would not see any scaling effect.

What? The left most position zooms in and the right most leaves no zoom? Isn't that the inverse of all sliders? For example, if I open LibreOffice, it has a zoom slider on the status bar and the middle is 100%; to the left, it zooms out and to the right it zooms in.

> Please enable slider in the toolbar (toolbar settings) and move slider to
> the left, it should fix your problem.
> 
> I can confirm that after clearing my krdc config files, the default value
> for the slider is the most right. It must be fixed.
Comment 10 Thiago Macieira 2021-08-27 14:51:47 UTC
I've just noticed that if I go full screen, the toolbar that drops down has a slider. But if I touch it and try to drag, the whole window is moved to the other monitor.

Oh, wait, there's a button to its right. If I click it, the slider becomes blue. Now I can move the slider to the left (which would be zooming out) so it zooms in.

I count at least 5 UX problems here.
Comment 11 Rafal Lalik 2021-08-27 16:08:12 UTC
(In reply to Thiago Macieira from comment #9)
> I've just re-checked the UI now that the existence of a slider became
> apparent. It's nowhere. It's not in the toolbars and it's not in the menus
> anywhere. The toolbar is showing.

> If I go to edit the toolbar, apparently there's an option to add it. This is
> not acceptable. I have not edited the toolbars since I installed this
> computer in mid-June, so there's no reason why some old setting of mine
> would have caused this. And even if I had some setting (like my previous
> computer, from 2016), you must somehow override it and cause meaningful
> controls to appear.

The presence of slider should be irrelevant for the old behaviour. Just a button Scale which toggles between 1:1 and fits-to-window view. The bug which is fixed already (new Merge Request) fixes that. You do not need slider to have the old behaviour.

But again, due to bug, you need sldier to change the scaling value. After the bug is fixed, you do not need sldier again. Just forget about it then.


> Second UX issue is that it's in the toolbar only. That's also unacceptable.
> It must be reachable by the keyboard, using the menus or a configuration
> dialogue. In order to get the most real estate for the remote system, I
> usually leave the toolbar disabled for KRDC (I hadn't done it yet on this
> system).

Scale button is also toolbar only. No UX problem here.


> And third UX problem is that there's a Scale button that does nothing.

Again, it is a bug with default slider value. It is not UX problem.


> What? The left most position zooms in and the right most leaves no zoom?
> Isn't that the inverse of all sliders? For example, if I open LibreOffice,
> it has a zoom slider on the status bar and the middle is 100%; to the left,
> it zooms out and to the right it zooms in.

No, there is no zoom-in/zoom-out. It is interpolation between "1:1 view" (left) and "fit-to-window" (right). Again, no UX problem but your interpretation of the slider.

If the remote is smaller than local, the slider works in an intuitive way. If remote is larger, then again - left side is larger that right, which may look weird, but remember - left side is 1:1 view, right side is fit to window.


(In reply to Thiago Macieira from comment #10)
> I've just noticed that if I go full screen, the toolbar that drops down has
> a slider. But if I touch it and try to drag, the whole window is moved to
> the other monitor.
> 
> Oh, wait, there's a button to its right. If I click it, the slider becomes
> blue. Now I can move the slider to the left (which would be zooming out) so
> it zooms in.
> 
> I count at least 5 UX problems here.

If the Scale button is off, the slider is disabled. Dragging a disabled widget moves the whole windows - this is how UI in whole krdc works, just try with other disabled buttons. Enabling Scale button also enables the slider. No UX problem here.
Comment 12 Thiago Macieira 2021-08-27 19:44:06 UTC
(In reply to Rafal Lalik from comment #11)
> The presence of slider should be irrelevant for the old behaviour. Just a
> button Scale which toggles between 1:1 and fits-to-window view. The bug
> which is fixed already (new Merge Request) fixes that. You do not need
> slider to have the old behaviour.
> 
> But again, due to bug, you need sldier to change the scaling value. After
> the bug is fixed, you do not need sldier again. Just forget about it then.

It's still a UX issue if you have a button controlling the slider. When the button is not pressed, the slider is greyed out. If you try to drag it, you drag the entire window. And if the slider is left in fully zoomed out position, the scale button does nothing.

Please reconsider and merge the two into one control only. I recommend getting the zoom control from Okular, so one can select no scaling, 200% scaling, fit to width, etc. Not a slider at all.

> Scale button is also toolbar only. No UX problem here.

It's in the menu: Session > Scale Remote Screen to Fit Window Size. At a minimum, you must change this menu text, because "Fit Window Size" is not correct any more, if the actual scaling factor is controlled by the slider. As above, I recommend a simple Zoom option.

> > What? The left most position zooms in and the right most leaves no zoom?
> > Isn't that the inverse of all sliders? For example, if I open LibreOffice,
> > it has a zoom slider on the status bar and the middle is 100%; to the left,
> > it zooms out and to the right it zooms in.
> 
> No, there is no zoom-in/zoom-out. It is interpolation between "1:1 view"
> (left) and "fit-to-window" (right). Again, no UX problem but your
> interpretation of the slider.

Which is why it's a UX problem. It's not very discoverable and behaves the opposite of most zoom sliders, which is what this will be compared to.

> If the remote is smaller than local, the slider works in an intuitive way.
> If remote is larger, then again - left side is larger that right, which may
> look weird, but remember - left side is 1:1 view, right side is fit to
> window.

I beg to differ. Moving the slider to the left so the content becomes bigger is counter-intuitive.
Comment 13 Albert Astals Cid 2021-09-08 20:29:55 UTC
There's a tentative patch at https://invent.kde.org/network/krdc/-/merge_requests/20

Testing appreciated.

Let's all try to be a little more constructive the latest messages felt a bit too agrressive to me.
Comment 14 Albert Astals Cid 2023-04-12 21:27:37 UTC
Git commit 662c47d480f48aa48b486c4db31ee3c95b899248 by Albert Astals Cid, on behalf of Rafał Lalik.
Committed on 12/04/2023 at 21:27.
Pushed by aacid into branch 'master'.

Fix default scaling factor setting to 0.

The value 0 means 'fit to window' wherease old '100' meant 1:1.
With the old value, when scaling slider was hidden, Scale button
had no effect. The new value restores old behaviour when there
was no slider and Scale button was fitting remote to window.

M  +1    -1    core/hostpreferences.cpp
M  +3    -1    mainwindow.cpp

https://invent.kde.org/network/krdc/commit/662c47d480f48aa48b486c4db31ee3c95b899248
Comment 15 Albert Astals Cid 2023-04-12 21:36:24 UTC
Git commit 9384578f9a482ceac14b7d7b1004f0387b02c909 by Albert Astals Cid, on behalf of Rafał Lalik.
Committed on 12/04/2023 at 21:35.
Pushed by aacid into branch 'release/23.04'.

Fix default scaling factor setting to 0.

The value 0 means 'fit to window' wherease old '100' meant 1:1.
With the old value, when scaling slider was hidden, Scale button
had no effect. The new value restores old behaviour when there
was no slider and Scale button was fitting remote to window.
(cherry picked from commit 662c47d480f48aa48b486c4db31ee3c95b899248)

M  +1    -1    core/hostpreferences.cpp
M  +3    -1    mainwindow.cpp

https://invent.kde.org/network/krdc/commit/9384578f9a482ceac14b7d7b1004f0387b02c909