PDA

View Full Version : Popup OSD & Resolution Changes



Ron
October 13th, 2002, 01:55 PM
If I understood correctly this is a bug in WinXP. It doesn't send the WM_DISPLAYCHANGED ( or somthing) to every window. So Marks plugin has no idea when the resolution changed.

Ron
October 13th, 2002, 01:55 PM
Test if changing the resolution from the control panel ( not from girder ) works.

Ron
October 13th, 2002, 01:55 PM
Ah I see, I was just up,.. still sleepy :-) Well then it isn't a girder problem.

Ron
October 13th, 2002, 01:55 PM
Thanks Mark!

Ron
October 13th, 2002, 01:55 PM
I could not agree more Mark, I was just testing Girder in XP with themes, and I must say that WinXP is horrible all kinds of stuff goes wrong. :evil:

Mark F
October 13th, 2002, 01:55 PM
I'm using Windows XP, Girder 3.2.3a, Popup OSD 3.0.5, nVidia GeForce 2.
I don't have XP not a GeForce 2. If this is to be worked out, it will be by someone else. Sorry. :(

Mark F
October 13th, 2002, 01:55 PM
This is distrubing. There were two changes I wanted to put in that I forgot about. I guess old age is creaping up on me. :(

I wanted to add a switch (check-box) to work around this Windows bug and I wanted to lay out the dialog box differently so I was wider than tall to fit on smaller displays.

I'll see if I can complete these today but no promises.

Mark F
October 13th, 2002, 01:55 PM
Mark isn't it better to check the screen resolution before popup?
No. Polling for information that the OS is supposed to supply asynchonously is a waste of time. However, since I won't install XP to see what the real problem is, I'll add this switch for those OSes that are not backward compatible.

The problem is in XP. It doesn't work the way previous versions of Windows works. If it is not compatible, it is BROKEN. It sure would be nice for MS to actually TEST their software before dumping it onto an unsuspecting public. Oh well, this is what you get with a monopoly.

Mark F
October 13th, 2002, 01:55 PM
New version on its way to Ron. Enjoy. :)

Mark F
October 13th, 2002, 01:55 PM
I'm glad that works for you. :)

Mark F
October 13th, 2002, 01:55 PM
The answer is Girder 3.2 and the latest OSD Popup plugin.

Mark F
October 13th, 2002, 01:55 PM
re. OSD size and position from registers -

I need to think about this a bit.

Mark F
October 13th, 2002, 01:55 PM
I have thought about this and won't be doing it. Sorry.

The source is available for someone else to use.

levyshay
October 13th, 2002, 01:55 PM
I have tried the new plugin and it works perfectly. I realize that this is not the optimal solution though and it would be nice to find out why WM_DISPLAYCHANGED doesn't work the same way in Windows XP as it does in Windows 2000, etc. Thanks again.

Hi,

Well I Have the same problem on windows 2000, I'm using girder 3.13c
and Popup OSD 3.03. I change the resolution via TVTOOL, All windows do notice it (Also girder - the builtin OSD works fine) But PopUp OSD doesn't.
I have to close and open girder again.

Any Idea?

levyshay
October 13th, 2002, 01:55 PM
I'm using Windows XP, Girder 3.2.3a, Popup OSD 3.0.5, nVidia GeForce 2.
I don't have XP not a GeForce 2. If this is to be worked out, it will be by someone else. Sorry. :(

I wasn't aware to the fact that the source is available for download.
I very busy now, but after my tests are over I'll look into it and post the results.

Shay Levy.

levyshay
October 13th, 2002, 01:55 PM
MarkF,

If you have time would it be possible to add positioning of the OSD based on variables to Popup OSD? So, the X and Y co-ordinates of the OSD could be stored in variables and then the OSD would be displayed at that position. Using Girder's new Get Resolution function, the OSD could be placed anywhere based on the current resolution. It might help with troubleshooting this TV mode problem too.

Thanks

I thought of it also, but I think that for some reason when switching to TV Mode the OSD doesn't display at all, so I'm not sure that putting variables will solve it.

Shay Levy

mitko
October 13th, 2002, 01:55 PM
Ron, I'm sure that on my WinXP this message is sent to all top level windows because I made myself a little program testing this a few mouths ago when I made :) Mark add the multimoitor support for his OSD Popup plugin.

mitko
October 13th, 2002, 01:55 PM
Even then the plugin had this problem but somehow I left it over like this - I didn't want to torture Mark with this. So I thing that the problem isn't in WinXP.

Mark isn't it better to check the screen resolution before popup?

Again with my posting problem :(

vynce
October 13th, 2002, 01:55 PM
I think someone has mentioned this before, but no solution was implemented. I can't find that post now :(

Versions: Windows 2000/XP, Girder 3.2.1, Popup OSD 3.0.4.

Problem: When Girder is opened under a certain resolution and the resolution is then changed Popup OSD doesn't recognise this change displays the OSD in the wrong location. Girder needs to be restarted under this new resolution for Popup OSD to display information in the correct location. I'm changing the resolution through the Display control panel applet.

I thought that this might just be a Windows XP problem, but I tested it on another computer running Windows 2000 and had the same problem.

Any chance of this being fixed?

Thanks

vynce
October 13th, 2002, 01:55 PM
Yes, I think that you are right. However, I had exactly the same problem under Windows 2000 (I haven't really done much testing on Windows 2000 though so I may be wrong).

One work-around that I can think of is if Girder had a function to get the current resolution, then that could possibly be used to position the OSD text. Or if the Popup OSD just checked the what the current resolution was every time it was executed.

vynce
October 13th, 2002, 01:55 PM
That is how I am changing the resolution (see my first post above :)). I just tried using Girder's built-in resolution changing function and it made no difference - still the same problem.

vynce
October 13th, 2002, 01:55 PM
Great, thanks Mark. I'll give the new version a try. I have done some searching around on WM_DISPLAYCHANGE and have not found anyone having problems with it in Windows XP. Here are some relevant links that might contain some useful info:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/pantdraw_2qzp.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/devcons_3tfc.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/devcons_7gz7.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/msdn_generic.asp
http://groups.google.com/groups?q=WM_DISPLAYCHANGE+xp&hl=en&lr=&selm=3c46c2aa%240%2418245%24afc38c87%40news.optusn et.com.au&rnum=1
http://groups.google.com/groups?hl=en&lr=&threadm=3C5A3FE4.1030501%40girder.nl&rnum=3&prev=/groups%3Fq%3DWM_DISPLAYCHANGE%2Bxp%26hl%3Den%26lr% 3D%26selm%3D3C5A3FE4.1030501%2540girder.nl%26rnum% 3D3
http://groups.google.com/groups?hl=en&lr=&threadm=afbe500c.0105180533.2c28dcca%40posting.goo gle.com&rnum=10&prev=/groups%3Fq%3DWM_DISPLAYCHANGE%26hl%3Den%26lr%3D%26 selm%3Dafbe500c.0105180533.2c28dcca%2540posting.go ogle.com%26rnum%3D10

vynce
October 13th, 2002, 01:55 PM
I have tried the new plugin and it works perfectly. I realize that this is not the optimal solution though and it would be nice to find out why WM_DISPLAYCHANGED doesn't work the same way in Windows XP as it does in Windows 2000, etc. Thanks again.

vynce
October 13th, 2002, 01:55 PM
I have been testing this further and it still seems to be a problem :(. The "check desktop size" option fixed part of the problem. The Popup OSD is displayed properly when you change resolutions now, but doesn't seem to work at all in TV out mode. I have tested this using both TVTool and Windows Display settings to change to TV mode. Also, levyshay is right, Girder's built-in OSD displays fine at all resolutions and TV modes, but I have to restart Girder once I'm in TV mode to get the Popup OSD to display. I don't think that it is simply displaying it off-screen, I think it is not being displayed at all! If I set the Popup OSD to be displayed in the top-left corner (so that resolution changes don't affect it's position) it doesn't show up in TV mode, but works fine if I switch back to my monitor, or if I restart Girder once in TV mode. I have tried the Disable and Enable Plugin functions (Girder tab) with plugin ID 100 (Popup OSD's number) to see if reinitializing the Popup OSD plugin once in TV mode would work - it does nothing (maybe these functions only work with input device plugins).

On a related note, when I'm in TV mode (or even just change resolution) and open the Girder GUI to change some settings, the Girder window is usually off the screen. Right-clicking on the task bar item for programs brings up a context menu that usually has a move command - then you can use the arrow keys to move the program's window on-screen. But, there is not move command for Girder so I can't use that tecnique to get Girder on-screen. Same problem with the Girder settings window. Hopefully something can be worked out for this.

I'm using Windows XP, Girder 3.2.3a, Popup OSD 3.0.5, nVidia GeForce 2.

Thanks

vynce
October 13th, 2002, 01:55 PM
Ok, thanks anyway. My current work-around is simply a batch file that restarts Girder when I switch to TV mode. I will try fiddling with it, but I haven't done any Win32 programming (yet) so I don't know if I will be able to come up with anything.

vynce
October 13th, 2002, 01:55 PM
MarkF,

If you have time would it be possible to add positioning of the OSD based on variables to Popup OSD? So, the X and Y co-ordinates of the OSD could be stored in variables and then the OSD would be displayed at that position. Using Girder's new Get Resolution function, the OSD could be placed anywhere based on the current resolution. It might help with troubleshooting this TV mode problem too.

Thanks

avekevin
January 6th, 2003, 01:43 AM
Hey all,

I am experiencing a similar problem when changing resolutions with OSD Popup 3.0.6.

I am using Powerstrip to set custom resolutions on my HTPC. I am changing resolutions using the Hot Key Manager included with that app. When going from 720x480 resolution to 1280x720, the OSD adjusts itself properly. When going from the larger to smaller resolution, however, it does not re-adjust itself to the smaller screen size. I have tried the plugin with the "Check desktop resolution" both checked and unchecked with the same results.

Any ideas?

Config:

Win XP SP1
Girder 3.2
OSD Popup 3.0.6
Powerstrip 3

Thanks!

Kevin

vynce
January 6th, 2003, 08:56 AM
Have you tried XP OSD yet? I don't have any resolution change problems with it. http://www.girder.nl/downloadn.php?Link=441