Are you tired of navigating through all of the windows in your browser? Today we will expand on some Javascript hints that Michael Coyle has recently posted on ResExcellence. With the help of REALbasic, AppleScript, and Javascript, we can clean up our web browsers in a flash.
Build the Interface
Today's project is pretty short. The interface consist solely of a window with one PushButton and a StaticText control. You will also need to build two applescripts.
Add the Code
The first step is to create your AppleScripts. This is how your REALbasic project will interact with the browser (in this case, Internet Explorer). First, create an AppleScript with the Script Editor and add this code:
on run {}
tell application "Internet Explorer"
return ListWindows
end tell
end run
Save the script, naming it listwindows.script. Then, create a new AppleScript and add this code to it:
on run {x, y}
tell application "Internet Explorer"
set s to x
do script s window y
end tell
end run
Save the second script, naming it doScript.script. You may now quit the Script Editor. Go back to your REALbasic project and add the following code to the Action event of PushButton1:
dim s,ss,w,x as string
dim i,n,wcount as integer
dim screenwidth,screenheight as integer
dim wcounter,hcounter as integer
wcounter = 0
hcounter = 0
screenwidth = screen(0).width
screenheight = screen(0).height
ss = listwindows()
wcount = countfields(ss,",")
for i=1 to wcount
w = nthField(ss,",",i)
n = val(w)
s = "javascript:void(window.moveTo("+str(wcounter)+","+str(hcounter)+"))"
x=doScript(s,n)
s = "javascript:void(window.resizeTo(300,300))"
wcounter = wcounter+300
x=doScript(s,n)
if wcounter>screenwidth then
wcounter=0
hcounter = hcounter+300
end if
next
staticText1.text = str(wcount)+" windows resized"
Conclusion
That's it for this week! When you run this project and press PushButton1, the various browser windows in Internet Explorer will "tile" across and down your screen, giving you instant access to any of them. Feel free to play with the parameters in the REALbasic code or the AppleScripts to see how it affects the tiling. You can, of course, also adapt the REALbasic project to tile in any number of manners. By changing the window to a global floating window, you can also access this window tiler while using Internet Explorer, since it will hover above IE's windows. As usual, you can download the finished project. See you next week!