Open-Shell / Open-Shell-Menu

Classic Shell Reborn.
MIT License
6.93k stars 431 forks source link

Win11: Add left "margin" for left-aligned toolbar #1356

Closed JaredEStoddard closed 1 year ago

JaredEStoddard commented 1 year ago

Is your feature request related to a problem? Please describe.

The center-alignment of Windows 11 makes the toolbar impossible to use when short-lived programs are rapidly added to the toolbar, causing a re-center. The left alignment of OpenShell is the answer, except that left-alignment puts icons under a custom start button.

Describe the solution you'd like

Offer a customizable left "margin" (offset) for a left-aligned toolbar. This would not only solve the unreachable items issue, it would also allow a "simulated" center-aligned toolbar without the drawback described above.

Area of issue

Start menu

Alternatives you've considered

I've tried adding icon-less items to the taskbar to effect a left margin. Kludgey.

Additional context

No response

ge0rdi commented 1 year ago

Please, clarify what toolbar are you referring to. Feel free to add screenshots that will help us to better understand the issue.

JaredEStoddard commented 1 year ago

I mistermed taskbar as toolbar – and meant the former. Also: I mistakenly asserted that OpenShell allows left-alignment of the taskbar – which is a Windows 11 setting. Nevertheless, the suggestion stands (the partial SS below shows the masking problem). Thanks.

ge0rdi commented 1 year ago

the partial SS below shows the masking problem

There is no screenshot attached. Please, don't reply to notification emails and add your responses directly on Github.

Also, make sure you are using latest prerelease Open-Shell on Windows 11.

JaredEStoddard commented 1 year ago

I mistermed taskbar as toolbar – and meant the former. Also: I mistakenly asserted that OpenShell allows left-alignment of the taskbar – which is a Windows 11 setting. Nevertheless, the suggestion stands (the partial SS below shows the masking problem). Thanks. Taskbar

NOTE: I cannot install pre-release (but am using 4.4.180). Extract

ge0rdi commented 1 year ago

but am using 4.4.180

Proper support for Windows 11 start button was added later. That's why I asked to use latest pre-release.

I cannot install pre-release

That's weird. Check your permissions of C:\ProgramData folder. Normally even standard users should be able to create files there. So if you are not able to create files there then you should fix that. Also check if you have enough space on disk.

Eventually you can run installer with extract64 parameter and it will extract MSI to actual folder. Then you can install using that MSI. But it would be great if you could fix the issue with ProgramData (as it may affect other things too).

JaredEStoddard commented 1 year ago

Was able to install by explicitly running as Administrator. But the problem is even worse now. Whereas, before, the default" configuration was custom start button flush-left and taskbar centered -- now the start button matches* the taskbar alignment so it covers icons either way. Taskbar2 Align to corner of the screen appears to have no effect (other than to move it upward, slightly). I would expect this option to make the start button flush-left. image

ge0rdi commented 1 year ago

I'd say you will simply have to use smaller picture for custom start button. Taskbar works completely differently on Windows 11 and we cannot control spacing of icons. Also we cannot hide original start button, so you may need to use non-transparent picture (otherwise original button will be still visible underneath).

JaredEStoddard commented 1 year ago

As you suggested, I could pin some NOOP apps with blank icons to create space, but I don't see a way to change the OSB icon to blank (and it is useful on occasion). I acknowledge the OS limitations: So, instead, request that Align to corner of the screen on Win11 revert to the placement currently in 4.4.180 (far-left). I'm not keen to change my custom 3-sprite SB, so have downgraded (uninstall/reinstall . . . ugh) to regain that behavior.

BTW: I've been a user since early Classic Shell -- and it's truly brilliant, a must-have app for me and others! Thanks for forking/maintaining!

JaredEStoddard commented 1 year ago

I had noted that in 4.4.189pr on Win11 that the "Align to corner of the screen" option does nothing, and I requested that it be used to duplicate the default alignment behavior of 4.4.180 (icon in far-left corner). The option in '190 still does nothing -- forcing me to remain with '180 for that alignment. Reconsider?

ge0rdi commented 1 year ago

Can you provide your custom start button image? I think it has kind of bigger empty space around it.

I'm trying with test image I have from somewhere and it looks good to me (left aligned taskbar, align to corner...): image

JaredEStoddard commented 1 year ago

PNG attached; also clips of bottom-left corner of the taskbar using 4.4.180:

ge0rdi commented 1 year ago

Your button image has simply too big empty borders. That is the reason why it looks to be shifted to the side.

Actual images seem to fit 64x64 rectangle. So I've rearranged them a bit (with my lousy editing skills) and it looks like this: image (This is with Align to corner enabled)

Here is my edited image for the reference: skulls4t-64 I'm sure you can edit it in even better way.

The point is that what you need can be easily achieved by just using properly sized button image. I don't see any reason to modify Open-Shell for things that can be easily achieved by using other means.

JaredEStoddard commented 1 year ago

NOTE: The "empty" borders allow for a starburst effect (see Sprite 2). Ideally I'd have the sprites equilateral and overflow the taskbar even further but there seems to be a hard vertical limit.

“I don't see any reason to modify Open-Shell for things that can be easily achieved by using other means.” I objectively agree. However, my issue is not really one of [new] modification but of restoration, and applies only to Win11 (Win10 works perfectly well).

Comparing 4.4.180 to newer versions on Win11:

  1. The Custom Button is always superimposed over the default (new behavior).
  2. The Custom Button cannot be absolute flush-left when Taskbar align = middle (new behavior).

(1) Bleed-through can be addressed by making images less complicated (e.g., no transparency, just-right size) or more complicated (e.g., design-time taskbar masking [including background color]). I can make my sprites opaque, remove the starburst effect (64x64) and/or shrink them -- but wish I didn’t have to.
(2) Restoring the default absolute flush-left behavior (Button align = left, Taskbar align = middle) would not only solve my problem without image changes – it would (arguably) be a positive feature. This seems to be where we disagree. I could accept (1) as a restriction imposed by Win11 (as previously asserted) if it had also been thus in version 4.4.180.

I’ll not press the point: If it can’t be done, then this issue can be closed...

I still consider this a must-have application: Thank you.

ge0rdi commented 1 year ago

applies only to Win11 (Win10 works perfectly well)

That is correct.

Windows 10 uses old taskbar where we are able to fully modify it. Including hiding original start button and shifting other taskbar buttons next to start button so that custom start button image won't overlap them.

Unfortunately, Windows 11 uses completely new taskbar (XAML framework) and we are (currently) unable to do any modifications to it. That is why original start button is still visible under custom button image. And why custom image may overlap other taskbar buttons as we cannot shift them.

The Custom Button is always superimposed over the default (new behavio The Custom Button cannot be absolute flush-left when Taskbar align = middle (new behavior).

Both things are correct and intended behavior as Open-Shell is (and always was) meant to replace original start button and not add new random one. That is why we are basing custom start button (and subsequently start menu) position on position of original start button.

I’ll not press the point: If it can’t be done, then this issue can be closed...

Thank you for the discussion (and your opinions).

This issue is about "Add left "margin" for left-aligned toolbar" and I see no point of doing anything like that, because that can be achieved by using appropriate custom start button image.

On Windows 11 we are quite limited (unfortunately), so that's the only reasonable option at the moment. Thus I'm closing this for now.