It is currently May 8th, 2024, 9:00 am

Let's discuss / document "multiple monitors" and Rainmeter

General topics related to Rainmeter.
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by jsmorley »

Alex2539 wrote:The only way I see it being better is that there's no need to manually edit Rainmeter.ini.
Or change the WindowX setting using RainBrowser. You know, that is a good point. We might consider adding "Display Monitor" to the context menu and have it detect how many monitors you have enabled in Windows and allow a "check mark" to set the "@x" value.
User avatar
spx
Developer
Posts: 686
Joined: August 15th, 2009, 2:41 pm
Location: Osaka, JPN

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by spx »

Rainmeter's multi-monitor function has several defects, so I'm trying those correction at present.
(following the thread: "Dual Displays Incorrectly Identified")

The defects I recognize are as follows:
  • - Rainmeter cannot handle the negative coordinates in Rainmeter.ini. (Fixed on r313 and r315)
  • - Rainmeter handles the @1 monitor as the "Primary monitor". This behavior is incorrect. Because the "Primary monitor" may be @1, or @2, or @3 ...
  • - The monitor display order Rainmeter handles may be different from the order of "Display Properties". This confusable problem occurs often when changing recognition of the monitors by Windows.
  • - Rainmeter handles the coordinates as the "The Virtual Screen" coordinates. The top-left corner coordinates of the virtual screen can have the negative coordinates. However, the top-left corner coordinates are handled as (0,0) by some codes. (This problem occurs when the skin window is "On Desktop" for example.)
  • - There are no variables to get the location or the dimension of each monitor and virtual screen (like #WORKAREAX@2#, #VSCREENAREAX#).
  • - @-directive can't be used with formula. The following fails:

    Code: Select all

    WindowX=(100+100)@2  -->  handles as WindowX=0@2
jsmorley wrote:We might consider adding "Display Monitor" to the context menu and have it detect how many monitors you have enabled in Windows and allow a "check mark" to set the "@x" value.
Agreed completely. ;)
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by jsmorley »

Spx...

Thanks for that analysis. I agree that all of those should be addressed. I wish I could help you, but do let me know if I can help with testing or anything else.

One other thing that we might at least look at is the inability to "span" a skin across monitors. Today it seems that a skin must live on one monitor or another, and can't be for instance half on @1 and half on @2. Most other Windows applications can be positioned so they span across the monitors. This may be impossible due to the nature of how Rainmeter draws the windows, but it would be nice for instance to have kenz0's "linear clock" skin really large and working on the entire "virtual screen" if you see what I mean.
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by jsmorley »

This image from that link you posted is a great representation of how the "virtual screen" works in Windows / Rainmeter.
Dd145136.multimon_1(en-us,VS.85).gif
User avatar
spx
Developer
Posts: 686
Joined: August 15th, 2009, 2:41 pm
Location: Osaka, JPN

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by spx »

jsmorley wrote: One other thing that we might at least look at is the inability to "span" a skin across monitors. Today it seems that a skin must live on one monitor or another, and can't be for instance half on @1 and half on @2. Most other Windows applications can be positioned so they span across the monitors. This may be impossible due to the nature of how Rainmeter draws the windows, but it would be nice for instance to have kenz0's "linear clock" skin really large and working on the entire "virtual screen" if you see what I mean.
In my environment, It can be displayed across the monitors. Is "Keep on Screen" disabled? (Or Aero issue?)
I'm sorry if my understanding is wrong.
desktop.jpg
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by jsmorley »

spx wrote: In my environment, It can be displayed across the monitors. Is "Keep on Screen" disabled? (Or Aero issue?)
I'm sorry if my understanding is wrong.
desktop.jpg
Hmm... I'll have to play more with that. I may have done something wrong ("stay on screen" as you say) or maybe it is an issue with Rainmeter and Aero.
User avatar
JamesAC
Developer
Posts: 318
Joined: July 14th, 2009, 5:57 pm

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by JamesAC »

jsmorley wrote:By "Y@2" I assume you mean how does it work when you have the second monitor position "above" or "below" the primary instead of "left" or "right"? I will mess with that some tomorrow to see if there are additional "gotchas" involved with that.
Yeah the interesting effet you found where the @2 modifier for the Y value seemed to stay in memory after the skin had been moved off the second monitor
+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++
Quis custodiet ipsos custodes?
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by jsmorley »

JamesAC wrote: Yeah the interesting effet you found where the @2 modifier for the Y value seemed to stay in memory after the skin had been moved off the second monitor
Oh yeah. That is an interesting one.

If you set WindowX with an "@x" postfix, like WindowX=200@2, then Rainmeter will automatically change WindowY to also say "@2". This is fine, but if you then change WindowX back to having no postfix, just WindowX=1000 for instance. the WindowY continues to have the @2 on it and it is a PAIN to get rid of. If you take it off and save, Rainmeter just puts it right back. You have to actually exit Rainmeter, change both to have no postfix, and then restart Rainmeter.
User avatar
spx
Developer
Posts: 686
Joined: August 15th, 2009, 2:41 pm
Location: Osaka, JPN

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by spx »

Sample implement of the "Display monitor selector":
displaymonitor.jpg
These menus convert the present position to the relative position from the specified monitor.
(But the skin window doesn't move to the specified monitor area immediately. Only converts.)

- "Use default" removes the @-directive from WindowX/Y.
- @0(@1,...) adds the specified monitor number to WindowX/Y.
- For check mark, it checks only WindowX's present monitor number. WindowY's number is ignored. (Just my 2 cents, separated WindowY's number confuses us.)

Any thoughts?
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Let's discuss / document "multiple monitors" and Rainmeter

Post by jsmorley »

spx wrote:Sample implement of the "Display monitor selector":
displaymonitor.jpg
These menus convert the present position to the relative position from the specified monitor.
(But the skin window doesn't move to the specified monitor area immediately. Only converts.)

- "Use default" removes the @-directive from WindowX/Y.
- @0(@1,...) adds the specified monitor number to WindowX/Y.
- For check mark, it checks only WindowX's present monitor number. WindowY's number is ignored. (Just my 2 cents, separated WindowY's number confuses us.)

Any thoughts?
Looks really great! I'm impressed. I think it will solve a lot of confusion and problems if we can make it intuitive and easy for folks to use "@x" instead of just dragging skins to a monitor and then wondering why things go strange on monitor 2 when they change the resolution of monitor 1.

Now I have to figure out how to implement that in RainBrowser for 1.2 as well.