|
justice
|
 |
« on: May 21, 2007, 06:49:56 PM » |
|
Make sure you update to the latest version of DcUpdater if you have it installed. It includes fixes nessecary for PutAside to update. Sometimes you'll want to put aside what you are working on to complete an important task. But the taskbar is such a mess! So I created PutAside. Run the program and press Shift-ScrollLock and all open windows are hidden, you can then work on your tempory task. Cycle through the hidden windows with ScrollLock. Press Shift-ScrollLock again and all hidden windows are restored. You can exclude windows. PutAside is a combination between alt-tab, Show Desktop, a boss-key, and virtual desktops. I've always found virtual desktops to be too complex: I can never remember what is on the other desktops. I never used bosskeys, and with show desktop/alt-tab the taskbar is so cluttered. PutAside is then a middle way to temporarily hide windows without making them inaccessible.  Feedback welcome! [ copy or print] CHANGELOG: v1.12 * Updated DcUpdater and compiled PutAside without executable compression. (no more false positives) v1.11 * Fixed updater v1.10 * Added readme * Added DcUpdater code - check for and install updates using this terrific tool (http://www.donationcoder.com/Software/Mouser/Updater/index.html) v1.01 * Fixed preferences dialogue crash as reported by cemole and proposed fix by lanux128 Download Page
|
|
|
|
« Last Edit: May 18, 2012, 06:46:26 AM by justice »
|
Logged
|
|
|
|
|
AndyM
|
 |
« Reply #1 on: May 21, 2007, 07:11:58 PM » |
|
I'm assuming your .rar file includes a tiny .ahk file and a larger .exe file, as this is often the case when people post their utilities here.
All I care about is the 1-2k .ahk file, so if it was available separately, I'd download it without a second thought. With a slow dial-up (some of us are still stuck in the 20th century), I think twice about a 200k file.
|
|
|
|
|
Logged
|
|
|
|
|
lanux128
|
 |
« Reply #2 on: May 21, 2007, 09:50:12 PM » |
|
nice work.. it can also double up as a boss key app.. 
|
|
|
|
|
Logged
|
|
|
|
|
|
Grorgy
|
 |
« Reply #3 on: May 21, 2007, 09:55:06 PM » |
|
 ohh me oh my, it hid everything, even my cursor lol had to restart oh well
|
|
|
|
|
Logged
|
|
|
|
|
lanux128
|
 |
« Reply #4 on: May 21, 2007, 10:01:18 PM » |
|
it works fine but these two things could be added..  • an exception list so that it doesn't hide programs like LaunchBar Commander. • an enable/disable option to suspend hiding of windows until by demand.
|
|
|
|
|
Logged
|
|
|
|
|
justice
|
 |
« Reply #5 on: May 22, 2007, 01:23:51 AM » |
|
Thanks for the feedback! AnyM,sorry I've sent you the source in a PM, you can also view it below. Grorgy,thanks for that. it definately shouldn't hide the cursor  I guess you are not using windows XP like me? Could you tell me your configuration and if you have any mouse utilities running? Lanux128, I was thinking the app should really start without doing anything, with a key toggle and menu option one could enable/disable it. I'll get this done today. The exception list is a great idea and will definately get in too.
|
|
|
|
|
Logged
|
|
|
|
|
Grorgy
|
 |
« Reply #6 on: May 22, 2007, 05:34:50 AM » |
|
hi Justice, Ahhaaa, I usually have cursorxp running, (a cursor enhancement program if you dont know it). It works perfectly as soon as i disable it.  , So thats good to know, i'll just make sure i disable it b4 running your handy little app when i need it , (I do run XP with SP2 and all the patches microsoft have sent out) Cheers George
|
|
|
|
|
Logged
|
|
|
|
|
justice
|
 |
« Reply #7 on: May 22, 2007, 06:18:10 AM » |
|
Thanks that explains it. I am working on excluding applications for the next version straight from the tray menu.
|
|
|
|
|
Logged
|
|
|
|
|
justice
|
 |
« Reply #8 on: May 22, 2007, 09:28:00 AM » |
|
I don't want to release another half tested release, but additional testing would be welcome. Things like incompatible applications, missing windows in cycles etc. I am using PutAside all day now and if all is well I will release a compiled version at the end of the week: ; PutAside03 by justice
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. #SingleInstance,Force SetWinDelay,0 Dir = %A_AppData%\PutAside IniFile = settings.ini FileCreateDir, %Dir% SetWorkingDir, %Dir% version = Beta02
ExclusionList = Processes = IDs = Titles = maxItems = PutAsideEnabled = this_windowcycle = Gosub,READINI Gosub,IndexWindows OnExit, QUIT GoSub, Standby
; End of initialisation IndexWindows: Traytip,PutAside, Shift-ScrollLock`t Put aside / restore windows.`nScrollLock`t Cycle through hidden windows. WinGet, id, list,,, Program Manager ; get list of all foreground ids Loop, %id% { this_id := id%A_Index% WinGet, this_process, ProcessName, ahk_id %this_id% if NOT this_process ;exclude emptiness continue WinGetTitle, this_title, ahk_id %this_id% if NOT this_title ;exclude start menu and empty processes continue StringGetPos, pos, ExclusionList, %this_process% i +=1 Processes%i% := this_process Titles%i% := this_title IDs%i% := this_id } id = maxItems := i GoSub, TRAYMENU return
READINI: IfNotExist, %IniFile% GoSub, WRITEINI IniRead, ExclusionList, %IniFile%,ExclusionList, list return
WRITEINI: IniWrite, %ExclusionList%, %IniFile%, ExclusionList, list return
TRAYMENU: Menu,Tray,NoStandard Menu,Tray,DeleteAll If maxItems ; if windows have been indexed { Loop, %maxItems% ; add checkboxes for every window { this_process := Processes%A_Index% Menu, ToggleStatus, add, %this_process%,ToggleStatus StringGetPos, pos, ExclusionList, %this_process% if NOT ErrorLevel Menu, ToggleStatus, Uncheck, %this_process% else Menu, ToggleStatus, Check, %this_process%
} Menu, tray, add, E&nabled for.., :ToggleStatus } Menu,Tray,Add, If PutAsideEnabled Menu,Tray,Add,Restore windows,PutAside Else Menu,Tray,Add,Hide windows,PutAside Menu,Tray,Add, Menu,Tray,Add,&About,ABOUT Menu,Tray,Add,&Bugs and Feedback...,ONLINE Menu,Tray,Add,&Online Help,ONLINE Menu,Tray,Add, Menu,Tray,Add,&Exit,QUIT Return
ABOUT: Msgbox, PutAside %version% by justice`n`n`tPress SHIFT-SCROLLLOCK to hide and unhide all applications.`n`tPress SCROLLLOCK to cycle through hidden windows.`n`tExclude processes using the tray menu. return
ONLINE: Run,http://www.donationcoder.com/forum/index.php?topic=8626 return
QUIT: GoSub, ShowWindows ; before exiting restore original situation ExitApp
ToggleStatus: Menu,ToggleStatus,ToggleCheck,%A_ThisMenuItem% StringGetPos, pos, ExclusionList, %A_ThisMenuItem% if NOT ErrorLevel ; found StringReplace, ExclusionList, ExclusionList, %A_ThisMenuItem%`,,, else ExclusionList = %ExclusionList%%A_ThisMenuItem%`, Gosub, WRITEINI ;Msgbox, %ExclusionList% Return
ScrollLock:: If NOT PutAsideEnabled ;don't do anything return GoSub, CycleWindows return
CycleWindows: ;hide last shown enabled window IF ENABLED current_id := IDs%this_windowcycle% StringGetPos, pos, ExclusionList, %this_process% If ErrorLevel ; not found in exclusion list { WinHide, ahk_id %current_id% ;hide previously opened window } If this_windowcycle = %maxItems% this_windowcycle = 0 ;cycle through windows from beginning this_windowcycle++
;show next window Loop, %maxItems% { this_id := IDs%this_windowcycle% this_process := Processes%this_windowcycle% StringGetPos, pos, ExclusionList, %this_process% Traytip, PutAside, %this_windowcycle% - Restoring %this_process% WinShow, ahk_id %this_id% WinActivate, ahk_id %this_id% If ErrorLevel ; not found in exclusion list { break } } return
+ScrollLock:: GoSub, PutAside return
PutAside: If PutAsideEnabled { PutAsideEnabled = GoSub, ShowWindows } Else { PutAsideEnabled = true GoSub, HideWindows } return
ShowWindows: Loop, %maxItems% ;show all hidden windows { next_id := IDs%A_Index% WinShow, ahk_id %next_id% } return
HideWindows: Traytip,PutAside, Putting aside windows..`nUse ScrollLock to cycle through them. WinGet, id, list,,, Program Manager ; get list of all foreground ps i= 0 Loop, %id% { this_id := id%A_Index% WinGet, this_process, ProcessName, ahk_id %this_id% if NOT this_process ;exclude emptiness continue WinGetTitle, this_title, ahk_id %this_id% if NOT this_title ;exclude start menu and empty processes continue StringGetPos, pos, ExclusionList, %this_process% If ErrorLevel ; not found in exclusion list WinHide, ahk_id %this_id% i +=1 Processes%i% := this_process IDs%i% := this_id } id = maxItems := i GoSub, TRAYMENU return
Standby:
New in BETA02:* Shift-scrolllock to hide / restore window (or via tray menu) * Tray menu!! * Exclude processes via system tray  * Save these settings permanently in Application Data * Fixed several counting and implementation bugs in hiding, cycling and showing windows Todo: * Customizable hotkeys
|
|
|
|
« Last Edit: July 23, 2007, 12:44:56 PM by justice »
|
Logged
|
|
|
|
|
cthorpe
|
 |
« Reply #9 on: May 22, 2007, 09:57:46 AM » |
|
Love it!
I think it will be very useful for me as a teacher. I have a LCD projector connected to my computer, and I am often showing demonstrations, multimedia, etc. Sometimes the students get distracted by trying to guess what the programs in my taskbar do. This will let me hide whatever else I am working on, and just show them a clean desktop like they see on their screens.
Beta 2 - So far no problems.
|
|
|
|
|
Logged
|
|
|
|
|
justice
|
 |
« Reply #10 on: May 22, 2007, 10:01:30 AM » |
|
Yes I guess it's a combination between alt-tab, Show Desktop, a boss-key, and virtual desktops  I've always found virtual desktops to be too complex: I can never remember what is on the other desktops. I never used bosskeys, and with show desktop/alt-tab the taskbar is so cluttered. PutAside is then a middle way to temporarily hide windows without making them inaccessible.
|
|
|
|
|
Logged
|
|
|
|
|
alexk7110
|
 |
« Reply #11 on: May 22, 2007, 02:16:11 PM » |
|
At work I am currently using SweptAway ( found at lifehacker http://lifehacker.com/sof...t-away-windows-255055.php ), a program that automatically minimizes all windows that are not used for a specific time eg. 5mins. I find your app quite interesting in that it uses the system tray and it's on demand. I will be using it at home since my distractions are far less and since it uses a unique shortcut ( I use a flood of shortcuts and this one is definitely not taken..). Good job on a great idea and a solid build ( no obvious hick ups, works as advertised).
|
|
|
|
|
Logged
|
|
|
|
|
justice
|
 |
« Reply #12 on: May 22, 2007, 07:08:04 PM » |
|
Right I am confident that it is ready for a big version!
NEW in PutAside May 2007: * Squashed a few remaining bugs in the cycling routine * Fixed the situation where the last restored window in some cases was not activated (not topmost) * Customizable Hotkeys via a nice preferences window
Possibly in a future release: * Some kind of autoupdate mechanism.. Possibly via Software Update * Nice trayicon * bugreports via program
Download the newest version at the top of this page.
|
|
|
|
« Last Edit: May 22, 2007, 07:39:47 PM by justice »
|
Logged
|
|
|
|
|
lanux128
|
 |
« Reply #13 on: May 22, 2007, 08:36:13 PM » |
|
thanks justice for making the changes..  i don't mind PutAside hiding windows on start but only later that a toggle will be useful, saves me from closing and opening the program..  btw, where is the v1.0 download link? 
|
|
|
|
|
Logged
|
|
|
|
|
justice
|
 |
« Reply #14 on: May 23, 2007, 02:40:49 AM » |
|
I know I am not very consistant with naming scheme lol 0705 stands foor 2007 month 05 which is may 2007 which is 1.0
I'm not really keen about version numbers but I guess I've not found the ideal alternative. I'll rename the zip to putaside-1.0.zip
|
|
|
|
|
Logged
|
|
|
|
|
Grorgy
|
 |
« Reply #15 on: May 23, 2007, 03:00:25 AM » |
|
 works a treat for me now  ty
|
|
|
|
|
Logged
|
|
|
|
|
cemole
|
 |
« Reply #16 on: August 15, 2007, 05:36:20 PM » |
|
I get the following error message when I select the "Preferences" for the second time. 
|
|
|
|
|
Logged
|
|
|
|
|
justice
|
 |
« Reply #17 on: August 16, 2007, 03:40:06 AM » |
|
Thanks for that cemole, sorry to hear about it. I'll investigate.
|
|
|
|
|
Logged
|
|
|
|
|
lanux128
|
 |
« Reply #18 on: August 16, 2007, 07:36:29 AM » |
|
I get the following error message when I select the "Preferences" for the second time. looks like a problem with the GUI being invoked without the destroy command.. this command: Gui, Destoy will be able to solve the problem.. 
|
|
|
|
|
Logged
|
|
|
|
|
cemole
|
 |
« Reply #19 on: August 16, 2007, 12:22:17 PM » |
|
looks like a problem with the GUI being invoked without the destroy command.. this command: Gui, Destoy will be able to solve the problem..  Exactly, I added Gui, Destroy to line 236 and the error is gone. Thank you lanux128. Here is that section of the code: SETTINGS: Hotkey,%PutAsideHK%,Off Hotkey,%CycleHK%,Off Gui, Add, Text, x12 y12 w100 h23 , PutAside hotkey: Gui, Destroy Gui, Add, Hotkey, x132 y12 w170 h23 vPutAsideHK , %PutAsideHK% Gui, Add, Button, x202 y87 w100 h23 GSETTINGSOK Default,&OK Gui, Add, Button, x92 y87 w100 h23 GSETTINGSCANCEL,&Cancel Gui, Add, Hotkey, x132 y45 w170 h23 vCycleHK , %CycleHK% Gui, Add, Text, x12 y45 w100 h30 , Cycle hotkey: Gui, Show, x127 y87 h120 w320, PutAside Preferences Return
|
|
|
|
|
Logged
|
|
|
|
|
justice
|
 |
« Reply #20 on: August 17, 2007, 03:28:24 AM » |
|
Thanks all, I've now updated the release at the top.  (and added your names to the about section). I actually stopped using the program on vista, but now back on XP am running it again. Hopefully I'll have some time soon to spend a few more hours on this program. So if any of you are still using it and have suggestions then feel free 
|
|
|
|
« Last Edit: August 17, 2007, 04:25:12 AM by justice »
|
Logged
|
|
|
|
|
lanux128
|
 |
« Reply #21 on: August 17, 2007, 04:14:19 AM » |
|
glad to be of help, cemole and thanks for the gesture justice.. 
|
|
|
|
|
Logged
|
|
|
|
|
justice
|
 |
« Reply #22 on: August 20, 2007, 04:31:11 AM » |
|
release v1.11 - AUG 20 2007Updated PutAside to add support for mouser's DcUpdater tool. DcUpdater is a program for Microsoft Windows (95% of the code is cross platform and may be ported to linux/mac), that can check for and install updates for software. PutAside now asks DcUpdater on every start to check for new versions. I might change how often and add options to disable checking if desired. From the DcUpdater help file: Nothing happens behind your back, and you can see exactly what files are being retrieved from where, including access to a complete activity log.
· Full control over checking and installing - you can do all installation manually if you prefer, or let the program do it.
· One program to check for updates for lots of software.
· Easily visit program websites, and get more information about each program.
|
|
|
|
« Last Edit: August 20, 2007, 06:27:45 AM by justice »
|
Logged
|
|
|
|
|
mouser
|
 |
« Reply #23 on: August 20, 2007, 04:34:05 AM » |
|
|
|
|
|
|
Logged
|
|
|
|
|
Armando
|
 |
« Reply #24 on: August 20, 2007, 03:11:20 PM » |
|
I'm a bit late here but... I really like it Justice.  Great Idea, and a much much better implementation than the other "minimizing to the taskbar" (or event to the tray) solutions. I like the fact that I can use alt tab to cycle through a few important windows, and still EASILY access the others use Shift+Scroll Lk to access the other secondary ones. Cool! PS. I'm wondering if transforming it into a full fledged alt tab (errr...it would be a "shift+Scroll"!) would make it even more usefull : one would be able see all the icons/titles of the hidden windows at once, and cycling through them would be easier, maybe? instead of directly cycling through the opened windows one after the other....??? Dunno...
|
|
|
|
|
Logged
|
"I suppose it can be said that I'm an absent-minded driver. It's true that I've driven through a number of red lights on occasion, but on the other hand, I've stopped at a lot of green ones but never gotten credit for it." Glenn Gould
|
|
|
|