Hi Kevin,
A while back I mocked up a Panel Manager to test how I'd like Mutt to
manage windows. It's working prototype:
https://github.com/neomutt/panel-manager
It creates a set of nested windows.
The important attributes of each window are:
Orientation: horizontal / vertical
Visible: true / false
Minimum size
Maxumum size
It's nothing original, this is exactly how GTK, QT, etc work.
The min/max size means that the manager can reflow the panels without
knowing who owns them, or what they're for.
Starting with a full screen, each panel carves off a section.
Mutt's slightly complicated due to its bizarre UI.
The demo also has a notification system to tell panel owners if:
size changed
posn changed
visible changed
too little space
deleted
This is what I'd like to work towards.
Sound reasonable?
Rich