It is currently March 28th, 2024, 1:34 pm

[Request] Rainmeter elements behind desktop icons and some other stuff

Report bugs with the Rainmeter application and suggest features.
Post Reply
User avatar
theimmersion
Posts: 55
Joined: November 27th, 2016, 1:51 pm

[Request] Rainmeter elements behind desktop icons and some other stuff

Post by theimmersion »

First off, i know its been asked before but i thought we need to take another look at few feature Rainmeter is missing.
What i mean is the option to render elements and/or skins on the desktop area but behind the icons and native drag and drop functionality as well as some mouse x y tracking. To put it like this, if my skin sets use plugins like Drag&Drop and MouseXY at least 50% of the time, i think those should be than a native feature. And i do use them a lot. Like i said, at least 50% of the time and at least 20% are relying on tools skins that use those plugins.

Since Wallpaper Engine is out, Windows 10 is out for some time now, and as i remember one of the (i assume) developers, Brian said that its not viable for such features due to constant windows updates, changes etc, i think it might be time to rethink it now. The problem lots of us are having are still a those few what i think essential features to Rainmeter that are missing that many skin creators are held back at some creative or utilitive matters. Some native drag and drop functionality as well as the ability to place skins or skin elements on the desktop area are imperative to make Rainmeter a complete package imo, because only those are left missing. I dont know how those guys from Wallpaper Engine did it since im not a programmer but obviously the guys who made Rainmeter are programmers and if Wallpaper Engine can do it, so can and should Rainmeter imo.
I love the Wallpaper Engine and Rainmeter combo. No PC of mine will ever be without them but at this point, i would even support Rainmeter if it went on steam as well and pay for its support for even greater features but thats some other topic on that matter.

The thing is, Rainmeter doesnt need much to get its perfect touches but some very basic functionality as i said before are really needed imo.
I know its probably not easy at all but it bugs me for what it lacks is just so little to make Rainmeter perfect and the most ultimate background software of all time (its already the ultimate one as is tho). So, here i am and hoping for some support on those matters. Any brainstorming is welcome! If i can contribute in any way, feel free to ask. :)

And as always, i still need to thank you Rainmeter team, and everyone who contributed, skin users, skin creators. Amazing crowd! :)
User avatar
Brian
Developer
Posts: 2673
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: Rainmeter elements behind desktop icons and some other stuff

Post by Brian »

theimmersion wrote:What i mean is the option to render elements and/or skins on the desktop area but behind the icons
This is probably never going to happen in Rainmeter. The Windows API allows for setting the desktop wallpaper, but does not natively support drawing onto the desktop itself. If Windows chooses to expose the functions necessary to draw directly on the desktop in the future, then we could explore that - but any attempt to 'hack' our way into drawing directly on the desktop under the icons is not something we will ever do. It's not a question of 'can we' do this, it is a question of 'should we' do this. Microsoft could change the underlying code in Windows that could break any 'hacks' we do to draw on the desktop like that - and we don't want to constantly change our side of things just to 'hack' our way in. While Microsoft has a good history of backwards compatibility with known API's like GDI/win32 etc., they are also known to remove things on a whim (such as Aero blur, even though it is partially back in Windows 10 but not exposed directly). Windows allows us to create our own windows to draw on and provides no direct way to draw onto another program's windows.

theimmersion wrote:native drag and drop functionality as well as some mouse x y tracking.
We have debated this several times and have concluded that the challenges to get working correctly outweigh the benefits. For drag and drop, there is some charm with dragging and dropping text into a string meter or dragging files/folders into a string meter...but outside of those 2 situation, it doesn't make very much sense at all. Dragging text into a Bar meter makes no sense (maybe a file/folder and getting its size to display). Maybe dragging an image to an image meter, but that is about it. Also, there might be some issues with the layering of meters.

For mouse tracking, we do natively support mouse tracking on mouse actions using mouse variables. However, we do not support constant mouse movement outside of any skin due to the constant polling of the mouse position. Rainmeter skins basically run at specific intervals (the Update cycle), so grabbing the mouse position really makes no sense in that context since the mouse can move rapidly across the screen over a very short amount of time. I believe the MouseXY plugin gets around this by running in a thread (meaning it is not bound by our Update cycle). Rapidly updating measures/meters and redrawing the skin every time the mouse moves is something I think we should try to avoid at this time. If we could just redraw only 1 meter at a time, then this might become more viable. I think its best to leave this as a plugin at this time.

theimmersion wrote:The problem lots of us are having are still a those few what i think essential features to Rainmeter that are missing that many skin creators are held back at some creative or utilitive matters. Some native drag and drop functionality as well as the ability to place skins or skin elements on the desktop area
I assume "us" is referring to a few skin authors? While I don't disagree with you that drawing on the desktop under the icons, some basic drag/drop functionalitity, and mouse position resolution at a basic level might be a nice ability to have - Rainmeter is just not designed for these features to work natively. If Rainmeter was more event driven, instead of interval driven, then some of these features would definitely be more viable.

-Brian
User avatar
theimmersion
Posts: 55
Joined: November 27th, 2016, 1:51 pm

Re: [Request] Rainmeter elements behind desktop icons and some other stuff

Post by theimmersion »

I dont think your wrong but i dont think your entirely right either.

But first things first, you think Wallpaper Engine uses (so to speak) hacks to bring those interactions to the desktop and behind the icons or perhaps you guys missed something? Lets be clear, i have the utmost respect for you guys. Im just wondering.

About the native drag and drop. Its versatility is small, just drag and drop of files or text and thats it, yes but that alone would be used a lot imo. Which would make in non the less important.
For instance, i can assure you that every author (at least id get rid of rocket dock in an instant) that has a set of skins or suites would have at least one dock kind of skin or similar to it and would use a native drag and drop function. And there are a lot of authors out there. Of course i might be wrong. And of course its only that thing it would do but sometimes a function doesnt have to do a thousand things. Sadly, i might be even fine with the Drag&Drop plugin we get outside the native zone but it doenst work correctly and im bound to always want a native one because i know if its native, it works, plain and simple. xD
Can it be done with lua scripting to simulate drag and drop capabilities tho? Never thought on that, that could be a potential substitute. (Please tell me there is and a tutorial or push in the right direction would be nice.)

So im guessing either its not possible or the "challenges outweigh the benefits" of making Rainmeter be interval and event driven? Just wondering, not really a programmer. Love you guys non the less! xD
User avatar
Brian
Developer
Posts: 2673
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: [Request] Rainmeter elements behind desktop icons and some other stuff

Post by Brian »

theimmersion wrote:you think Wallpaper Engine uses (so to speak) hacks to bring those interactions to the desktop and behind the icons or perhaps you guys missed something?
Again, this isn't a question of if this can be done, it is a question of should this be done. While I have no knowledge of Wallpaper Engine or how it achieves drawing on top of the desktop but below the icons, I am relatively certain it is done by asking either the Windows OS (or explorer.exe) for its desktop device context and manually drawing onto it. Basically, it is getting the drawing surface from another program/OS and drawing on it. This is dangerous. If this were as easy as calling an API function, then rogue programs would draw over other programs all the time. Imagine if Google Chrome would draw an overlay over Firefox browsers and tell them to use Chrome instead? If it were easy, it would have be done already. While anything can probably be done at low levels, the question really is should it be done. The answer in the this context for Rainmeter is no.

theimmersion wrote:Can it be done with lua scripting to simulate drag and drop capabilities tho? Never thought on that, that could be a potential substitute. (Please tell me there is and a tutorial or push in the right direction would be nice.)
I am not aware of any lua that would allow for drag and drop, but I am no expert on lua and its capabilities.

theimmersion wrote:So im guessing either its not possible or the "challenges outweigh the benefits" of making Rainmeter be interval and event driven?
To maintain backwards compatibility (which is our #1 goal), Rainmeter will probably always be mostly interval driven. Things like bangs and mouse actions (like left clicking) are event driven already, so expanding Rainmeter to respond to more events is probably doable at some level.

-Brian
Post Reply