I agree that the feeling is quite freeing, and very effective for sandboxing activities to prevent distraction, the only trade off is when I have run a garbage collection workflow to reclaim space (usually completely adhoc). In fact writing this now, it seems to me that it almost completely removes the need for careful and deliberate use of the interface, you can do what you want nearly at the speed of thought because the mechanics don't get in your way. The trick is that you have to engineer the action space that you are in to prevent certain kinds of thoughts such as "I wonder if I have new email" from expressing themselves as finger presses. (Side note: this makes me think that there are going to be some really hard to solve problems when someone finally gets the brain computer interface hardware working, because determining what thoughts to transform into actions and what thoughts should just remain thoughts is a fundamental problem for the brain itself.)
Rearrangement of the contents of virtual desktops and the desktops themselves is a topic in and of itself. The emacs world has a lot of tooling around this as well (see for example [0]), and the are a number of patterns/workflows for managing/composing/recombining workspaces that would surely translate other window managers since they deal with essentially the same issues.
For me the issue tends to be that it is easier and faster to create a new window of whatever kind wherever I am to answer the immediate need than to find the right one to answer it in, so I just open a new terminal window, jump to where I need to be, do what I need to do, and then ... forget to close it. Similar issue with dragging a browser window around with me wherever I go. One answer to this might be to slightly modify the behavior of the "open new instance of this program" key to act instead as "jump to most recent instance of this program, or if it does not exist, create it and jump to it."
One thing related to gc is that I started to work on but did not manage to complete, was the ability to snapshot the layout of all windows across all desktops in an x session. That would allow effective patterns to persist across restarts without the need to come up with a way to specify how things should be arranged. It would allow them to be arranged by whatever means, saved, and restored. I'll probably get back to it at some point.
As a note, anyone with the inclination can do this kind of thing in any language as long as it has xlib bindings.
Rearrangement of the contents of virtual desktops and the desktops themselves is a topic in and of itself. The emacs world has a lot of tooling around this as well (see for example [0]), and the are a number of patterns/workflows for managing/composing/recombining workspaces that would surely translate other window managers since they deal with essentially the same issues.
For me the issue tends to be that it is easier and faster to create a new window of whatever kind wherever I am to answer the immediate need than to find the right one to answer it in, so I just open a new terminal window, jump to where I need to be, do what I need to do, and then ... forget to close it. Similar issue with dragging a browser window around with me wherever I go. One answer to this might be to slightly modify the behavior of the "open new instance of this program" key to act instead as "jump to most recent instance of this program, or if it does not exist, create it and jump to it."
One thing related to gc is that I started to work on but did not manage to complete, was the ability to snapshot the layout of all windows across all desktops in an x session. That would allow effective patterns to persist across restarts without the need to come up with a way to specify how things should be arranged. It would allow them to be arranged by whatever means, saved, and restored. I'll probably get back to it at some point.
As a note, anyone with the inclination can do this kind of thing in any language as long as it has xlib bindings.
0. https://www.youtube.com/watch?v=rjOhJMbA-q0