'Hotkey to flip through previous active windows'

Cancelado Publicado May 6, 2006 Pagado a la entrega
Cancelado Pagado a la entrega

Code Language: C,C++, or Euphoria, or Delphi, etc. (But NOT dot-net!, nor java! ) This is a little script or app that does one thing: uses a hotkey to switch to the last active window. It uses the 3pgdn key on the Numpad at the right of the keyboard, but only when the Numlock state is off. (The regular Page Down key on the main keyboard must never be effected by this. Nor the 3 at top of keyboard.) When program is running, hitting the 3pgdn key will switch focus to the last active window, similar to alt-tab. Actually, I already coded this in AutoHotkey, but I want something fancier. The problem with my code is that if the last window isn't the one you want, then hitting the key again simply brings you back to the first window, as the first window is now the 'previous'. So it becomes an loop, always cycling only between the first and second windows, and never able to go back further, deeper. I want to be able to cycle backwards through many windows, by simply hitting the key each time, without needing a modifier. The way to code this, I think, is this: When user presses the key, the program takes a snapshot of the history of last active windows, receding backwrds, (the 'Z' order?) and preserves this in memory, for a set amount of miliseconds. Default might be 3000 milliseconds, but user could change this in the settings/options. Any window visited briefly within this 3000 milliseconds won't change the re-ordering of this history. Then, if the user hits the key a second time within that 3000 milliseconds, the focus will switch activation to what originally was the third last , or fourth last active window, etc. For example: if user first opened window A, then B, then C, [SEE BELOW, because RAC cuts everything off!!]:

## Deliverables

CONTINUED: For example: If user first opened window A, then B, then C, D,E, and F. Now user has window 'F' active in front. So he hits the hotkey (numpad's 3pgdn) and the last active app, 'E' pops up in front. He decides this isn't the window he wanted, so hits the hotkey again, and now 'D' pops up. But no, this also isn't the one he wants, so he hits the key again, and now D is in front. Hits the hotkey again, and now 'C' shows up. Ahh, that's the one wants, so he does his work in this window. After some time, he hits the hotkey again, and now is returned to 'F', because this is the last window that he had previously stayed any time with. The brief cycling visits through the other windows doesn't count, because they were inside the 3000 milisecond switching time range. Note: '3000' is for the time between each keystrole, - NOT the total time period of all the keys in the cycle. If the user waits more than 3000 between key strokes, then the cycle is broken. Unlike alt-tab, a modifer is not needed, and it cycles through the actual full-showing windows, rather than the alt-tab 'switchBar'. In other words, the purpose of this is to make it possible to switch back through past windows, with just one key. This could maybe be a .dll app. One that could be started, and stopped, closed, from one of my other scripts or apps. In that case, my other app will set an .ini file that has the number of milliseconds that the user chose to 'hold' or 'freeze' the back-switching. If the [url removed, login to view] can't find the .ini file, then it simply uses its default of 3000 milliseconds. Tell me the code language you wish to code it with. And the time-frame to complete it. UPDATE !!!!!: Clarifications needed: To publically answer one bidder's questions:''There's a point that isn't clear to me in your spec. At end of your example you are on window C and then press the hotkey to return to F. Now suppose that after working on C for some time you switch *manually* to A and work on it for a while, then press the hotkey. Do you want it to return to F, which is the last window the switching app has in it's memory that you used, or do you want it to return to C?" My answer: Return to 'C', the last window I was working on. "What if you click on F again just to close it, and then back to C? Which is now the 'previous window' - do we rescan?" My answer: If you are in C, then switch to F to close it, then you are back in C. So with F gone, the last app is now the one visited before F, in this case, E. Because the windows visited for any length of time over 3000 milliseconds were: A,B,C,D,E,F,C,F. A BETTER WAY TO EXPLAIN THIS !!!: In other words, this app will flip back through all the last visited or opened windows, except that it will ignore or skip any 'visited' for less than 3000 milliseconds. (Of course, occasionally a user may have visited a window on purpose, done something very quickly and then not be able to later quickly return here, because that quick window wasn't recognized. It's not perfect. But, that's why the .dll must have a configuration function, which will allow me to later create my own GUI to allow user to change that 3000, to make it more or less sensitive. I will do that front-end GUI myself.) - I just need the .dll function. I do NOT need an installer, nor gui, nor help files etc. (if code in VisualC, it should be version 6, NOT dot net.!!) - Hotkey is numpad Pgdn only. Works only with numlock Off. Function will NOT be effected by the keyboards other key, the mid-right 'Page Down' key! (Likewise, a 3 has no effect) In other words, pressing the normal, mid-right keyboard 'Page Down' key will have its normal operation, and never touch nor effect the 'Last App Key' function at all. - Show me in the code, with clear comments and separate, where the hotkey is, and hot to disable the hotkey from within the code. I may often need to use, instead, an external program's hotkey to activate this function, - Let me know if possible: A Liteware limitation: works only '50' times per day, unless it's Fullware. This dll will check in at least once a day to my other program, to see if it's fullware or liteware. If liteware, then it will keep track of uses until 50 is reached, then show a dialog box with text "This is a liteware version, and this function will only work 50 times per day.", after which the dll's main function won't work for the rest of that day. Thanks! Looking for repeat business. DELIVERABLES: The working app or .dll, and the code to go with it. Code must be fully documented in order to be able to modify and customize it later. 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):

a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.

b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

## Platform

windows 2000/XP/ (/98/Me)

SO Chrome Ingeniería Linux SO Mac Microsoft MySQL PHP Arquitectura de software Verificación de software UNIX Windows Desktop

Nº del proyecto: #3483876

Sobre el proyecto

5 propuestas Proyecto remoto Activo Jun 26, 2006

5 freelancers están ofertando un promedio de $624 por este trabajo

prsis

See private message.

$1275 USD en 30 días
(24 comentarios)
6.3
FORTUNEINFOCOMM

See private message.

$1190 USD en 30 días
(9 comentarios)
6.5
MarkSnegg

See private message.

$102 USD en 30 días
(51 comentarios)
6.0
knoev

See private message.

$212.5 USD en 30 días
(1 comentario)
0.0
vietquangvw

See private message.

$340 USD en 30 días
(1 comentario)
0.0