solus-project / budgie-desktop

I Tawt I Taw A Purdy Desktop
https://solus-project.com/
2.34k stars 159 forks source link

top and bottom workspaces missing in budgie? #460

Open fastrizwaan opened 8 years ago

fastrizwaan commented 8 years ago

Super+pgup and super+pgdown shortcuts are not working, it seems there are no top and bottom workspaces but only left and right workspaces like in xfce. I'm used to top/bottom workspaces like in gnome-shell, could you please consider adding top/bottom workspaces to budgie?

screenshot from 2016-05-26 14-00-30

jrseliga commented 7 years ago

@ikeydoherty

Anecdotal

To provide a use case as you requested in #470, I prefer navigating between vertical workspaces by using up/down hot keys. Equally important is receiving visual feedback (virtual monitors slide up/down) that matches those keystrokes.

Workspaces provide a virtual solution to a physical problem, and as a result requires the user to have a mental map of where each workspace lives in relation to the currently viewed workspace. For users like myself, who prefer to mentally map out my workspaces vertically, this adds unnecessary cognitive weight to my work flow. Sure I can change the hotkey map to use up/down instead of left/right, but it is a distraction when the visual feedback does not match the keystroke or mental map.

Imagine if every time you pressed the I key the letter K was first typed, then automatically replaced with your intended character I. The end result is what you expected certainly, but I'm sure it'd be a distraction for you when typing your first name and it displayed Kkey for a moment before automatically switching to Ikey.

Empirical

The experience of horizontal workspaces is extremely jarring when using multiple monitors (side-by-side). The user effectively sees each physical monitor display 2 different virtual monitors on each switch between workspaces.

Assuming dual monitors:

  1. workspace 1 virtual monitor 2 slides to physical monitor 1 as workspace 2 virtual monitor 1 slides tophysical monitor 2`
  2. then workspace 2 virtual monitor 1 slides to physical monitor 1 and workspace 2 virtual monitor 2 slides to physical monitor 2

This does happen in a fluid motion, like a carousel, but it simply does not feel like a refined experience. There is an unnecessary amount of visual feedback. Especially when switching from the far left workspace to the far right, and vice versa. In the default 4 workspace configuration, when navigating from the far left/right to the opposite far right/left workspace each physical monitor must cycle through displaying 4 virtual monitors. There is a disconnect in the input to expected feedback when a user makes 4 keystrokes but visually experiences 8 changes. In my opinion it is much more pleasant of an experience to stack workspaces vertically in the case of multi-monitor setups.

In this instance each physical monitor only receives one virtual monitor:

  1. workspace 2 virtual monitor 1 slides to physical monitor 1
  2. and simultaneously workspace 2 virtual monitor 2 slides to physical monitor 2
madumlao commented 7 years ago

I'd like to comment on this viewpoint

Workspaces provide a virtual solution to a physical problem, and as a result requires the user to have a mental map of where each workspace lives in relation to the currently viewed workspace. For users like myself, who prefer to mentally map out my workspaces vertically, this adds unnecessary cognitive weight to my work flow.

Although the point of the post is to explain your preference for vertical workspaces, I just want to clarify something about the cost of the "mental map" of workspaces related to each other.

Yes there is a cost, putting workspaces in any number of ways does use up some brain memory. However, I would argue that this brain memory is not necessarily "cognitive" but is actually automatic. I use the terms loosely since I am not a psych major.

There is a reason why people keep using "memory palaces" as a device: the "geospatial memory" part of your brain is partly (if not largely) automatic. You never have to look at the popcorn to know where it is while watching a movie. Your hand always knows where the popcorn is.

Being able to arrange workspaces the way we like them is a huge plus because the computer effectively becomes a visualized and impromptu memory palace.

Top and bottom is good for @jrseliga because he visualizes his workspaces vertically. Thus orienting the workspaces horizontally is problematic for him because his "memory palace" of windows needs to be translated into the actual workspace map onscreen. Even though the workspaces have the same amount of information on the computer, the horizontal one costs more to him because he has to do some translation.

A lot of users do more than just vertical: the keyboard shortcuts shown and #470 suggest a grid of workspaces. I like a grid for exactly the reasons stated above. Since a grid has a shape, and we think in shapes, the memory palace on the desktop can look exactly like the memory palace onscreen. My brain "just knows" that music is in the upper-right, messages are in the upper-left, downloads in the lower right, etc. Compare this to an abstract "list", which is really what a single-dimension workspace metaphor is.

So TLDR: +1 for desktop grid

YurySolovyov commented 7 years ago

@madumlao that's exactly what I feel using virtual desktops on ubuntu with unity(work) and mint on kde(home).

I don't really get the argument about cognitive overhead, you can always start with 1 row with N (1,3,5 whatever) workspaces and add them as you see fit, effectively preserving "backwards-compatible" look-and-feel.

ikeydoherty commented 7 years ago

Memory palace? Cognitive weight? You guys are pulling my leg here, right? Guys gonna pop out with a film crew and tell me I'm on candy camera?

We can revisit workspaces in Budgie 11, Budgie 10 is now in maintenance mode only. From a design perspective I'd prefer it was implemented as a customisable grid, that way any layout is possible.

jrseliga commented 7 years ago

Albeit quite long winded, and arguably pedantic, the whole point of my rant was simply to request the ability to customize the work spaces layout, and not be confined to horizontal. Perhaps my ideas don't resonate with everyone, I certainly don't know what workflow is best for anyone else. All I know is what system works best for me, and allows me to be most efficient, and that is vertical work space alignment. For some of you horizontal may be better. :us: Customizable :joy: grids solve that.

ikeydoherty commented 7 years ago

I'm joshin ya :P Everyone has a unique workflow for them. Me I'm picky about terminals and window placement, but never use virtual desktops. I have to have minimize. etc. I can also imagine with two monitors side by side, the left/right motion is entirely unnatural

YurySolovyov commented 7 years ago

Customizable means N*M to me, not sure about everyone else

ikeydoherty commented 7 years ago

Grids only work one way..

pszi1ard commented 7 years ago

Let me express support for grids, it's possibly the only reason I can not switch to budgie at work where I use a 3x3 grid of workspaces and while the "location" of different windows/applications on that grid is quite easy to remember, this becomes impossible with >4-5 linear workspaces -- let alone the difference in time and "work" it takes to get from the 1st to the last workspace.

Only vaguely related to navigation and application window management, but easy/flexible ways to move applications around from one workspace to another is something I really miss. Dragging little icons on the workspace switcher is a terrible solution, currently xfdashboard is the only reasonable, but clunky and laggy solution I found. In contrast, the compiz (?) window spread and spread on all desktops allowed a great way to organize things (by just dragging windows around) as well as having an overview. I'm not suggesting reimplementing the exact same behavior, but something that is at least as good as that would be great.

tom-james-watson commented 7 years ago

I really really want to use Solus but I cannot be productive without grid-based workspaces. I think this is a super important feature for a lot people.

ikeydoherty commented 7 years ago

I don't think it is but each to their own. It won't be landing in Budgie 10. Any thing like this would only come to Budgie 11.

YurySolovyov commented 7 years ago

@ikeydoherty many people just don't want to spam with "Me too" comments, but instead subscribed to the thread to be up-to-date. Really appreciate what Budgie team is doing, whenever this comes, thanks for your work.

ikeydoherty commented 7 years ago

S'all good man. Its pretty obvious we're letting this repo die slowly though, we'll be moving into budgie-rd proper from Saturday and start to implement Budgie 11. Let's undo some mistakes along the way :)

AllanDaemon commented 6 years ago

This will be a lifesaver. I was reading documentations for creating a new DE that is good, lightware, that supports customization and has grid workspaces because there isn't anything good around. In the research between GTK+ vs QT I found the Budgie blog post about the migration to Qt, and I gave Budgie a try again. I really like it, it's good, really good, and getting better quickly.

I have ADHD and bad memory, so I need geolocation memory technics and I can't work well without grid workspaces. I'm happy and excited about Budgie 11 and I hope it will take this into consideration on its adaptation/rewrite.

Rui-Santos commented 6 years ago

I can give you a reason to add Vertical Workspaces. Geary accounts settings windows are too tall for a 1366x768 screen. I can't see all the settings without Vertical Workspaces, nor can I see the buttons to apply any settings I change. It happens in geary, and I'm sure it happens in more applications, I just haven't found them yet.

Tito1337 commented 6 years ago

@Rui-Santos I don't have a Budgie install anymore to try, but I'm pretty sure vertical workspaces won't help for tall windows any more than they help for wide windows.

Mutter (on which Budgie is based on) doesn't work like that. Each window has its own workspace and doesn't overflow on neighboring ones.

That being said, for anyone really needing vertical workspaces with Budgie, here is a small patch to get you going. I don't use Budgie anymore so I won't provide any support :

diff --git a/src/wm/wm.vala b/src/wm/wm.vala
index f29afd2..ebd9d15 100644
--- a/src/wm/wm.vala
+++ b/src/wm/wm.vala
@@ -485,6 +485,8 @@ public class BudgieWM : Meta.Plugin

         keyboard = new KeyboardManager(this);
         keyboard.hook_extra();
+
+        screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT, false, 2, 4);
     }

     /**
goirawan commented 6 years ago

I like the 2x2 workspace in ubuntu and I used it with compiz desktop wall too switch between workspace (Edge flip ponter ) It is very usefull for navigation ( as for me ) . I search for add this on budgie and I landed in this forum .

LukasDJacobs commented 5 years ago

Just switched to budgie and I was a little underwhelmed, that I couldn't customize this. I'm very, very used to having a grid, sometimes as big as 3x3 and it's really hard to adjust. Is this being worked on actively?

pillmuncher commented 5 years ago

FWIW: I'm used to navigating my 3x3 workspaces with CTRL-KP_# shortcuts. I'd like to see that possibility in Budgie, which I otherwise like very much.

jleaders commented 5 years ago

Vertical Workspaces are great for multi-tasking Multiple RELATED tasks should be side by side Multiple UNRELATED tasks should be up/down

In this manner, you can emulate a multi-monitor workflow on a laptop.

Vertical (grid) workspaces is my top wish for budgie

tuxayo commented 4 years ago

Can this be implemented by an applet/extension/add-on? I don't know if the API can provide what's necessary.

EdgeKing810 commented 4 years ago

Has this been implemented yet please? A lot of people including me won't be switching to Solus or the Bugdie DE if this isn't implemented and it's really important to us.

RyanRHall commented 3 years ago

+1 bump for vertical workspaces. Had to switch to Cinnamon and this applet to achieve the desired functionality.

alex-milanov commented 1 year ago

+1 this is preventing me from switching from modified xfce to budgie. I'm quite used to the 2x2 grid workspace workflow. Top left is my dev workspace, top right the preview, bottom left is the task mgmt & communication, bottom right is research. With keyboard shortcuts I can easily navigate between them. In an instant. I use also MacOS at work, which seems to be the inspiration for the horizontal only approach, but there the speed of workspace switching is achieved by using trackpad gestures, which interaction seems to be missing from budgie. Ideally it would be great to have both but without any of them it would slow down my work process so I'm hesitant to consider switching to budgie. Visually it matches my preference, but there is also the function and workflow part of the equation that is missing here.