Cinnamon: Multiple Rows of Workspaces

Created on 20 Mar 2012  ·  46Comments  ·  Source: linuxmint/cinnamon

It's been brought up on the release page, many people would like to see the ability to arrange workspaces in 2 dimensions ( columns and rows ). Just added it as an issue so it can be handled properly like a feature request.

Discussion FEATURE REQUEST

Most helpful comment

I'm interested in coding this up if someone gives me a few pointers. Somehow I have ended up with cinnamon and this feature is a big regression for me.

All 46 comments

See #401. I'll code an extension for that if I have time, though. (If I manage to learn how to do that)

Sorry for the duplicate.

They way that workspace thumbnails are allocated right now won't let you animate them, so it will be a little odd to jump from 1 line to 2 lines of workspaces. We can, however, change expo's code to make the workspaces animatable (they are animatable, but in a odd way. If you look at the code, you will understand what I mean) , but first we should solve that memory leak and make it as stable as possible.

I think workspaces are now animatable on the master branch in a way that would make a workspace grid usable.

oh cool! is anybody building an extension or is it going to be a buildin?

oh cool! is anybody building an extension or is it going to be a buildin?
I personally would like it to be built in, but no doubt some will prefer
the linear view.

That only means that it does not have to be default.
Which is the case in Gnome2 IIRC.

On 06/19/2012 06:22 AM, Per Ångström wrote:

oh cool! is anybody building an extension or is it going to be a buildin?
I personally would like it to be built in, but no doubt some will prefer
the linear view.


Reply to this email directly or view it on GitHub:
https://github.com/linuxmint/Cinnamon/issues/561#issuecomment-6415772

Yea… grid workspaces are keeping me from switching from mate to cinnamon

My implementation of workspaces-as-grid was merged into master a few weeks ago. You could check out a recent nightly build and see if it's still there. The option is in Workspace Settings if I'm not mistaken.

Indeed, this was already implemented and the option is available in the workspaces section of cinnamon-settings.

The only setting I can find is about a grid view for expo, not a two dimensional organization of workspaces. I'd like to be able to switch from workspace 1 to workspace 4 with . Using cinamon git rev 8c0a193fefa30e8604ab325a310e29ff4deceed4. Neither can I find such an option in dconf in org/cinnamon and sub schemas. Am I doing something wrong?

@ckruse : the grid view is a 2-dimensional organization of the workspaces.

@glebihan well, only in expo. I'm still not able to switch to a desktop below/above the current one (although the shortcut is assigned).

@ckruse : oh right, I didn't think about that

Sorry for giving you false hope!

I think I would have to see a working implementation of real two-dimensional workspaces before I could have any idea of how that should work... Wouldn't direct workspace shortcuts be more straight-forward?

@autarkper I never got used to direct shortcuts. I never can remember what workspace a program is on, but I can remember its position in the grid, so it is easy for me to switch there by „scrolling.“ I know, it sounds weird, but that's the way it works for me, sorry

I'd like to add my support for this feature. The more I use workspaces, the more I get into the habit of just opening a new one when I need it which is starting to add up.

I've used xbindkeys to map switching workspaces to my forward/backward mouse buttons - for me being able to have vertical workspaces would mean I could treat the vertical more like a "category" selection - but that would definitely mean that I'd want to have the X and Y axes of workspaces be independent (i.e. scrolling off the edge of one would wrap around as it does now).

I'd like to take this idea to it's ultimate conclusion though: allow us to have workspaces positioned in N-dimensional space. So you set "workspace dimensions" to say, 4, and Cinnamon will then maintain workspaces along 4 separate axes.

The use case for so many would be that you might want to be able to navigate in 3 workspace dimensions with hotkeys, and then manually select a 4th - allowing you to keep a high degree of isolation between different chains of thought.

This would all be "fold out complexity" - there if you need it, but not enabled by default.

Interesting idea - I think the most challenging part would be visually modelling the workspace-space to enable management and manipulation. Something to think on.

I guess it's functionally quite similar to just having a hierarchy.

You have 1D collections, which together make 2D collections, which make a 3D collection, which make a 4D collection etc.

Up to the 3D level, you'd be looking at a stack of 2D grids of workspaces (though there's probably a lot of ways to show that). Zooming out from there, you'd have multiple cubes of workspaces which themselves could be positioned in 3-dimensions (so that gets you up to 6 workspace dimensions already). But then you might want to collect the collections - so add at least another 3-dimensions which determine which space you're in.

I should put together a mock up of my thinking really, but the underlying idea I guess I'm getting at is that code-wise you probably want to support fairly arbitrary numbers of axes workspaces can be positioned on - add a grid, people will want a cube and so on.

@OutsiderPerspective Are you a mathematician?

When designing workspace dimensions, keep in mind the steps necessary to go from edge to edge. In 1 dimension, that would be leftmost to rightmost or vice versa. In 2 dimensions, that would be corner-to-opposite-corner. For 2 dimensions, arrow keys can be used, and the max number of steps required for a 16-workspace desktop in 2 dimensions is 4. If you're going to implement more dimensions, make sure that the greatest number of steps between the two points furthest apart is less than it would be to just double the number of workspaces in 2 dimensions.

Not that I wouldn't love to have "playtime" workspace-arena and "worktime" workspace-arena, but if the coding time to achieve it is several months, there's not much point in bothering.

For extra prettyness points, make the workspace-arena-view (ie, the third dimension) a cluster of expos where one selects one expo at a time and then drills to the desired workspace in the selected arena. With that, one could go workspace -> expo1 -> arena-expo -> expo1-for-new-arena -> workspace in relatively few steps.

It's a divide and conquer algorithm for workspace travel, albeit with some additional overhead when we run out of arrow keys, so max number of steps is kept relatively low for "any-to-any" switching.

Folks, dimensionality (arity) above 2 is not a very major use case, whereas a two-dimensional desktop grid is rather widely used in some circles.

It would make sense to avoid blocking the implementation of a common use case, in order to cover the ground-breaking multidimensionality.

So, please, please, let us again have the thing we had in Gnome 2.. Wasn't that one of the point of Cinnamon?

Again, note that I'm in no way denouncing the multi-dimensional stuff -- I'm just suggesting to reconsider priorities. The flat grid should be quick to get working.

Let me add myself to the list of users who have not switched to Cinnamon & Linux Mint for this very reason (no workspace grid). I appreciate everything the Mint and Cinnamon teams have done to combat the mistakes of the Gnome project. Keep up the good work and please consider this request.

For those who are interested, an applet now exists to provide a 2D workspace grid for Cinnamon.
http://cinnamon-spices.linuxmint.com/applets/view/116

There seems to be some productive work on this occurring in PR #1717.

Well even if there's now a solution for this,... why not put the same in the default workspace applet?
I mean things shouldn't really clutter up that much, that there are different applets for more or less the same things.

What I want to see from a workspace switcher applet is basically the following:

  • configurable how many columns/rows
  • I do not want multiples that are on a workspace A, to be visible on other workspace (i.e. as it used/uses to be in GNOME classic, where windows became visible on the workspaces left/right/below/on top when they left the screen area. Some people may want this, but it should be configurable then.
  • I would like to see a tiny preview on which space of a workspace is used up by windows... e.g. as we have it with the GNOME classic workspace switcher applet... that proved to be quite usable.

Since Cinnamon still doesn't have this built in as of today's date, is it safe to assume this is never going to be integrated?

Also, there doesn't appear to be a way to rebind the shortcut for going to the next work space up/down in Ubuntu Cinnamon. Only left/right. Very annoying.

Why is the default horizontal workspaces anyway? Horizontal workspaces make little sense with dual monitors and (IMO) confuse things more than they help. A dual monitor desktop environment lends to a vertical workspace arrangement (1 column) much better.

I'm interested in coding this up if someone gives me a few pointers. Somehow I have ended up with cinnamon and this feature is a big regression for me.

I second @et304383. I see more value in vertical workspaces, especially with a multi-monitor setup.

Any update on when vertical workspace support is going to land in Cinnamon?

@hernejj's 2D workspace grid applet allows for this, though there's a minor bug recently with the animations because cinnamon cut support for the up/down animations. But it does do vertical switching.

@jonorthwash Is this identical to the Workspace grid extension available from _System Settings_ > _Extensions_? If not, will this be included in the official extensions anytime soon?

The former is obviously from another developer. I found 2 repositories:

The one I was referring to is currently listed as "Workspace grid (2D) and switcher", and is available through the "available applets (online)" section of the applets. Here's information on it:
https://cinnamon-spices.linuxmint.com/applets/view/116

I wasn't aware of the workspace grid extension. I'll have to check that out!

Hmm, the extension doesn't really seem to do anything... It doesn't seem to provide new keyboard shortcuts in any stable way, or adjust how the pager displays things.

In the past the CInnamon devs have rejected the idea of a 2D workspace switcher. This is why I wrote the applet. It is not perfect but it does work.

How about it devs? Any chance of real 2D workspace grid? This feature is a must have for me, and unfortunately things keep changing that make it harder to keep my applet working. If Cinnamon (or the Gnome 3 base Cinnamon is built on) eventually loses support for vertical switching all together then I'm afraid I (and perhaps many others) will be forced to abandon Cinnamon in favor of a desktop environment that allows this feature. I really like Cinnamon and don't want to have to switch :(

I too support this feature request.
2D workspace grid (rows and columns) is implemented in mate desktop, and for many users (including me) without this feature it is very difficult to switch to cinnamon.
Plz implement as soon as possible.
Thanks in advance

Well I don't know, here is how I do it in Mate.

screenshot at 2017-10-24 00-32-45

@bartszu, could you clarify? Your screenshot doesn't show a 2D workspace grid. And this thread (and repo) is about cinnamon.

Well yes it is not Cinammon shot, I posted to indicate that there is many ways of using workspaces. I am not using workspace switcher at all. I just right click on title bar and send app to one of 99 workspaces I have there. You could have 1000000 of workspaces if you wish even on very weak machine, they are just numbers. I switch between them using Cairo Dock simply if I will send Xed and XTerminal and Calculator to workspace 66, if I select one of those apps I will be moved to workspace 66. If in the same time I have SMPlayer on workspace 87 if I will select it I will go to workspace 87, of course.

Both title bar and dock allow you to move app to any workspace you want, or attach it to every workspace you go, so move app to always active workspace. Sorry maybe it is useless but I don't think workspace switcher is good solution at all in any form.

screenshot at 2017-10-24 00-32-45
screenshot at 2017-10-24 02-28-57

I don't think workspace switcher is good solution at all in any form.

@bartszu, as with most tools, a workspace switcher solves a problem for those who have it. If you don't have this problem and use other tools to solve related problems, that's fine—but failure to acknowledge that others could possibly have a different problem than you is narrow-minded, and blurting out that your opinions are the only ones that matter in all of Open Source is a tad arrogant. These qualities are prevalent in Open Source, but don't command much respect and won't get you far. I don't hold any of this against you, and hope that you won't take me pointing it out personally—I just hope you take this to heart for future interactions.

As for my use case, the workspace switcher for me is, about 95% of the time, simply an indicator of which workspace I'm on, and (when designed to my liking) an indicator of which workspaces have things on them. I tend to keep a 5-column, 2-row grid of workspaces, and can navigate to each one with alt-ctrl-[number] keyboard shortcuts, as well as alt-ctrl-[arrow] to go to adjacent ones. Add shift, and the window ends up on that workspace.

The specifics of this use case are probably pretty rare, but the elements of the tool are general enough that they probably cover many other use cases that many other users might prefer. Hopefully someone who understands the relevant parts of the Cinnamon codebase can work on this particular element of the tool.

@bartszu,

Sorry maybe it is useless but I don't think workspace switcher is good solution at all in any form.

Indeed -- the setup you've posted looks really hard to use.

The 2D workspace grid is a tremendously positive change from that, though -- and that's why we want it!

It engages the spatial memory/perception that we humans have.

@deepfire

It engages the spatial memory/perception that we humans have.

If you think so its, hard to discuss with neuro - science.
Sorry you guys right.
I am not even a contributor to it :(

Any updates on this? Cinnamon is really great, but I have trouble organizing myself without a second dimension of workspaces.

Thank you for your suggestion. See https://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/faq.html for information on how we handle feature requests.

Any chance of reopening this discussion with the hindsight of two more years?

As many pointed out, the 2D arrangement of workspaces is extremely intuitive, a fact recognized with decades of adoption in most DEs. I understand being of the personal opinion that such a feature is not critical, but we know it constitutes a deal breaker for people used to it. @hernejj 's applet has been a life saver for seven years now, so you should have the data to objectively decide whether this feature is important for your users. Unfortunately it lacks the polish and customization of a native feature (graphics, transition effects, shortcuts, etc.). Please understand that the applet download numbers still hide the people who avoided cinnamon for the lack of this feature, and that a much larger slice would have been swearing by it right now if only they were ever exposed to it.

I just switched someone from Mint 18 xfce to Mint 20 Cinnamon, having heard it offered more graphical bells and whistles. The first thing they asked for was the workspace switcher. The second thing was how to get two rows. I was hoping there might be an advanced configuration option hidden somewhere, so a bit surprised reading this thread that it is simply not an option.

(The applet URL tells me the site is down for maintenance all week, so haven't had chance to check that out yet; if it doesn't do the job, this may turn out to be an unexpected deal breaker, and we'll be upgrading to Xfce !)

Was this page helpful?
0 / 5 - 0 ratings