From: <eb...@dr...> - 2011-04-10 20:00:19
|
Hi, I have two (small) objections: First, it is not in Lua. This is not so bad for users, but it is bad for further developing, as further patches may want to improve this branch, and I consider this branch 'dead', because we want this in Lua. The second objection is, that the algorithm does not merge screen B to screen A,C in following setup: +--------+ +---------+ | A +---+------+---+ B | | | | | | | +----+---+ C +---+-----+ +--------------+ It first puts into the result screens 'A' and 'B', and then it decides that it merges 'C' with 'A'. This behavior is rather unexpectable for the user. I split the query and setup part, to be callable from lua. Although the setup part has to be called in cfg_xinerama.lua, otherwise is called setup with default (merge overlapping) behavior. I reimplemented the merge of overlapping screens in Lua, so that it merges all screens that overlap and it does not merge screens that do not overlap: +------+ +---+ | A | | C | | | +---+ | +-+----+ +----+-+ B | +------+ Here 'C' is considered after merging 'A' with 'B', my algorithm does not merge it, yours do. Both setups are strange, but user should get expectable behavior. My version is in branch 'split' at http://drak.ucw.cz/~ebik/git/mod_xinerama It is poorly documented now. I have not explored how external modules can and should be documented. The user can call ioncore.set_paths("some_string_derived_from_the_geometry_of_screens"), to have his 'saved_layout.lua' saved in different directory, based on what he do in cfg_xinerama.lua. This lets the user to have layouts saved for different screen configurations. Doint this has a caveat now: notion does not remember locations of windows when screen setup is changed an notion restarted to different screen layout. On Sat, 9 Apr 2011 11:39:52 +0200 Arnout Engelen <no...@bz...> wrote: > Hi, > > mod_xinerama currently did not support 'mirrored mode' multihead > (xrandr --same-as) correctly: it created 2 WScreens (1 for each > monitor, even when both monitors took up exactly the same space on > the virtual display). > > Apart from being generally inelegant and wrong, it also caused some > trouble when an embedded dock would be assigned to the invisible > WScreen etc. > > I created a patch for mod_xinerama that will merge any overlapping > Xinerama screens into 1 notion WScreen, solving this problem. I > committed it to an 'overlap' branch, and would be interested to get > your reviews before merging it to master. > > Git: > http://notion.git.sourceforge.net/git/gitweb.cgi?p=notion/mod_xinerama;a=shortlog;h=refs/heads/overlap > Issuetracker: > https://sourceforge.net/tracker/index.php?func=detail&aid=3262747&group_id=314802&atid=1324528# > > > Kind regards, > > Arnout -- Tomáš 'ebík' Ebenlendr PF 2011.27366273465 |