View Full Version : Is there a way to...
jamreb
January 21st, 2006, 07:29 PM
Hi, I don't actually own Girder yet, because I'm not sure yet if it can do what I need it to do. If it can, I will be immediately purchasing it though. I would think it can, from what I've been reading in the manual, it seems very powerful...but I'm not sure if it can, and if so, how.
Anyway, I need it to emulate the following: right-click on my desktop to get the display properties window up, go to the settings tab, right-click on the little picture of the Monitor 2 icon, click on 'Attached' from the pop-up menu, right-click on the Monitor 2 icon again, then click on the 'Primary' option from the pop-up menu, then click on 'OK'. From what I could tell, this wouldn't be a problem, right - you just give it coordinates on the screen/desktop to click on where there is no shortcut, have it right-click, move the mouse to choose properties, and that would open up display properties...that part is easy, right (but please correct me if I'm incorrect in my assumption)? Here's the problem - I noticed that each time I do this, the actual Display Properties window pops up in a different location, so I can't give it 'hard' coordinates to go to the Settings tab or doing the rest of the steps because it changes all the time...so can I still do all of this with Girder? If so, how exactly would you set that up?
In case anyone is wondering why I'm doing this, it's because my PC is my DVR - I have an ATI All-In-Wonder 9600 card, and use the Remote Wonder II to control the Multimedia Center, but in order for it to show on my TV and not my PC monitor, I have to go through all of these steps to do this. Then, when I'm all done watching what I want, I have to do a similar thing. My PC is in a closet (so separate from my TV) so getting up to do this all the time is kind of a pain. Secondly, my Remote Wonder II doesn't work too well from the couch and I know that there's a Remote Wonder II plug-in for Girder that sounds like it would solve my problems that I've been having with my Remote Wonder II remote - i would be able to get rid of it. Before I moved it into my closet, I had problems using it 8' away from the RF receiver base, and it got worse when I moved it into my closet, so I would like to use my Pronto remote to control my PC's ATI MMC software since I already have all of the IR equipment to do this (except for USB-UIRT...and the software of course).
So if anyone can tell me that I can do what I need to do, explained above, and how to do it, I would greatly appreciate it.
Thank you very much in advance.
Vinny Singh
January 22nd, 2006, 12:40 AM
Yes, it can do that I believe. I don't have an ATI card up here right now, but can you set hotkeys through the ATI Control Center? Just send the hotkey(s) via girder.
You can also use "Ultramon" which I use on my main pc (nvidia though). It can tie a hotkey to a display profile I believe, just read through some of the options I have never used, but looks very easy to incorporate. However, this is not using girder.
Since you want to use girder for more than just this, try this, Click on
Start> Run> rundll32 shell32.dll,Control_RunDLL desk.cpl,@0,3
Which should bring up the display properties window. This is where you can choose your monitor. Practice using the KEYBOARD, with TAB and right/left arrows, maybe some spacebar action, and see what is required to do what you want. Write down the sequence you want. No need to use the mouse.
Then just set an event, and the execute the actions above. It would what you want automatically via Girder.
There might be better ways, but this is what I got at 4am.
jamreb
January 22nd, 2006, 07:47 AM
Vinny,
Thanks for the reply and ideas. I had no idea you could open up the display properties as a run command. That's pretty cool. I will try what you said and try to figure out the keyboard keys instead of the mouse. I didn't even think about that.
As far as the 'Profiles' for the ATI Multimedia Center, I looked into that and it doesn't seem to be flexible enough to do what I want to do. I tried setting up a new profile, but it wasn't working too well. I wish it would because the hotkey thing would've been very simple. Maybe I'm not going about it right, I don't know.
thanks again!
(I might be posting again ;) )
Promixis
January 22nd, 2006, 09:59 AM
you can also do this from the multimonitor plugin..
see the monitor library in the help file
jamreb
January 23rd, 2006, 02:28 PM
Well I tried using keyboard shortcuts after opening up the display properties as you mentioned Vinny, but every time I perform the 'right-click' sequence (SHIFT + F10), the pop-up menu only has the 'What's This' option. It seems that you can't go between the differnet monitors as different items...that whole frame is just 1 item I think. Does anyone else have any ideas about how to do this? I was looking into using the 'Find Window' and 'Move Window' abilities of Girder to move the Display Properties to 0,0 on my desktop/screen, which would then give me constant coordinates that I could use where my 'Monitor 1' icon and 'Monitor 2' icon would be...am I correct in assuming that I can do this with Girder?
I'll have to play with Ultramon to see if I can do what I need to do with it I guess in case the above doesn't pan out. It's just that I don't like installing all kinds of separate pieces of software on my PC if I don't need to, you know?
Mike, thank you for the other idea as far as the Multimonitor plug-in, although I have no idea how to implement whatever it is I need to implement to get this to work...like I said, I haven't bought Girder yet, just downloaded the trial, and have no idea how to use LUA scripting or how to even implement it. Is it something pretty easy to learn?
thank you everyone,
Jamie
Promixis
January 23rd, 2006, 02:38 PM
Well I tried using keyboard shortcuts after opening up the display properties as you mentioned Vinny, but every time I perform the 'right-click' sequence (SHIFT + F10), the pop-up menu only has the 'What's This' option. It seems that you can't go between the differnet monitors as different items...that whole frame is just 1 item I think. Does anyone else have any ideas about how to do this? I was looking into using the 'Find Window' and 'Move Window' abilities of Girder to move the Display Properties to 0,0 on my desktop/screen, which would then give me constant coordinates that I could use where my 'Monitor 1' icon and 'Monitor 2' icon would be...am I correct in assuming that I can do this with Girder?
I'll have to play with Ultramon to see if I can do what I need to do with it I guess in case the above doesn't pan out. It's just that I don't like installing all kinds of separate pieces of software on my PC if I don't need to, you know?
Mike, thank you for the other idea as far as the Multimonitor plug-in, although I have no idea how to implement whatever it is I need to implement to get this to work...like I said, I haven't bought Girder yet, just downloaded the trial, and have no idea how to use LUA scripting or how to even implement it. Is it something pretty easy to learn?
thank you everyone,
Jamie
Jamie,
Open up the help file and have a look at the monitor library. This basically offers all the functions of ultramon. If you can outline the steps you need, I can setup the lua stuff for you.
jamreb
January 23rd, 2006, 04:53 PM
Mike,
Well thank you so much for your offer. What I need to do when I watch something recorded from my PC, is the following (and this is all just using regular Windows stuff, I haven't installed Ultramon yet due to the reason i already mentioned):
1. Like I mentioned before, I open up the display properties, and go to the settings tab.
2. I right-click on the "2" icon (my second monitor which is actually my Television), and choose 'Attached' from the pop-up menu.
3. I right-click on the "2" icon again, and choose 'Primary'.
4. I click 'OK' on the Display Properties window, and this switches my entire desktop and everything to my TV to which then I can open up my ATI Multimedia Center using the proper button on my ATI Remote Wonder II (which I'm trying to not use).
When I'm all done watching my recorded TV shows (or TV in 'TIVO' mode), I have to reverse what I just did by doing the following:
1. Open up the display properties, and go to the settings tab.
2. Right-click on the "1" icon, choose 'Primary' from the pop-up window
3. Right-click on the "2" icon, choose 'Attached' (to uncheck it) from the pop-up window to stop feeding anything to my TV
4. Then of course, click 'OK' on the Display Properties window.
So I have to go through this process every time I want to watch something I recorded on my PC or want to watch TV in TIVO mode. It is a pretty big hassle to me.
Thanks again Mike. I really appreciate your help.
blubberhoofd
January 23rd, 2006, 06:12 PM
Hi,
create a new scripting action, and copy, paste this:
local TvStatus= monitor.GetDisplayMode(2)
print (TvStatus)
if TvStatus == nil then
monitor.EnableMonitor(2, 1024, 0)
monitor.SwapPrimaryMonitor(1, 2, monitor.LEFT )
end
if TvStatus == 800 then
monitor.SwapPrimaryMonitor(2, 1, monitor.LEFT )
monitor.DisableMonitor(2)
end
Little background on how it works:
primary monitor (1) @ 1024x768 LEFT
secundary monitor (2) @ 800x600 RIGHT
change the numbers and/or LEFT to RIGHT in the script according to your setup.
hope this helps :wink:
jamreb
January 29th, 2006, 02:08 PM
Blubberhoofd,
Thank you so much for the script. I've finally got a chance to copy and paste the script into a new scripting action as you mentioned and have tested it. It's only half working for me though. It's only working for the second set of the steps that I've mentioned (the one where I disable my TV and go back to using my LCD as my primary monitor...it works great that way!). For the first one however, it does enable my TV (#2) so that I can have windows open over there, but it doesn't put my whole desktop to my TV - it's like it's only 'extending' the desktop over there. I noticed that my desktop icons and my taskbar are still on my LCD (#1). I've tried playing with the LEFT and RIGHT like you said, but it doesn't seem to help. Am I doing something wrong? I would've tried playing around with the numbers like you said, but you've got them correct - #1 is my LCD, and #2 is my TV.
blubberhoofd
January 29th, 2006, 05:59 PM
Hi,
In initial testing of different variations of the script I had successfully moved the entire desktop to my second monitor, so it's certainly possible. Unfortunately I'm unable to recreate or test the script as I temporarely use a sigle monitor setup,until the end of next week.
Anyway, play around with this line in a new scripting action, when both monitors are enabled
monitor.SwapPrimaryMonitor(1, 2, monitor.LEFT )
jamreb
February 2nd, 2006, 05:48 AM
Hello,
Well I have tried playing around with several of the lines of code that you gave me (including the one you just mentioned), like changing the 1024 number, the LEFT to RIGHT, the numbers 1,2, just to see what would happen anyway, but I still can't get it to work right. I found a temporary way to get the effects I need:
local TvStatus= monitor.GetDisplayMode(2)
print (TvStatus)
if TvStatus == nil then
monitor.EnableMonitor(2, 1024, 0)
monitor.SwapPrimaryMonitor(1, 2, monitor.LEFT )
monitor.DisableMonitor(1)
end
if TvStatus == 800 then
monitor.SwapPrimaryMonitor(2, 1, monitor.LEFT )
monitor.DisableMonitor(2)
end
This moves my desktop entirely to my TV and just shuts off my monitor, which is fine I guess. I tried it once or twice and I thought I had it working, but just last night I took the LCD away and replaced it with a small CRT (since it just sits in my closet, it's a waste of a good monitor...the LCD that is), and when I tried running that script, it seems to be acting funny. Maybe since the resolution is different, i guess I'll have to check that. But as long as I can get it to work, I guess I'll be ok. It's just that it bugs me that this is happening when it seems like it shouldn't, since I can do what I need to do manually through the display settings, you know?
thanks,
Jamie
Promixis
February 2nd, 2006, 10:56 AM
can you add this code at the end of your script
monitor.GetDesktopMonitors ()
for i,m in ipairs (monitor.Monitors) do
for k,v in pairs (m) do
print (k,v)
end
end
jamreb
February 2nd, 2006, 05:28 PM
Mike,
I added the script you wanted me to add to the end of my script, and ran it a couple of times, but I haven't noticed anything different...is it supposed to do something extra?
thanks,
jamie
Promixis
February 2nd, 2006, 05:32 PM
i was curious what the output to the lua console was - if that gives a clues to the problem...
blubberhoofd
February 2nd, 2006, 06:51 PM
hi,
This moves my desktop entirely to my TV and just shuts off my monitor, which is fine I guess. I tried it once or twice and I thought I had it working, but just last night I took the LCD away and replaced it with a small CRT (since it just sits in my closet, it's a waste of a good monitor...the LCD that is), and when I tried running that script, it seems to be acting funny. Maybe since the resolution is different,
a different resolution will certainly change the script, a little example:
this code is for a setup with monitors 1@1024x768 and 2 @800x600
local TvStatus= monitor.GetDisplayMode(2)
print (TvStatus)
if TvStatus == nil then
monitor.EnableMonitor(2, 1024, 0)
monitor.SwapPrimaryMonitor(1, 2, monitor.LEFT )
monitor.DisableMonitor(1)
end
[code]if TvStatus == 800 then[/code]
monitor.SwapPrimaryMonitor(2, 1, monitor.LEFT )
monitor.DisableMonitor(2)
end
if the first monitor is a monitor @800x600
monitor.EnableMonitor(2, 1024, 0) becomes
monitor.EnableMonitor(2, 800, 0)
if the second monitor is a monitor @1024x768
if TvStatus == 800 thenbecomes
if TvStatus == 1024 then
so change the script according to your new setup.
hope this helps :wink:
jamreb
February 3rd, 2006, 06:21 PM
Thanks blubberford,
It turns out that I have the exact setup that you mentioned in your first block of code (1@1024x768 and 2 @800x600), and my code is exactly what you mentioned in that block. I tested it a bunch of times, and it does seem to be working now (I think I must have fixed it last night and forgotten or something). Although one weird thing happens from time to time. When I change my primary display monitor back to my actual monitor (#1), it moves my desktop icons over to the right (they're normally on the left side of my desktop, and I only have a few). I don't know if it's happening when I change to my TV (I can't see my TV from my PC, and I was too lazy to walk over there to see...I guess I should do that to find out though, huh? ), or if it's happening when I change from my TV back to my monitor. I understand why it would do that if my icons made a tall column on my desktop, because when going to the lower resolution of my TV (800x600) it has to move them, but I don't think that's it because if I remember right, the bottom of my icons did clear the bottom of the desktop/taskbar area one of the times I looked yesterday. So do you know what could be causing this? Or anyone else?
P.S. I'm still not sure why MikeC had me enter those two loops at the bottom of my code...I don't see anything happening different...am I suppose to be looking at a log or something, or some kind of code editor/viewer? Like I said, I'm brand new to Girder.
thanks,
Jamie
blubberhoofd
February 4th, 2006, 06:42 AM
Hi,
repositioning of desktop icons can look inconsistent, but it usually due to do with their allignment to the invisible grid, if windows finds some are out of allignment they are automatically realligned.
as for the log output: go to the view menu and select "interactive lua console"
hope this helps :wink:
Powered by vBulletin® Version 4.1.8 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.