material-shell icon indicating copy to clipboard operation
material-shell copied to clipboard

Optionally Move status area to top right

Open janus-reith opened this issue 5 years ago • 17 comments
trafficstars

Is your feature request related to a problem? Please describe. I don't like that the status Menu is at the bottom left and I have a hard time getting used to it.

Describe the solution you'd like I would like to be able to have the status area at the top right.

Describe alternatives you've considered I didn't really think of alternatives, however I wondered if the whole panel layout could be made more flexible, e.g. allow to have one panel at the top, one at the bottom, move the status area to the top left, and such, although I don't have a specific layout in mind that I would prefer over the current one except for the change mentioned initially.

janus-reith avatar Jun 28 '20 20:06 janus-reith

Hello,

I'm also interested by this idea.

Moreover, I have extensions that display better horizontally, I would prefer to have them on the top bar...

tiramiseb avatar Jul 06 '20 10:07 tiramiseb

You should check my answer at https://github.com/material-shell/material-shell/issues/46#issuecomment-509296546

The only acceptable answer would be to be able to swap the left panel and the top panel but as explained at https://github.com/material-shell/material-shell/issues/133#issuecomment-544155538 it's would also need to swap the workflow accordingly (having horizontal workspace and vertical window switch).

That would mean a lot of work.

PapyElGringo avatar Jul 06 '20 11:07 PapyElGringo

@PapyElGringo Thanks for the answer. But reading the comment you linked, I completely don't get your point TBH.

The only acceptable answer would be to be able to swap the left panel and the top panel

Why exactly? I'm fine with the panels, and just want the system tray to be moved. Both technically and from a workflow perspective, I don't see why the system tray being next to the vertical application categories is better than having it next to the horizontal application instances. I'm also not aware of any concept in the Material Design Guidelines that suggests this.

Regarding switching the panels or moving them and their content in general, I still think this would be nice to have at some point, and it should be up to the user to decide if that workflow is actually reasonable with the way they put things. I certainly realize and agree that making everything flexible is a huge amount of work, but I'm pretty sure people would find individual placements that are more intuitive to their individual workflow and not cancel out the idea as such.

janus-reith avatar Jul 08 '20 10:07 janus-reith

I don't want to cancel any idea that could improve Material Shell and I'll be always glade to debate and discuss about them. But it's seem that my point isn't clear enough and I'll try to clarify it.

First it's indeed not a UI issue or incompatible with the Material Design guidelines but it's related to the UX. To continue we need to agree on the fact that an interface must reflect the state of system or a data model and provide related interaction in the more intelligible way possible.

As a System Shell Material Shell like the Gnome shell must reflect the state of the Linux System but since the Linux System state is very wide we make a selection of the system properties we want to display.

As for exemple the Gnome-Shell is structured as followed:

System
- Top Panel
-- Toggle Overview Action
-- [Current focused Application Actions]
-- Calendar
-- Status Area and system actions
[
- Active workspace
-- Windows Visible
]
or
[
- Overview
-- Workspaces list
--- Windows
...
]

And Material Shell:

System
- Left Panel
-- Toggle Overview Action
-- List of existing Workspaces
--- Preview of opened application
-- Status Area and system actions
-- Calendar
[
- Active workspace
-- Top Panel
--- List of workspace's opened Windows Or placeholders
--- Current Tiling Layout
-- Windows Visible
]
or
[
- Overview
...
]

And one notable thing is that the Top panel is related to the active workspace and to be even more clear :

Frame 2

Since the top panel reflect the state of a single workspace there is a top panel for each workspaces.

Moving the status area to the top panel would mean to either duplicate the the status area in every top panels (Which is impossible) or either regroup all the top panel in a single system wide top panel that would float above all the workspaces.

The other way would have to swap the workflow direction and having the top panel being the system panel and the left panel the workspace panel. Which would require an heavy changes on UI and UX.

Is that more clear that way?

PapyElGringo avatar Jul 08 '20 13:07 PapyElGringo

A possible solution (and this needs to be fleshed out for sure) would be to move the system panel to the right side of the screen, and move the status area to the top of the system panel. That way, the compartmentalization of the panels is not violated, while still achieving the original goal of moving the status area to the top right.

There are a few things that may present issues with this potential solution:

  • Depending on how many status icons there are, the workspace selector may be offset differently. Because some apps only create status when started, this could be inconsistent and not performant for mouse-heavy users.
    • A potential solution to this problem could be fixing the status area to a certain height, and adding an overflow menu so it could expand when more icons are available. A settings page could be added with a priority system not unlike the one seen in the Windows taskbar icon settings, so certain icons could always be visible.
  • The position of the layout selector and menu button may be unoptimal given their proximity to the status area.
    • If the menu icon is moved, we would also need to deal with the mouse in top-left corner shortcut (either disable or move it)
  • The layout may be unintuitive, however I believe the current layout should remain default.

nununoisy avatar Jul 08 '20 17:07 nununoisy

In my case, it is not about system panel icons, but about extensions contents. I have extensions that take up horizontal space, like the "Places" button or the system monitor. However, I understand it is against the Material Shell guidelines to have such extensions. Probably my own workflow simply doesn't fit Material Shell :)

tiramiseb avatar Jul 08 '20 17:07 tiramiseb

Perhaps if we consider the system panel to be a navigation rail, we can implement an expanded state where large horizontal status icons would be visible (see the Material's Reply example in the above page for an example). The question is: what would cause the panel to expand - a click action or a hover action?

nununoisy avatar Jul 08 '20 18:07 nununoisy

Since the top panel reflect the state of a single workspace there is a top panel for each workspaces.

Moving the status area to the top panel would mean to either duplicate the the status area in every top panels (Which is impossible) or either regroup all the top panel in a single system wide top panel that would float above all the workspaces.

The other way would have to swap the workflow direction and having the top panel being the system panel and the left panel the workspace panel. Which would require an heavy changes on UI and UX.

Is that more clear that way?

Yes, thank you, that is indeed more clear, I get the issue.

janus-reith avatar Jul 08 '20 18:07 janus-reith

I really appreciate this extension and the work involved in developing it. What would make it for usable for me is if we can put the left bar on the top and the top bar on the bottom. It seems this might be easier to do than moving only the status area, no?

hyperreal64 avatar Sep 17 '20 10:09 hyperreal64

I just pushed a new option to have the clock horizontal on the top panel. Does it ease the pain?

PapyElGringo avatar Oct 08 '20 14:10 PapyElGringo

Horizontal clock feels visually nicer. However, it raises an issue: The calendar and clock are no longer connected. The current layout already breaks the spatial connection between the notifications (center top) and notifications tray (bottom left). So now the status area functionality is spread to three locations. Since it is optional, it is okay though.

I think it would be the best from UX perspective, if instead of moving just the clock to the top panel, the switch would revers the positions of the whelo bottom left area and the layout button on the top right. Having all that information in the top right corner would be more visually appealing, familiar and closer to default gnome experience. But it would be also much more wasteful use of space. And the idea of having to maintain the code for both of those layouts seems terrifying, so probably best not to try that before you get to that donation goal and can work full time on the project. And maybe have someone actively help in maintaining the code for the other layout.

So, very much nice to have feature, but imho it seems quite costly for the benefit it brings.

Chrysostomus avatar Oct 12 '20 18:10 Chrysostomus

Keeping both workspaces and system tray on the left panel - forces me to create less amount of workspaces... Because when having about 10 workspaces - system tray doesn't fit screen anymore and it shifts down out of the screen borders :disappointed: ...

For my usage scenarios - when having a lot of workspaces and only 2-3 windows in each of them - I would prefer having more space for left panel AND less space for top panel - which can be achieved by swapping them.

I believe swapping of the panels only requires to swap also some shortcuts, specifically:

  • Focus next window <=> Focus next workspace
  • Focus previous window <=> Focus previous workspace
  • Move the current window to the left <=> Move the current window to upper workspace
  • Move the current window to the right <=> Move the current window to lower workspace
  • Focus App Launcher <=> Focus last workspace

what do you think? :sweat_smile:

vsudakov avatar Dec 15 '20 23:12 vsudakov

Swapping the panels is not a goog idea, it because vertical panels are ill suited for displaying text. I think the current layout is quite good, only the system tray would benefit from the move to the top panel.

Chrysostomus avatar Dec 16 '20 17:12 Chrysostomus

Would it be a possible solution to create a floating status area, set to always on top of both panels, which can be set to either horizontal or vertical mode?

Then the user can place it where they want: bottom left, or top right, or right of/below the panel if they need the full space for workspaces/windows.

humanplayer2 avatar Jan 21 '21 21:01 humanplayer2

is it not possible to just repeat the "status" area on each workspace in the top panel? I would really appreciate if the text elements have a horizontal panel (like places status indicator, openweather or status monitors).

tflori avatar Aug 12 '21 15:08 tflori

Hi, is this issue still alive? I just started using material-shell and I would really love to expand the right corner with extension icons, that would make the workflow so much better.

Meaning, topbar: [application (workspace related) || extensions, clock (fixed)]

Or is this precisely the thing that cant be done code-wise for some reason?

best regards R

molen89 avatar Oct 30 '22 07:10 molen89

What @molen89 suggested would make Material Shell play nicely with extensions/applets that take a bit of horizontal space, like system-monitor-next or Workrave applet.

jsitnicki avatar Jan 10 '23 12:01 jsitnicki