paschalism icon

WinStep.ahk

paschalism | PRO | 05/14/13 11:50:15 AM UTC | 0 ⭐ | 313 👁️ | Never ⏰ | []
Autohotkey |

5.84 KB

|

None

|

0 👍

/

0 👎

;WinStep.ahk
; Step through groups of windows using hotkeys
;Skrommel @ 2005
 
#SingleInstance,Force
SetTitleMatchMode,2
 
applicationname=WinStep
 
Gosub,READINI
Gosub,TRAYMENU
 
Loop
{
  Sleep,100
  GetKeyState,shift,LShift,P
  GetKeyState,ctrl,LCtrl,P
  GetKeyState,alt,LAlt,P
  GetKeyState,win,LWin,P
  shifts=%shift%%ctrl%%alt%%win%
  keys=
  Loop,10
  {
    key:=A_Index-1
    GetKeyState,state,%key%,P
    keys=%keys%%state%
  }
  StringGetPos,key,keys,D
  state=%shifts%%key%
  StringLen,length,state 
  If length=5
  If shifts=%add%
  {
    WinGet,%add%%key%,ID,A
    window:=%add%%key%
    WinGetTitle,title,ahk_id %window%
    SoundPlay,%addsound%
    GroupAdd,group%key%,ahk_id %window%
    TOOLTIP("Added to Group" key ": " title)
  }
  Else
  If shifts=%show%
  {
    SoundPlay,%showsound%
    GroupActivate,group%key% 
    TOOLTIP("Activating Group" key)
  }
}  
 
 
TOOLTIP(tooltip,timeout=3000)
{
  ToolTip,%tooltip%
  Sleep,1000
  SetTimer,TOOLTIPOFF,%timeout%
  Return
}
 
 
TOOLTIPOFF:
SetTimer,TOOLTIPOFF,Off
ToolTip
Return
 
 
TRAYMENU:
Menu,Tray,DeleteAll
Menu,Tray,NoStandard
Menu,Tray,Add,%applicationname%,ABOUT
Menu,Tray,Add,
Menu,Tray,Add,&Settings...,SETTINGS
Menu,Tray,Add,&About...,ABOUT
Menu,Tray,Add,E&xit,Exit
Menu,Tray,Default,%applicationname%
Menu,Tray,Tip,%applicationname%
Return
 
 
SETTINGS:
Gosub,READINI
RunWait,%applicationname%.ini
Gosub,READINI
Return
 
 
EXIT:
ExitApp
 
 
READINI:
IfNotExist,%applicationname%.ini
{
ini=`;[Settings]
ini=%ini%`n`;addsound=C:\Windows\Media\notify.wav  `;Sound to play when adding a window to a group
ini=%ini%`n`;showsound=C:\Windows\Media\ding.wav   `;Sound to play when showing a window
ini=%ini%`n`;addshift=0                            `;0=No 1=Yes  Use shift in show Hotkey?
ini=%ini%`n`;addctrl=1                             `;                ctrl
ini=%ini%`n`;addalt=0                              `;                alt
ini=%ini%`n`;addwin=0                              `;                win
ini=%ini%`n`;showshift=0                           `;0=No 1=Yes  Use shift in show Hotkey?
ini=%ini%`n`;showctrl=0                            `;                ctrl
ini=%ini%`n`;showalt=1                             `;                alt
ini=%ini%`n`;showwin=0                             `;                win
ini=%ini%`n
ini=%ini%`n[Settings]
ini=%ini%`naddsound=C:\Windows\Media\notify.wav
ini=%ini%`nshowsound=C:\Windows\Media\ding.wav
ini=%ini%`naddshift=0
ini=%ini%`naddctrl=1
ini=%ini%`naddalt=0
ini=%ini%`naddwin=0
ini=%ini%`nshowshift=0
ini=%ini%`nshowctrl=0
ini=%ini%`nshowalt=1
ini=%ini%`nshowwin=0
FileAppend,%ini%,%applicationname%.ini
ini=
}
IniRead,addsound,%applicationname%.ini,Settings,addsound
IniRead,showsound,%applicationname%.ini,Settings,C:\Windows\Media\tada.wav
 
IniRead,addshift,%applicationname%.ini,Settings,addshift
IniRead,addctrl,%applicationname%.ini,Settings,addctrl
IniRead,addalt,%applicationname%.ini,Settings,addalt
IniRead,addwin,%applicationname%.ini,Settings,addwin
IniRead,showshift,%applicationname%.ini,Settings,showshift
IniRead,showctrl,%applicationname%.ini,Settings,showctrl
IniRead,showalt,%applicationname%.ini,Settings,showalt
IniRead,showwin,%applicationname%.ini,Settings,showwin
 
If addshift=1
  addshift=D
Else
  addshift=U
If addctrl=1
  addctrl=D
Else
  addctrl=U
If addalt=1
  addalt=D
Else
  addalt=U
If addwin=1
  addwin=D
Else
  addwin=U
 
If showshift=1
  showshift=D
Else
  showshift=U
If showctrl=1
  showctrl=D
Else
  showctrl=U
If showalt=1
  showalt=D
Else
  showalt=U
If showwin=1
  showwin=D
Else
  showwin=U
 
add=%addshift%%addctrl%%addalt%%addwin%
show=%showshift%%showctrl%%showalt%%showwin%
Return
 
 
ABOUT:
Gui,99:Destroy
Gui,99:Margin,20,20
Gui,99:Add,Picture,xm Icon1,%applicationname%.exe
Gui,99:Font,Bold
Gui,99:Add,Text,x+10 yp+10,%applicationname% v1.0
Gui,99:Font
Gui,99:Add,Text,y+10,- Step through groups of windows using hotkeys
Gui,99:Add,Text,y+0,Ctrl-0: add a window to a Group0
Gui,99:Add,Text,y+0,Ctrl-1: add a window to a Group1
Gui,99:Add,Text,y+0,  ... :   ...
Gui,99:Add,Text,y+0,Alt-0 : show the next window of Group0
Gui,99:Add,Text,y+0,Alt-1 : show the next window of Group1
Gui,99:Add,Text,y+0,  ... :   ...
Gui,99:Add,Text,y+10,- To change hotkeys and sounds, choose Settings in the tray menu
 
Gui,99:Add,Picture,xm y+20 Icon5,%applicationname%.exe
Gui,99:Font,Bold
Gui,99:Add,Text,x+10 yp+10,1 Hour Software by Skrommel
Gui,99:Font
Gui,99:Add,Text,y+10,For more tools, information and donations, please visit 
Gui,99:Font,CBlue Underline
Gui,99:Add,Text,y+5 G1HOURSOFTWARE,www.1HourSoftware.com
Gui,99:Font
 
Gui,99:Add,Picture,xm y+20 Icon7,%applicationname%.exe
Gui,99:Font,Bold
Gui,99:Add,Text,x+10 yp+10,DonationCoder
Gui,99:Font
Gui,99:Add,Text,y+10,Please support the contributors at
Gui,99:Font,CBlue Underline
Gui,99:Add,Text,y+5 GDONATIONCODER,www.DonationCoder.com
Gui,99:Font
 
Gui,99:Add,Picture,xm y+20 Icon6,%applicationname%.exe
Gui,99:Font,Bold
Gui,99:Add,Text,x+10 yp+10,AutoHotkey
Gui,99:Font
Gui,99:Add,Text,y+10,This tool was made using the powerful
Gui,99:Font,CBlue Underline
Gui,99:Add,Text,y+5 GAUTOHOTKEY,www.AutoHotkey.com
Gui,99:Font
 
Gui,99:Show,,%applicationname% About
hCurs:=DllCall("LoadCursor","UInt",NULL,"Int",32649,"UInt") ;IDC_HAND
OnMessage(0x200,"WM_MOUSEMOVE") 
Return
 
1HOURSOFTWARE:
  Run,http://www.1hoursoftware.com,,UseErrorLevel
Return
 
DONATIONCODER:
  Run,http://www.donationcoder.com,,UseErrorLevel
Return
 
AUTOHOTKEY:
  Run,http://www.autohotkey.com,,UseErrorLevel
Return
 
99GuiClose:
  Gui,99:Destroy
  OnMessage(0x200,"")
  DllCall("DestroyCursor","Uint",hCur)
Return
 
WM_MOUSEMOVE(wParam,lParam)
{
  Global hCurs
  MouseGetPos,,,,ctrl
  If ctrl in Static14,Static18,Static22
    DllCall("SetCursor","UInt",hCurs)
  Return
}
Return

Comments