~atha/newm-atha#12: 
[Feature Request] Workspaces

NEWM currently doesn't have workspaces. This feature isn't as necessary as in classic tiling wm, but it sometimes could be useful to have it. For example you could have a good layout for working on your project and you might want to keep it as it is while you need another layout for something else.

The idea is to add a way to create workspaces (with bindings or something else) and add a tree fingers gesture (or also some bindings) to the unzoomed view to switch. It might be a good thing to be able to add a configuration to enable or disable this functionnality since it's not something that everyone would use.

Status
REPORTED
Submitter
~l0wigh
Assigned to
No-one
Submitted
1 year, 8 months ago
Updated
1 year, 6 months ago
Labels
discussion feature request status: in design

~mafty 1 year, 6 months ago

We already have a Workspace class in layout.py, which is used when there are multiple monitors. For example, in my config.py, I'm now using layout.change_focused_view_workspace() to switch between the monitors.

I guess a real improvement would be to have multiple workspaces in the same monitor. One benefit of this is that workspaces won't be merged into one after unplugging external monitors.

~klownie 1 year, 6 months ago

The primary reason workspaces weren't included initially was that the original maintainer believed they weren't necessary, given the focus on laptops. However, I believe that introducing workspaces might undermine Newm's core purpose.

On the contrary, a potential approach to incorporating workspaces into Newm could involve creating a single workspace that encompasses multiple windows. This workspace could be treated as a movable unit, much like a window, and would carry all the windows within it.

This approach has the potential to address both the challenges related to tiling and the workspace management as each workspace could have their own tilling mecanisme and can be stacked side by side.

this can solve the issue of being able to move multiple windows at the same time.

~klownie 1 year, 6 months ago

this approach would also mean that we would need to redesign the overview focus system as instead of focusing on a specific window it focuses on a workspace tho..

~atha 1 year, 6 months ago

I actually really like Audrick's idea about treating workspace as container windows, and I think we can make it work without redesign on the focus system.It could be that workspace's are zoomable window containers and from the overview look like mini- unzoomed view's. With this system I don't see a need for a redesign or much re-implementation either. It also solves the issue of workspace merging, where they would instead be pushed onto the primary monitor on a disconnect.

Comments?

~mafty 1 year, 6 months ago

I also like this idea! We then need to fill in the details about

  • how to create a container
  • how to distinguish between different container windows (we could use colors, names specified by the user, etc.)
  • how to efficiently move windows between containers using both mouse and keyboard controls
  • ...

~atha 1 year, 6 months ago

Here are some possible ideas:

  • creating a container could be done with a container_create() function from the config
  • they would be completely style-able(new widgeting should help) so by default a title bar with its children and that can be changed to anything(i.e remove it, or have named containers, by user)
  • standard unzoom view shows containers and windows, and you zoom into containers, they present their own un-zoomed view?

these ideas probably arent the greatest though

Register here or Log in to comment, or comment via email.