On my old TODO-list there indeed was an entry for locking submaps
(that are only explicitly terminated). I however never got around to
doing that, although it shouldn't be too difficult. A nice simple
exercise for the budding Ion hacker. (Properly altering _ and _sub
passed to binding handlers after focus change within the mode demands
a bit more work, although initially it can be emulated within the
binding handlers.)
Just a naive question: doesn't the code for locking submaps exist in a way
or another, as resizing a frame is done following a modal way (contrary to
the other frames operations)?
A few other suggestions:
4) In most cases, the Ion "static" approach of setting frames fully
satisfies me. Nevertheless, I think that introducing some dynamical
aspects could be useful from time to time, when the user needs it. For
instance, I would wish to see together several windows, otherwise in
different workspaces, or hidden by floating splits. To do this, I may tag
the relevant windows, hit a magic key, and after that, the windows will
show in a temporary workspace (i.e. fullscreen-like way), organized
following an user-defined heuristic. Hit the magic keys again, and all
windows would go back to their original location.
4bis) Somehow related to 4): when you organize your workspaces by task, it
may happen that a window is common to multiple tasks. Thus, it might be
useful to have a way to duplicate a window. With xterms, I (ok, very
seldom) use "screen -x" to do this.