Bug 140360 - Provide option to turn off sidebar's minimum width
Summary: Provide option to turn off sidebar's minimum width
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.1.0.3 release
Hardware: All All
: high enhancement
Assignee: Heiko Tietze
URL:
Whiteboard: target:7.2.0 target:7.1.5
Keywords: difficultyMedium, easyHack, skillCpp, topicUI
: 143224 (view as bug list)
Depends on:
Blocks: Sidebar-UI-UX
  Show dependency treegraph
 
Reported: 2021-02-12 04:51 UTC by Apt
Modified: 2021-10-02 19:23 UTC (History)
9 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Apt 2021-02-12 04:51:20 UTC
Description:
Currently the sidebar has an excessive minimum width in certain conditions, so it takes up an annoyingly large chunk of the screen. As I understand it, this is due to an incorrect width calculation for the sidebar with UI scaling applied. The bug which brought up this issue (131947) was recently closed as a 'won't fix' since the relevant Writer devs want to stick with the current execution of sidebar minimum width. Even if this policy changes, I don't anticipate a fix being forthcoming.

The feature request: Temporarily add an option (off by default and perhaps featuring a warning) to turn off the minimum width restriction for the sidebar. This is so that users like me can rely on it as a mitigation for the issue of the sidebar's excessive minimum width.

Per Heiko Tietze from Bug 131947: "I like the idea of an expert option. Would you mind to file a new ticket, ideally with reference to this one? \ c16 and c22 make it clear why we have a minimum width, thus resolution here is WF."

Steps to Reproduce:
N/A (the sidebar's minimum width is in place by default and no option exists to disable it)

Actual Results:
N/A

Expected Results:
N/A


Reproducible: Always


User Profile Reset: No



Additional Info:
For context, see: https://bugs.documentfoundation.org/show_bug.cgi?id=131947
Comment 1 V Stuart Foote 2021-02-12 06:23:27 UTC
Not clear how much work this would require, but it is probably worth doing in any case.

And, it would need to be consistent for all SB Decks, so I guess the action of the control here would be that *all* Sidebar Decks would be reworked and receive the "slide to collapse" of the original SB implementation.

Result as a counter to the default minimum, and minimum per deck (no hidden controls), the new control allowing hiding and eventual collapse of decks would be configured from expert configuration.

Personally I always preferred the original implementation that allowed the decks to slide hiding controls before full collapse. We removed that feature in setting a SB minimum width, and per deck minimum. This effectively would restore that as a non-default option.
Comment 2 Heiko Tietze 2021-02-12 06:53:21 UTC
I'm also supporting the idea. Should be an expert option. Code pointer would be welcome...
Comment 3 Jim Raykowski 2021-02-12 07:27:46 UTC
It seems that only these two conditions need to be skipped for the sidebar to have no minimum width restriction.

https://opengrok.libreoffice.org/xref/core/sfx2/source/sidebar/SidebarController.cxx?r=068d4108#366

https://opengrok.libreoffice.org/xref/core/sfx2/source/sidebar/SidebarController.cxx?r=068d4108#459
Comment 4 Heiko Tietze 2021-02-12 07:57:31 UTC
Thanks, Jim! We could also just don't do SetItemSizeRange() in SidebarController::RestrictWidth(). 

Easyhack, medium difficulty because no detailed example of how to add/read configuration setting is given
Comment 5 Ben Anderson 2021-03-16 13:20:44 UTC
I'm running 7.1.1 on Win10 on a 14" high res laptop. The sidebar (not deck) is twice the width it needs to be for the size of the six icons. I have tried the Small setting under Tools, but it doesn't seem to change anything. I've been using LO since 3.x and have always kept the sidebar open, primarily for easy access to Styles. Now I keep it shut down since screen area is at a premium on this laptop.

It would be great to revert/change this to a reasonable width.
Comment 6 Christian Lehmann 2021-04-29 16:00:07 UTC Comment hidden (obsolete)
Comment 7 V Stuart Foote 2021-04-29 16:23:04 UTC
(In reply to Christian Lehmann from comment #6)
> Just in case you are counting votes on this, you could add all the
> complaints from the duplicates (including mine).

We don't "count" votes in this project. But we are mindful of the prevalence/recurrence of complaints in the UX process and consider those in describing workflows that dive the development.

There were two related issues: 1.) that the minimum width of the Sidebar decks (including the detached F5 Navigator) was set too wide.  That was addressed at 7.1 release with more reasonable minimums corresponding to keeping all controls visible; and 2.) that the original handling of the decks to "reduce width to collapse" had been inconsistently implemented across the deck panels and the LO Modes, enabling that in a consistent fashion is the subject of this BZ enhancement issue.
Comment 8 V Stuart Foote 2021-04-29 16:30:31 UTC
(In reply to Ben Anderson from comment #5)
> I'm running 7.1.1 on Win10 on a 14" high res laptop. The sidebar (not deck)
> is twice the width it needs to be for the size of the six icons.
> ...

That is an issue with Windows WDM UI scaling, it has gotten some attention for master against 7.2; please check against a nightly /a administrative install [1] following these Install in parallel instructions [2]

> It would be great to revert/change this to a reasonable width.

An annoyance of the WDM, nothing to revert. But, should be better at 7.2.

=-ref-=
[1] https://dev-builds.libreoffice.org/daily/master/Win-x86_64@tb77-TDF/current/

[2] https://wiki.documentfoundation.org/Installing_in_parallel
Comment 9 andis.lazdins 2021-05-28 05:02:20 UTC
If there is any progress with this? In 7.2 alpha sidebar still hopelessly takes 1/3 of screen.
Comment 10 Timur 2021-05-28 07:47:17 UTC
(In reply to Christian Lehmann from comment #6)
> Just in case you are counting votes on this, you could add all the
> complaints from the duplicates (including mine).

So I set High for this.
Comment 11 Xisco Faulí 2021-06-03 14:18:15 UTC
(In reply to Christian Lehmann from comment #6)
> Just in case you are counting votes on this, you could add all the
> complaints from the duplicates (including mine).

Which duplicates are you talking about ?
Comment 12 Aron Budea 2021-06-03 14:28:16 UTC
(In reply to Xisco Faulí from comment #11)
> Which duplicates are you talking about ?
I'd assume bug 131947 & duplicates.
Comment 13 Xisco Faulí 2021-06-03 14:36:18 UTC
@Heiko, Considering the priority of this ticket is High, could you please find someone from the UX team to implement it ?
Comment 14 Heiko Tietze 2021-06-04 12:47:28 UTC
Patch https://gerrit.libreoffice.org/c/core/+/116715 adds the expert option MinimumWidth under org.openoffice.Office.UI.Sidebar.General. If true (default), the sidebar width is controlled by the largest deck, if false it's under full user control. Changing the option requires to restart the application, as MaximumWidth.
Comment 15 V Stuart Foote 2021-06-04 13:30:11 UTC
(In reply to Heiko Tietze from comment #14)
> Patch https://gerrit.libreoffice.org/c/core/+/116715 adds the expert option
> MinimumWidth under org.openoffice.Office.UI.Sidebar.General. If true
> (default), the sidebar width is controlled by the largest deck, if false
> it's under full user control. Changing the option requires to restart the
> application, as MaximumWidth.

Thanks Heiko. So if I'm reading it correctly each of the content pannels will now expose the SetCloserVisible() when MinimumWidth is set FALSE. So each of the content pannels will now have the slide toward 0-width behavior and the collapse button (the 'Closer') will close the deck and leave just the SB Tab bar showing.
Any width reduced to that will progressively hide controls on the pannels--up to the collapse point.

Only rub might be if the "collapse point" exposing the closer occurs at different widths deck to deck--is it taken from the DeckTitleBar, or some other element?
Comment 16 Heiko Tietze 2021-06-04 14:11:48 UTC
(In reply to V Stuart Foote from comment #15)
> if I'm reading it correctly...
Yes, you do.

> ... is it taken from the DeckTitleBar, or some other element?
I don't know, it's quite some lines of code and I believe this solution is rather a workaround for the overly large sidebar than a good solution. In particular because the sidebar resizes when decks are changed.

Btw, why was it _highly_ important to fix? Ah, Timur set it because users report the sidebar to occupy 1/3 of the screen.
Comment 17 V Stuart Foote 2021-06-04 14:57:17 UTC
(In reply to Heiko Tietze from comment #16)

> Btw, why was it _highly_ important to fix? Ah, Timur set it because users
> report the sidebar to occupy 1/3 of the screen.

Which they no longer do (bug 128243); but getting this expert config setting in place, to override default of a fixed-minimum per deck/content-panel sets, will further reduce complaints about the SB.

We will need to verify that all the decks for each module expose the "closer" in a consistent way--that's the best UX counterpoint to the fixed minimums.
Comment 18 Commit Notification 2021-06-07 05:46:21 UTC
Heiko Tietze committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/f43fdcad400b6ff51f0810d923fe75d5a2cfde0c

Resolves tdf#140360 - Provide option to turn off sidebar's minimum width

It will be available in 7.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 19 V Stuart Foote 2021-06-09 15:00:58 UTC
(In reply to Commit Notification from comment #18)
> Affected users are encouraged to test the fix and report feedback.

Heiko, *

Setting the 'MinimumWidth' stanza in Expert Configuration enables the shrink width to collapse action. Consistent across all the modules.

One thing I noticed is that the reduced width is not remembered within current session--so movement between SB decks will pop the deck back open to its calculated minimum.

Think we'll need to find a way to 'hold' the deck at the width it is slid to, and then maybe a double click on the deck to pop it open back to its minimum?

Testing 2021-06-09 TB77 build

Version: 7.2.0.0.alpha1+ (x64) / LibreOffice Community
Build ID: 31ed81ea71a20ec119805f66a42f99b3f80d2dc5
CPU threads: 8; OS: Windows 10.0 Build 19042; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded
Comment 20 Heiko Tietze 2021-06-10 12:39:57 UTC
(In reply to V Stuart Foote from comment #19)
> One thing I noticed is that the reduced width is not remembered within
> current session--so movement between SB decks will pop the deck back open to
> its calculated minimum.

That's true, some calculations affect the SB width. But let's not exaggerate, the new (expert) option allows in very special situations (small screen size) to work with the SB, although limited (hidden controls).

If we want to support small screens beyond the MUFFIN concept we need automatic positioning and overflow behavior for the SB. This solution is more a workaround.
Comment 21 andis.lazdins 2021-06-18 05:31:57 UTC
Thank you!

Workaround works perfectly in 7.2 beta. Is it possible to implement it in 7.1, which will be used for production for some time?
Comment 22 Commit Notification 2021-06-22 07:27:09 UTC
Heiko Tietze committed a patch related to this issue.
It has been pushed to "libreoffice-7-1":

https://git.libreoffice.org/core/commit/b1d135484940db34bc84940c06a2df1740d19469

Resolves tdf#140360 - Provide option to turn off sidebar's minimum width

It will be available in 7.1.5.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 23 Ming Hua 2021-07-06 23:45:13 UTC
*** Bug 143224 has been marked as a duplicate of this bug. ***
Comment 24 R. Green 2021-07-07 09:08:28 UTC
Is it safe to assume that this also allows the user to reduce width of the UNDOCKED navigator.
Comment 25 V Stuart Foote 2021-07-07 12:35:59 UTC
(In reply to R. Green from comment #24)
> Is it safe to assume that this also allows the user to reduce width of the
> UNDOCKED navigator.

Don't assume, test!

But yes it does. Also when undocked, movments between decks keeps the detached frame at one size as set. Some folks will like that.