This is based off of the code that I grabbed from the IndieStep CVS over the weekend of 2002-07-20. It adds named monitors and some other little things. (most of which are only seen by module coders)
At this point this stuff is just for testing, so people maintaining module archives, please don't add this stuff yet. This code has been tested on one system, zero of which had only one monitor. I'm probably doing something wrong, somewhere.
Briefly, this adds MonitorNames which is recognized by
taskbar, systray2, and shortcut2. (but, being in the core, only one copy of the monitor
list is kept in memory) Shortcut3 isn't even included in the binaries because it's
probably broken right now.
Read:
three so far: (binaries)
The main difference is that it's a little smaller than the standard build because it uses some of the generic tools I added to lsapi. The transparency will also pick up backgrounds drawn with the desktop background hook.
Added multimonitor code and "fake" background transparency, which also works with the desktop background hook. Also, all the bang commands that ended with "command" now start with it instead. (more consistant and smaller code) Position and size can now be set with center and percent-based values.
Fixed a bug where the desktop window would only be as big as the primary(?) monitor. Fixed !jdeskresetarea so it works for all monitors. Added <monitor name>DeskBackBitmap/Method/Border, which will let you set a background for each monitor. This uses the desktop background hook (which could be overridden if desired in another module), so "fake" transparent modules need to use LSPaintDesktop to show through properly. (as RabidVWM and lsxcommand included do)
Ugly modules, but should be sufficient demonstration. Only one line of step.rc is different between the two images.
With MonitorNames pri one:
|
With MonitorNames one pri:
|
Notice that the celery background is cropped while the colored water one is scaled.