mzur / gnome-shell-wsmatrix

GNOME shell extension to arrange workspaces in a two-dimensional grid with workspace thumbnails
GNU General Public License v3.0
464 stars 59 forks source link

Feature Request: New Wraparound Mode #135

Closed fnog closed 3 years ago

fnog commented 3 years ago

It would be great, and an easy implementation, I'd suspect, enabling a new wraparound mode that would act the same way as "None" but would allow the user to switch between all workspaces by only pressing left and right.

As an example, on a 2x2 matrix, allow the user to switch in the following ways:

image

(the reverse movements also apply)

Basically, it's the "None" but adding the jump from 2 to 3 in a diagonal by moving right, allowing going through all workspaces by just moving left or right without crossing the matrix borders (when it gets to the last, it stays there. no jumps from last to first).

In another way, it's the "next-previous" mode but without crossing the matrix borders (that's the simplest way to put it).

mzur commented 3 years ago

What you describe is exactly what the wraparound modes do with the only difference being that you don't want to actually wrap around but stop at the "border". Or did I get that wrong?

fnog commented 3 years ago

Well... I partially get myself corrected. The mode I'm trying to convey is the Rows/Columns but stopping at the "border". (I noticed that the Rows/Columns mode jumps from 2->3 when moving right so, that's basically what I want but stopping at the border). I'd bet this was the behavior prior to upgrading my OS to 20.10 although you would no better. :^)

The thing is that going through the border, as you put very well, just breaks the "flow" when doing it fast. It imposes a cognitive break forcing the user to stop to think about what just happened (where did it jump to?...)

btw... the next/previous mode, when using the up/down movements just feels weird to me IMHO, so I just don't see myself using it. On the other hand, the Rows/Columns gives the flexibility to either going everywhere with left/right or using a mix of left/right/up/down to get where I want as quickly as possible. It's just the "not stopping at the border" that's breaking the flow to me.

mzur commented 3 years ago

But isn't the default None wraparound mode exactly what you describe? It's basically Rows/Columns only that you stop at the border.

fnog commented 3 years ago

The None mode doesn't allow to jump vertically between rows (1<->3 and 2<->4) with the down/up movements.

On Fri, Nov 20, 2020 at 1:45 PM Martin Zurowietz notifications@github.com wrote:

But isn't the default None wraparound mode exactly what you describe? It's basically Rows/Columns only that you stop at the border.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mzur/gnome-shell-wsmatrix/issues/135#issuecomment-731178582, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQSYYVGOINRM3PRWOZE7D3SQZXGTANCNFSM4TZ2USTA .

-- Francisco

mzur commented 3 years ago

But it should. If not, something isn't working correctly for you.

fnog commented 3 years ago

Ok... went through my installed extensions list and found 2 that seemed to be interfering with yours. Deactivated them and things got almost perfect.

So, I'm now using the next/previous, which allows me to do all the movements described in the beginning. To make it perfect would be a flag to stop wrapping at the border. Maybe that flag could apply to all wraparound modes? There's an idea...

Anyway... thks for your help.

mzur commented 3 years ago

As I said, if you set None as wraparound mode, it should stop at the border. You can still navigate in the same way than next/previous. Maybe there is yet another extension that is interfering with this one.

fnog commented 3 years ago

No more extensions interfering. That's out of the equation.

The "None" doesn't allow going "right" from (2->3) or left from (3->2) like next/previous does. It's stops at the border, which is great (while next/previous doesn't) but doesn't allow going through all workspaces by moving only right or left.

mzur commented 3 years ago

Ok I think I finally understood. You want Rows/Columns with stopping at the border. This could be implemented as new wraparound mode (e.g. Ribbon?). Feel free to propose a pull request.

fnog commented 3 years ago

Ok I think I finally understood. You want Rows/Columns with stopping at the border. This could be implemented as new wraparound mode (e.g. Ribbon?). Feel free to propose a pull request.

Not the Rows Columns but the Next/Previous instead. With stopping at the border, of course. :)

I think that adding a "stop add the border" checkbox would be more generic and useful as it would apply to any existing wrap modes without the need to add any more modes. Your choice.

Feel free to propose a pull request.

Ok but... what do I need to do exactly? Should I create a pull request? Just "thumb up" if that's the case and close this one if you will.

Thks for all this thread... your work is very well appreciated.

Kudos :)

mzur commented 3 years ago

Not the Rows Columns but the Next/Previous instead. With stopping at the border, of course. :)

Right, now I mixed that up.

I think that adding a "stop add the border" checkbox would be more generic and useful as it would apply to any existing wrap modes without the need to add any more modes. Your choice.

Such a checkbox would only make sense for the Next/Previous mode. The Rows/Columns mode with stopping at the borders would equal None. That's why I would perfer this as a new wraparound mode.

Ok but... what do I need to do exactly? Should I create a pull request? Just "thumb up" if that's the case and close this one if you will.

Yes, you can create a pull request that implements the new wraparound mode.

ebeem commented 3 years ago

you can check #152 , this is already implemented there

ebeem commented 3 years ago

implemented and tested in #152, please let's discuss any issue with the current implementation (if any) in the PR.