pop-os / desktop-widget

Pop Desktop Settings Widget
GNU Lesser General Public License v3.0
43 stars 35 forks source link

Add dock alignment settings #98

Closed adil192 closed 2 years ago

adil192 commented 2 years ago

For the new dock-alignment option from pop-os/cosmic-dock/pull/150 (English translation only).

jackpot51 commented 2 years ago

We will need UX (@maria-komarova) to sign off on this.

jacobgkau commented 2 years ago

The new GUI setting being exposed is working as expected, and I think it should be exposed in the GUI, but I don't think the current verbiage is optimal. This is what it currently looks like:

Screenshot from 2022-05-24 13-01-46

Screenshot from 2022-05-24 13-01-52

As shown in the second screenshot, the setting does not take effect when the dock is not extended toward the edges of the screen. (It would be better if it did, but I assume we're working off of existing gsettings in dash-to-dock, so that's a limitation for now.) For that reason, this option would be more accurately called Icon Alignment and not Dock Alignment because it's controlling the alignment of the icons within the dock, not the alignment of the dock within the display.

If the extend option is going to be grouped in the same section, something even more general like Icon Padding might make sense, since the extend option doesn't really have to do with alignment at all. I almost think it would be better to leave the extend option outside of this section, and perhaps have explanatory text when it's disabled that this section only applies/is only available when the dock is extended to the edges of the screen. @maria-komarova might be able to help decide on the best path for grouping of the options.

I think the three alignment options should be in order (start, center, end) rather than having center come first. We already default to the middle option for Dock Size, so having a default that isn't the first bullet point listed shouldn't be a problem.

I'm also wondering if Start of the screen and End of the screen could somehow include the words top/left or bottom/right to make them more clear. It could have descriptive text saying e.g. Left side of screen when dock is positioned at the bottom, top of screen when dock is positioned along the side, although that's kind of wordy.

XV-02 commented 2 years ago

I think Start and End are due to language localization: In Left-To-Right languages like English, the Start option is indexed to the left. In Right-To-Left, like Arabic, the Start option is indexed to the right.

Examples in Arabic: Screenshot from 2022-05-24 14-48-17 Screenshot from 2022-05-24 14-48-31

adil192 commented 2 years ago

As shown in the second screenshot, the setting does not take effect when the dock is not extended toward the edges of the screen. (It would be better if it did, but I assume we're working off of existing gsettings in dash-to-dock, so that's a limitation for now.) For that reason, this option would be more accurately called Icon Alignment and not Dock Alignment because it's controlling the alignment of the icons within the dock, not the alignment of the dock within the display.

Nope, I made that gsetting. I can push a change to align the non-extended dock but I've just got to figure out how to eliminate the gap at the side. (The height-fraction setting adds gaps to either side of the dock to set a max height. We don't want this gap on start/end aligned docks but still need to keep the "max-height" behaviour.)

If the extend option is going to be grouped in the same section, something even more general like Icon Padding might make sense, since the extend option doesn't really have to do with alignment at all. I almost think it would be better to leave the extend option outside of this section, and perhaps have explanatory text when it's disabled that this section only applies/is only available when the dock is extended to the edges of the screen. @maria-komarova might be able to help decide on the best path for grouping of the options.

I agree that the most logical option is to keep the extend option where it originally was, and make the alignment option work for non-extended docks too.

I'm also wondering if Start of the screen and End of the screen could somehow include the words top/left or bottom/right to make them more clear. It could have descriptive text saying e.g. Left side of screen when dock is positioned at the bottom, top of screen when dock is positioned along the side, although that's kind of wordy.

I haven't verified this, but I believe it changes based on language too. So for a RTL language the "start" would be the right. A possible approach would be to change the text based on the current dock-position and language, but that's probably out of my ability (never used Rust before).

jacobgkau commented 2 years ago

The localization explanation makes sense for using start/center/end, probably okay not to complicate it with swapping out the copy based on LTR/RTL.

I am currently seeing two bullet points always selected, center and one of the sides. (I started with center actually selected, and start still appeared selected; after selecting start, I can now switch between start/end, but I can't select center.) This happens with or without https://github.com/pop-os/cosmic-dock/pull/155.

Screenshot from 2022-06-02 16-43-01

adil192 commented 2 years ago

I am currently seeing two bullet points always selected, center and one of the sides. (I started with center actually selected, and start still appeared selected; after selecting start, I can now switch between start/end, but I can't select center.) This happens with or without pop-os/cosmic-dock#155.

I did see that on my end but thought it was just due to a desync with my dconf settings (it was stuck on "centre" and not "center" for some time after I changed the spelling). Fixed now

jacobgkau commented 2 years ago

The center option is working now. When the dock is not extended, it is a bit off center (on any edge of the screen):

Screenshot from 2022-06-03 11-32-20

Might need to be fixed in https://github.com/pop-os/cosmic-dock/pull/155.

adil192 commented 2 years ago

The center option is working now. When the dock is not extended, it is a bit off center (on any edge of the screen)

Thank you! I've pushed the fix.

One thing I noticed when testing in Arabic (RTL) is that the Settings options for "Left/right of the screen" positions were labelled the wrong way round. And therefore if we keep those labels as LTR-only, we can replace "Start/end" with "Left/right"; or both labels can be changed depending on language. Changing based on language shouldn't be hard since e.g. the alignment-start string can be translated as "Left" in English and "Right" in Arabic.

jacobgkau commented 2 years ago

The centering issue has been fixed, and this is now working as expected with all alignment options on any edge of the screen, regardless of whether the dock is extended or not.

Screenshot from 2022-06-06 10-03-23 Screenshot from 2022-06-06 10-03-42

Sounds like there's some improvement that can be made even to the existing settings for RTL language support, but this setting is now meeting the bar set by the rest of the page. Just going to run this by UX again because Maria had mentioned a concern to me last week about adding the option (before it was simplified.)

XV-02 commented 2 years ago

I have one remaining concern with this PR. With or without https://github.com/pop-os/cosmic-dock/pull/155, on commit 8562617 there is an artifact during the switch between options which I haven't noticed with other options for Pop's dock. There can be a brief "flash" for lack of a better description when transitioning the extended dock between any of the three position options (start/enter/end). I would not consider this to be a hard roadblock, but without these tweaks, the dock re-draws more cleanly, and that seems relevant for any comparison to existing functionality.

https://user-images.githubusercontent.com/98765732/172204795-0ecb5785-e7cc-404a-8330-d4c9264d9b28.mp4

jacobgkau commented 2 years ago

There can be a brief "flash" for lack of a better description when transitioning the extended dock between any of the three position options (start/enter/end).

I see icons (not the background) flicker when adjusting the size. I also see the flash you're describing when I switch between showing on primary display only and all displays, without either of the alignment PRs. This is not an issue that needs to be solved right now.

We're having some discussion internally regarding the settings organization right now.

jacobgkau commented 2 years ago

Sorry for the long delay on this. Our UX team has created a mockup for the feature (the Add at the bottom page, which is basically what is already implemented here, is what we'd like to go with): https://www.figma.com/proto/UAyDdqkbOMO3b7XK43jp3s/Settings?node-id=606%3A1434&scaling=scale-down&page-id=601%3A1067&starting-point-node-id=606%3A1434&show-proto-sidebar=1

image

I think the current ordering of start/center/end makes more sense than the mockup's ordering of center/start/end, and after further discussion with @maria-komarova and @WatchMkr, we would be okay with making that change, but it would also need to change for the Date & Time alignment (and I would argue the screen edge selection) so it's consistently left-to-right. Unfortunately, the Date & Time option uses a drop-down, and drop-downs currently have a bug where if the first item in the list is not the default item, then the wrong item will be displayed by default (whatever's first in the list will be displayed, and not the actual default that's in effect.)

With that in mind, the copy and order of the new setting just needs to be updated to match the above mockup, and then this PR can be approved. We can revisit the ordering later when it's feasible to fix the drop-down ordering/default issue.

adil192 commented 2 years ago

Just realised I mistyped the commit message, my bad

jacobgkau commented 2 years ago

This still requires https://github.com/pop-os/cosmic-dock/pull/155 to work properly (when the dock is not extended), they should be merged/released together.