Hi all,

As with myself, I know many of you will be busy over this time.  I have, for
a while now, had a topic branch brewing for some time
(ta/various-monitor-improvements) which has laid the groundwork for internal
API changes to how monitor information is sent to modules.

To do this, I've augmented the CONFIGARGS macro to include a monitor id.
This ID is a number which is assigned to each module struct when it is
created based on poking RandR for this information.  Then, modules wishing
to use monitor-specific information can get a struct monitor pointer looking
up the monitor based on the id.

This means there doesn't have to be any clever trickery trying to maintain a
struct monitor pointer sent to modules, which wouldn't work too well anyway.
Hopefully in the future this will become much more opaque via the use of,
say, libevent.

I wanted to do this so that I can fix the pager to be monitor aware.  As it
happens, that's not quite finished yet; instead, only Ident is making use of
this to now include the name of the monitor the selected window is on.

By all means test this out, and let me know if there's any oddities.  I've
ben using this code for many months without any ill-effects, but my own
limited testing might not be enough, so feedback welcome.

Any questions, do please ask.

-- Thomas Adam

Reply via email to