Hi,
I tried different multihead approaches in between 4.9 and 5.1 with
dwm. I remember the following:
- have a dwm environment on each Xinerama screen (like multiple dwm's
in classic multihead setups) as suggested by Mate
-> the problem was, it didn't felt right because it added another
navigation layer on top of dwm, to basically navigate through screens
and to move clients between screens, the conclusion was, if you really
want this, run multiple instances of dwm with a classic multihead
setup
- make layout algorithms use more screens (keep the bar at a specific
"main screen")
-> the problem was, that it doesn't scale well, most layout
algorithms aren't designed for multihead setups, esp. if the screens
have different geometries
- split the tags into n distinct tagsets (1 for each screen) and use
the existing tagging concept for focussing/moving clients between
different screens using tagging, display the status bar on the screen
with the focussed client (or some arbitrary fallback if there are no
clients)
-> I think that was my favorit approach, so the main drawback was
that it made dwm significantly more complex and that there needs to be
some kind of setup option which tells which tag belongs to which
screen, so the intermediate approach was having a tag struct with a
screen index -> but hell taht sucked
- use the screen with the pointer as default screen where the bar is
presented and the layout algorithms happen, use all other screens for
floating clients
-> this is the current approach
Also, the main question remains, how many multihead users are there?
The main argument for the last approach was, if there are only 10% of
multihead users, why should all single head/laptop users suffer from
the unnecessary complexity? dwm's current Xinerama support isn't worse
than the Xinerama support in any major desktop environment, but it is
not very smart compared to other tiling WMs.
Kind regards,
--Anselm
Received on Thu Dec 11 2008 - 09:52:45 UTC
This archive was generated by hypermail 2.2.0 : Thu Dec 11 2008 - 10:00:05 UTC