It is currently April 26th, 2024, 6:24 am

It won't go to the edge...?

Get help with creating, editing & fixing problems with skins
CybOrSpasm
Posts: 146
Joined: January 8th, 2011, 7:12 pm
Location: Tennessee

It won't go to the edge...?

Post by CybOrSpasm »

Ok, guess what I am working on... }:] Anyways, I know there is an "invisible" portion of the clock that extends up just as high as the tree at the bottom extends down. However, even after unchecking "Keep On Screen" and "Snap To Edges", it refuses to go any higher on the screen. As you can see, it will go off the sides and the bottom no problem, But when I drag it to the top and let go of the mouse, it "snaps" back down to it's current height on the screen. Any ideas on why? If I crop the images, it will play hell with the offsets and getting things positioned correctly... }:[ I am just wondering why this ONLY affects the top of the screen...?
You do not have the required permissions to view the files attached to this post.
User avatar
jsmorley
Developer
Posts: 22630
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: It won't go to the edge...?

Post by jsmorley »

CybOrSpasm wrote:Ok, guess what I am working on... }:] Anyways, I know there is an "invisible" portion of the clock that extends up just as high as the tree at the bottom extends down. However, even after unchecking "Keep On Screen" and "Snap To Edges", it refuses to go any higher on the screen. As you can see, it will go off the sides and the bottom no problem, But when I drag it to the top and let go of the mouse, it "snaps" back down to it's current height on the screen. Any ideas on why? If I crop the images, it will play hell with the offsets and getting things positioned correctly... }:[ I am just wondering why this ONLY affects the top of the screen...?
Yes, Windows will not allow any window (not just Rainmeter) to extend above the top of the screen. You can actually force it there with a negative number in WindowY in Rainmeter.ini (or by setting a negative number in Manage for the Y coordinate), but as soon as you drag it even one pixel with the mouse it will snap fully onto the screen.

You might be able to force a negative Y and then set "click through" so you can't touch it, but I'm not sure what will happen if you unload and load the skin or when you reboot.

The long and the short of it is that Windows really doesn't want stuff hanging outside the top of the screen. This is likely a design decision based on the fact that the area used to drag a skin is at the top of the window (in a normal app) and MS doesn't want to go back to the bad 'ol days when you could accidentally move a window's title bar outside the top and not be able to drag it back anymore and end up with a window that requires "Click anywhere on the window so it's got focus. Press Alt+Space together, release them and press M, then use the arrow keys to move the window." to move it.
CybOrSpasm
Posts: 146
Joined: January 8th, 2011, 7:12 pm
Location: Tennessee

Re: It won't go to the edge...?

Post by CybOrSpasm »

Ah! okay, it's a windows thing then.. I was starting to wonder if it was a video card/driver thing, as this old laptop has a sad on-board chip. Thank you for the quick answer.
Eastwood
Posts: 35
Joined: November 1st, 2012, 10:50 pm

Re: It won't go to the edge...?

Post by Eastwood »

It will work with a negative WindowY value.
I have a tray sitting above my top edge, thus being invisible.
The code of that tray starts with:

Code: Select all

[Rainmeter]
 Update=1000
 OnRefreshAction=[!move 0 #tinypos#][!hidemetergroup big][!redraw]
 @includepaths=#@#program paths.inc
 @includestyles=#@#styles.inc
 blur=1
 blurregion=1,0,0,1920,400
 MouseActionCursor=0
 group=icons

[Variables]
 FONTFACE="Trebuchet MS"
 tinypos=-330
 bigpos=-200
 standardtitle="RainMeter Visual tray"
 subF=0
 nextsize=""
What I do is moving the tray to #tinypos# when loading the skin. (That is because it's a dynamic tray with a second position, being #bigpos#)
But I don't think that is necessary after rebooting.
Just make sure that you set the following options right:
Draggable: off
Clicktrough: don't care
Keep on screen: off
Save position: don't care
Snap to edges: off

I hope your skin doesn't require dragging.
CybOrSpasm
Posts: 146
Joined: January 8th, 2011, 7:12 pm
Location: Tennessee

Re: It won't go to the edge...?

Post by CybOrSpasm »

Unfortunately, it probably will require being moved as it is just a free form analog clock, so I imagine people will want to put it in different places on their screen... But thanks for the suggestion anyways! };]
Eastwood
Posts: 35
Joined: November 1st, 2012, 10:50 pm

Re: It won't go to the edge...?

Post by Eastwood »

CybOrSpasm wrote:Unfortunately, it probably will require being moved as it is just a free form analog clock, so I imagine people will want to put it in different places on their screen... But thanks for the suggestion anyways! };]
One possible and easy solution:
Make the clock dragable.
Add another skin for the tree backdrop (wich gets invisible while dragging, or use an insanely high update rate) which adapts to the clock's possition.
Requires:
- Another skin
- !move bang in the backdrop skin
- !show/hide bangs if you consider making the backdrop invisible while dragging.
CybOrSpasm
Posts: 146
Joined: January 8th, 2011, 7:12 pm
Location: Tennessee

Re: It won't go to the edge...?

Post by CybOrSpasm »

Ok, the fix for this was actually far easier than I thought it would be. It's amazing how much clearer a person can think after 7 hours sleep. };] I have seen other post in the past where people have asked this type of question, so I thought I would post how I was able to fix it.

When I make a clock, I start with a perfectly square background, as that makes setting up the all the rotators easy. In this case, it was 500x500 pixels. The problem as you can see in the uploaded image, was that there was a large invisible space at the top of the background image (the one containing all the trees), that prevented it from being moved to the top of the screen. My final solution, was to crop only the background image down to the tops of the trees, making the image now 500x436 (Sorry, I had forgotten that I switched back the the uncropped version). BUT you do need to figure out how far from the top of the screen you are. I did this by cropping my background image, then looking to see what the size of the new image was. However, you still need to use the full size square image in the meter. So basically, you need to figure out just how many pixels from the top edge of the screen your skin stops at! I was afraid that I would now have to fight with all the rotator meters to get them re-aligned, however, the answer was to simply add Y=-64 (which is how far my trees were from the top of the screen), to the style that ALL of the meters use. Here is my style now:

Code: Select all

[ClockStyle]
W=#ClockSize#
H=#ClockSize#
Y=-64
OffsetX=(#ClockSize# / 2)
OffsetY=(#ClockSize# / 2)
StartAngle=6.2832
And here is what the background meter looks like:

Code: Select all

[MeterBackground]
Meter=Image
ImageName=#Folder#Background.png
MeterStyle=ClockStyle
UpdateDivider=-1
ImageTint=#ColorTrees#
All the other images are still 500x500, and I didn't have to make any other changes to meters or rotators! Anyways, hopefully this will help someone else figure out why their skin won't go to the top edge of the screen, and how to fix it fairly easily. };] I will be posting the whole clock skin either today or tomorrow if you want to see the whole code. Look for the Walk Through Life Clock.

Sorry about the edits... guess I need 8 hours of sleep after all! Hope I didn't confuse anyone.
Last edited by CybOrSpasm on November 27th, 2012, 7:34 pm, edited 1 time in total.
Eastwood
Posts: 35
Joined: November 1st, 2012, 10:50 pm

Re: It won't go to the edge...?

Post by Eastwood »

So you gained 64 pixels ?
... so I imagine people will want to put it in different places on their screen.
After you mentioned, I understood the real issue. That's why I thought about making the backdrop able to drop offscreen. That way I can let the clock hug the edges of my screen, disregarding a portion of the backdrop falling off.
Thus: having a user to drag the clock in a quite larger area.
CybOrSpasm
Posts: 146
Joined: January 8th, 2011, 7:12 pm
Location: Tennessee

Re: It won't go to the edge...?

Post by CybOrSpasm »

Eastwood wrote:So you gained 64 pixels ?

...

After you mentioned, I understood the real issue. That's why I thought about making the backdrop able to drop offscreen. That way I can let the clock hug the edges of my screen, disregarding a portion of the backdrop falling off.
Thus: having a user to drag the clock in a quite larger area.
No, you actually are just subtracting the extra pixels from the top of your skin. All my images are still perfectly square, you just have to do a "fake" crop. };]
yassine-saf
Posts: 1
Joined: June 12th, 2019, 10:09 am

Re: It won't go to the edge...?

Post by yassine-saf »

There is a thing that kind of solve it, is by changing the display monitor to Auto select based on window position, it reduces the gap between the top edge and the limit.