Hey guys,
for a friend of mine who's using Windows Media Center on a second monitor, I wrote a script that allowed him to move the Media Center window to any part of the "extended desktop" (i.e. to one of his two monitors) at the press of a button.
To make it easier for him, I also made the script size the window so that it fills the whole screen (maximizing doesn't work because that would make the Media Center go to fullscreen mode and thus confine the mouse to that area), and it also extends the window so the window frame is hidden outside the screen area (to make it look like fullscreen mode).
Now I've changed the script to be more universal, meaning that it does not only apply to the Windows Media Center and is not limited to only two monitors. It also has hotkeys for automatically moving the mouse pointer to the respective monitor.
However, I cannot properly test the script because I only have this crappy laptop at the moment. I've kinda got the feeling that there's still a few bugs left though, so I'd appreciate if someone would volunteer as beta tester here...
Here are the files:
AHK source
compiled executable
updates:
2006-06-13: v0.95
known issues:[*:1i4eudi2]width of window frame must not exceed a certain value (6 pixels?) due to limitations by Windows; any window size beyond a certain value will automatically be reduced to a hardcoded maximum (e.g. max. width of 1036 px at 1024x768)
Screen Switcher [beta testers needed!]
Started by
Ace_NoOne
, Jun 10 2006 05:32 PM
3 replies to this topic
#1
-
Posted 10 June 2006 - 05:32 PM
Hi, I don't usually get here every day, so I just saw this earlier tonight. I just tried it out. I have two 19" monitors.
I couldn't tell that anything worked incorrectly, or there are any bugs, assuming I understand what it is intended to do (at this point) correctly. Everything seems to work fine. I didn't think to try two different resolutions, if that is a concern.
I'm impressed and would like to see you go further with it, if that is what you were intending. It could get very old, quickly, having to type in the name of the window, especially getting the case correct. I guess some things I'd like to see are (again, assuming this is something you want to continue):
1. I believe a list of visible windows on the desktop could be gathered pretty easily and presented for the user to choose by clicking the name or some sort of keypress. Or, have the user choose the window by clicking (presumably activating) it.
2. I don't know whether you ever intended for it to work for anything other than full-screen. I tried it on a non-resizeable window (never intended to be maximized, etc) and it didn't hurt anything, but it went full-screen. Would be cool if I could move a non-'maximized' window from screen to screen. Keeping the size, I mean.
I could think of other things, possibly, but those are the main ones. I like the way it works... pretty easy to move either the window and/or the mouse cursor. Oh yes... I don't know anything really about dealing with cursors, but if the mouse cursor could blink or something a few times after switching screens, I'd be able to find it easier.
I don't ask for much. :lol:
Bob
I couldn't tell that anything worked incorrectly, or there are any bugs, assuming I understand what it is intended to do (at this point) correctly. Everything seems to work fine. I didn't think to try two different resolutions, if that is a concern.
I'm impressed and would like to see you go further with it, if that is what you were intending. It could get very old, quickly, having to type in the name of the window, especially getting the case correct. I guess some things I'd like to see are (again, assuming this is something you want to continue):
1. I believe a list of visible windows on the desktop could be gathered pretty easily and presented for the user to choose by clicking the name or some sort of keypress. Or, have the user choose the window by clicking (presumably activating) it.
2. I don't know whether you ever intended for it to work for anything other than full-screen. I tried it on a non-resizeable window (never intended to be maximized, etc) and it didn't hurt anything, but it went full-screen. Would be cool if I could move a non-'maximized' window from screen to screen. Keeping the size, I mean.
I could think of other things, possibly, but those are the main ones. I like the way it works... pretty easy to move either the window and/or the mouse cursor. Oh yes... I don't know anything really about dealing with cursors, but if the mouse cursor could blink or something a few times after switching screens, I'd be able to find it easier.
I don't ask for much. :lol:
Bob
#2
-
Posted 13 June 2006 - 05:14 AM
Thanks for your appreciation!
As for your suggestions - well, yeah, there really is still a lot to do to make it really universally applicable (remember that it was originally conceived only for the Media Center issue).
But I'm not sure whether this is worth continuing to develop (apart from fixing bugs), because I can't really think of any real use for this script apart from the Media Center thingie.
Anyways, I like your suggestions, so I'm gonna comment on them either way:[*:2zo75hjf]I've also thought about an easier selection of the desired window (see To Do list in the code ) - but to be honest, I wouldn't really know how to do that on the spot, though it might actually be very easy to do if I could be bothered to read up on it... [*:2zo75hjf]Good point with the not-bo-be-maximized windows - even though I really didn't feel like adding this, I did (thankfully, I had already written a function for a case like this).
So you now have the option to have the window positioned in the upper left corner of the respective screen, retaining its original size ("Change window size" in the tray menu).[*:2zo75hjf]Pointing out (pun not inteded) the new position of the mouse pointer is a very good idea - I don't know how to make it blink, so I just added a very simple slide 'animation' (just moving the mouse from the top left corner to the center at 75% speed).
I could also have made it circle around the center for a while by using sin()/cos(), but this was easier and didn't force me to dust off my math books... So I did work on it again after all - still, a lots remains to be done on this script, and I'm not sure whether I'll do any more...
script updated to v0.95 (links in top posting)
As for your suggestions - well, yeah, there really is still a lot to do to make it really universally applicable (remember that it was originally conceived only for the Media Center issue).
But I'm not sure whether this is worth continuing to develop (apart from fixing bugs), because I can't really think of any real use for this script apart from the Media Center thingie.
Anyways, I like your suggestions, so I'm gonna comment on them either way:[*:2zo75hjf]I've also thought about an easier selection of the desired window (see To Do list in the code ) - but to be honest, I wouldn't really know how to do that on the spot, though it might actually be very easy to do if I could be bothered to read up on it... [*:2zo75hjf]Good point with the not-bo-be-maximized windows - even though I really didn't feel like adding this, I did (thankfully, I had already written a function for a case like this).
So you now have the option to have the window positioned in the upper left corner of the respective screen, retaining its original size ("Change window size" in the tray menu).[*:2zo75hjf]Pointing out (pun not inteded) the new position of the mouse pointer is a very good idea - I don't know how to make it blink, so I just added a very simple slide 'animation' (just moving the mouse from the top left corner to the center at 75% speed).
I could also have made it circle around the center for a while by using sin()/cos(), but this was easier and didn't force me to dust off my math books... So I did work on it again after all - still, a lots remains to be done on this script, and I'm not sure whether I'll do any more...
script updated to v0.95 (links in top posting)
#3
-
Posted 13 June 2006 - 01:53 PM
Sorry it has taken me so long to return here. I was not sure whether you were interested in taking the script further, and do understand that it does what you wanted it to do.
I think the 'slide' of the mouse cursor was a great idea/way to handle that. It does the job effectively without the need for something more complicated. In fact, I think it is probably the best way anyway.
It does work quite well on my system.
Bob
I think the 'slide' of the mouse cursor was a great idea/way to handle that. It does the job effectively without the need for something more complicated. In fact, I think it is probably the best way anyway.
It does work quite well on my system.
Bob
#4
-
Posted 17 June 2006 - 06:13 AM