Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I would like to be able to type a string or a keyword (such as "news" or "report") and assign it to an open window. I can then recall this window using that keyword or string.

For example, say I have a document open in Word called report.docx in one window, a website open in Chrome with news (e.g. cnn.com), and some other third application in a third window.

I would like to have a program that I can use to open a small text window centered on the screen (similar to Launchy's) where I could type a hotstring and tell this program which window to associate the hotstring with.

Then later, at anytime, I could invoke this program again (i.e. bring up the text window) to type the hotstring again and bring back the window that I associated with the hotstring.

In the example above, I could assign the string "report" to the Word window with the document "report.docx", the hotstring "news" to the chrome window with "cnn.com", etc.

Is there any tool that does this on Windows? Perhaps using Autohotkey?

Update:

The following script allows the user to assign numbers to windows using Ctrl+number, and then recall them with Alt+number. I am hoping this script can serve as a basis for what I am aiming to do.

In particular it would be nice to have a hotkey that brings up a text box where the user can type the string or keywords when assigning or recalling windows. There should be one hotkey for assigning strings to windows, and another hotkey for recalling windows.

A particular feature of the script below is that it remembers the window size and location.

Loop 10 
{ 
   i := A_Index - 1 
   HotKey ^%i%,DynHotkey 
   HotKey !%i%, DynHotkey 
} 
Exit 

DynHotkey: 
   StringRight i, A_ThisHotKey, 1 
   StringLeft what, A_ThisHotKey, 1 
   var := var%i% 
   IfEqual what, ^ 
   { 
   WinGet var%i%, ID, A
   WinGetPos, X%i%, Y%i%, Width%i%, Height%i%, A
   } 
   ;Else IfEqual what,!, WinMinimizeAll
   Else
   { 
   XX:=X%i%
   YY:=Y%i%
   WW:=Width%i%
   HH:=Height%i%
   WinActivate ahk_id %var%
   WinMove, A,, XX, YY, WW, HH
   }
Return
share|improve this question
1  
Yes. AutoHotkey can do this effortlessly! I am busy right now, but later I can whip of a script that will do exactly what you want. :) –  iglvzx Dec 19 '11 at 22:16
    
Thanks iglvzx! That would be fantastic. I have a script in AutoHotkey that may help with this a bit too. I'll update the post with it. –  user815423426 Dec 20 '11 at 0:58

1 Answer 1

up vote 1 down vote accepted

Here is a basic AutoHotkey script for assigning names to windows and then activating them by name:

;Requires AutoHotkey_L

array := Object() ;associative array of name:window

#!n:: ;Windows+Alt+N
InputBox, name, , Set a name for the active window:
WinGet, window, ID, A
array[name] := window
Exit

#n:: ;Windows+N
InputBox, name, , Enter the name of a window to activate:
window := array[name]
WinActivate, ahk_id %window%
Exit

Obviously, it is not a complete program. It can be improved by testing if a name or window already exists in the array, etc... But functionality wise, this is as simple as it gets! :)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.