Advertisement
CivReborn

Fast Window Switcher By Hellbent

Nov 21st, 2017
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #SingleInstance,Force
  2. #NoEnv
  3. CoordMode,Mouse,Screen
  4. global Main_State:=1,x_Sec_Start:=210,Type_1:=1,Main_X:=0,Main_Y:=A_ScreenHeight-170,Main_Tab_X:=0,Main_Tab_Y:=A_ScreenHeight-170,BLock:=0
  5. tList:=["Reset_Button","Show_All_Button","Hide_All_Button","Clear_All_Button","Exit_Button"]
  6. Gui,1:+AlwaysOnTop -Caption  +LastFound +Owner +ToolWindow
  7. Gui,1:Color,333333,333333
  8. WinSet,TransColor,123456
  9. Gui,1:Font,cSilver s12 Q5 ,Calibri
  10. Gui,1:Add,Text,     x0      y0      w200    r1      BackgroundTrans Center Border       ,Hellbents Window Switcher
  11. Gui,1:Font,
  12. Gui,1:Add,GroupBox, x5      y20     w190    h75     Section
  13. Gui,1:Font,
  14. Gui,1:Font,cWhite s8  Q5,Segoe UI
  15. Gui,1:Add,Radio,    xs+5    ys+15                   Group Checked   vRad1               gSubmit_Type_1  ,Name
  16. Gui,1:Add,Radio,    x+10    ys+15                                   vRad2               gSubmit_Type_1  ,Class
  17. Gui,1:Add,Radio,    x+10    ys+15                                   vRad3               gSubmit_Type_1  ,ID
  18. Gui,1:Add,CheckBox, xs+5    ys+35           h17                                         gUnlock         ,Unlock
  19. Gui,1:Add,Button,   xs+70   ys+35   w50     h17     -Theme Disabled vReset_Button       gReset_Tabs     ,ReSet
  20. Gui,1:Add,Button,   x+10            w50     h17     -Theme Disabled vShow_All_Button    gShow_All       ,S++
  21. Gui,1:Add,Button,   xs+70   yp+20   w50     h17     -Theme Disabled vHide_All_Button    gHide_All       ,H++
  22. Gui,1:Add,Button,   x+10            w50     h17     -Theme Disabled vClear_All_Button   gClear_All      ,Wipe
  23. Gui,1:Add,Button,   xs+10   yp      w50     h17     -Theme Disabled vExit_Button        gGuiClose       ,Exit
  24. Loop 7  {
  25.     Gui,1:Font,cSilver s12 Q5 ,Calibri
  26.     Gui,1:Add,GroupBox, x%x_Sec_Start% y0   w140  h118 Section                                                                  ,% A_Index
  27.     Gui,1:Font,
  28.     Gui,1:Font,s8 Bold  Q5,Segoe UI
  29.     Gui,1:Add,Button,       xs+13   ys+25   w17   h17  -Theme          vAdd_New_Window_Button_%A_Index%     gAdd_New_Window     ,+
  30.     Gui,1:Add,Button,       x+7             w17   h17  -Theme Disabled vRemove_Window_Button_%A_Index%      gRemove_Window      ,-
  31.     Gui,1:Add,Button,       x+7             w17   h17  -Theme Disabled vAdd_Dock_Tab_%A_Index%              gAdd_New_Dock_Tab   ,B
  32.     Gui,1:Add,Button,       x+7             w17   h17  -Theme Disabled vHide_Dock_Tab_%A_Index%             gHide_Dock_Tab      ,H
  33.     Gui,1:Add,Button,       x+7             w17   h17  -Theme Disabled vShow_Dock_Tab_%A_Index%             gShow_Dock_Tab      ,S
  34.     Gui,1:Font,
  35.     Gui,1:Font,cSilver s10 Q5,Segoe UI
  36.     Gui,1:Add,Text,         xs+5    yp+25   w25   r1                                                                            ,Win:
  37.     Gui,1:Add,Edit,cLime    x+5             w85   r1  -E0x200 Disabled vDock_Edit_Win_%A_Index%                                 ,% Dock_Edit_Win_%A_Index%
  38.     Gui,1:Add,Text,         xs+5    yp+22   w40   r1                                                                            ,Color:
  39.     Gui,1:Add,Edit,cYellow  x+5             w85   h15 -E0x200 Disabled vDock_Edit_Color_%A_Index%           gTab_Color_Change   ,% Dock_Edit_Color_%A_Index%
  40.     Gui,1:Font,
  41.     Gui,1:Add,Button,       xs+5    yp+23   w130  h18 -Theme  Disabled vToggle_Button_%A_Index%             gToggle_Windows     ,Toggle
  42.     x_Sec_Start+=150
  43. }
  44. Gui,1:Show,x%Main_X% y%Main_Y% w1260 h120,Window Switcher v1.0.1
  45. Gui,1:Submit,NoHide
  46. return
  47. Toggle_Windows:
  48.     StringRight,Group_Number,A_GuiControl,1
  49.     GN:=Group_Number+2
  50.     gosub,%GN%GuiContextMenu
  51.     return
  52. GuiClose:
  53.     ExitApp
  54. Unlock:
  55.     BLock:=!BLock
  56.     BLock?(tv:="Enable"):(tv:="Disable")
  57.     For,k,v in tList
  58.         GuiControl,1:%tv%,% v
  59.     return
  60. Submit_Type_1:
  61.     (A_GuiControl="Rad1")?(Type_1:=1):(A_GuiControl="Rad2")?(Type_1:=2):(Type_1:=3)
  62.     return 
  63. Hide_All:
  64.     des:=3
  65.     Loop 7  {
  66.         Gui,%des%:Hide
  67.         des++
  68.     }
  69.     return
  70. Reset_Tabs:
  71.     des:=3
  72.     Loop 7  {
  73.         Gui,%des%:Destroy
  74.         des++
  75.     }
  76.     des:=1
  77.     Loop 7  {
  78.         if(Dock_Edit_Win_%des%!=""){
  79.             Create_New_Tab(des,Tab_%des%_X,Tab_%des%_Y,Dock_Edit_Color_%des%)
  80.         }
  81.         des++
  82.     }
  83.     return
  84. Clear_All:
  85.     des:=3,CLR:=1
  86.     Loop 7  {
  87.         Gui,%des%:Destroy
  88.         Dock_Edit_Win_%CLR%:="",Dock_Edit_Color_%CLR%:="",Tab_%CLR%_X:=""
  89.         GuiControl,1:,Dock_Edit_Win_%CLR%,% Dock_Edit_Win_%CLR%
  90.         GuiControl,1:,Dock_Edit_Color_%CLR%,% Dock_Edit_Color_%CLR%
  91.         Enable_Disable_Sets("Enable","Disable",Add_New_Window_Button_%CLR%
  92.         ,Remove_Window_Button_%CLR%,Add_Dock_Tab_%CLR%
  93.         ,Hide_Dock_Tab_%CLR%,Show_Dock_Tab_%CLR%
  94.         ,Dock_Edit_Win_%CLR%,Dock_Edit_Color_%CLR%,Toggle_Button_%CLR%)
  95.         des++,CLR++
  96.     }
  97.     return
  98. Show_All:
  99.     des:=3,lmk:=1
  100.     Loop 7  {
  101.         if(Tab_%lmk%_X!="")
  102.             Gui,%des%:Show
  103.         des++,lmk++
  104.     }
  105.     return
  106. Add_New_Window:
  107.     StringRight,Group_Number,A_GuiControl,1
  108.     Dock_Type_%Group_Number%:=Type_1
  109.     Add_New_Window(Dock_Edit_Win_%Group_Number%,Dock_Type_%Group_Number%)
  110.     Enable_Disable_Sets("Disable","Enable",Add_New_Window_Button_%Group_Number%
  111.     ,Remove_Window_Button_%Group_Number%,Add_Dock_Tab_%Group_Number%
  112.     ,Hide_Dock_Tab_%Group_Number%,Show_Dock_Tab_%Group_Number%
  113.     ,Dock_Edit_Win_%Group_Number%,Dock_Edit_Color_%Group_Number%,Toggle_Button_%Group_Number%)
  114.     return
  115. Remove_Window:
  116.     StringRight,Group_Number,A_GuiControl,1
  117.     Dock_Edit_Win_%Group_Number%:="",Dock_Edit_Color_%Group_Number%:="",Tab_%Group_Number%_X:=""
  118.     GuiControl,1:,Dock_Edit_Win_%Group_Number%,% Dock_Edit_Win_%Group_Number%
  119.     GuiControl,1:,Dock_Edit_Color_%Group_Number%,% Dock_Edit_Color_%Group_Number%
  120.     Enable_Disable_Sets("Enable","Disable",Add_New_Window_Button_%Group_Number%
  121.     ,Remove_Window_Button_%Group_Number%,Add_Dock_Tab_%Group_Number%
  122.     ,Hide_Dock_Tab_%Group_Number%,Show_Dock_Tab_%Group_Number%
  123.     ,Dock_Edit_Win_%Group_Number%,Dock_Edit_Color_%Group_Number%,Toggle_Button_%Group_Number%)
  124.     dt:=Group_Number+2
  125.     Gui,%dt%:Destroy
  126.     return
  127. Add_New_Dock_Tab:
  128.     StringRight,Group_Number,A_GuiControl,1
  129.     Create_New_Tab(Group_Number,Tab_%Group_Number%_X,Tab_%Group_Number%_Y,Dock_Edit_Color_%Group_Number%)
  130.     Tab_State_%Group_Number%:=1
  131.     return
  132. Hide_Dock_Tab:
  133.     StringRight,Group_Number,A_GuiControl,1
  134.     if(Tab_%Group_Number%_X!=""){
  135.         thr:=Group_Number+2
  136.         Gui,%thr%:Hide
  137.     }
  138.     return
  139. Show_Dock_Tab:
  140.     StringRight,Group_Number,A_GuiControl,1
  141.     if(Tab_%Group_Number%_X!=""){
  142.         thr:=Group_Number+2
  143.         Gui,%thr%:Show
  144.     }
  145.     return
  146. Tab_Color_Change:
  147.     StringRight,Group_Number,A_GuiControl,1
  148.     GuiControlGet,textv,,%A_GuiControl%
  149.     Dock_Edit_Color_%Group_Number%:=textv
  150.     GuiControl,% Group_Number+2 ":+c" Dock_Edit_Color_%Group_Number%,T_%Group_Number%
  151.     GuiControl,% Group_Number+2 ":+Redraw",tab_Text_%Group_Number%
  152.     return
  153. GuiContextMenu:
  154. *^RButton::
  155.     if(GetKeyState("Shift"))
  156.         Context_Matters1("1",Main_X,Main_Y)
  157.     else    {
  158.         Main_State:=!Main_State
  159.         if(Main_State){
  160.             Gui,1:Show
  161.             Gui,2:Destroy
  162.         }else   {
  163.             Gui,1:Hide
  164.             Dock_Tab_Gui()
  165.         }
  166.     }
  167.     return
  168. 2GuiContextMenu:
  169.     if(GetKeyState("Shift"))
  170.         Context_Matters1("2",Main_Tab_X,Main_Tab_Y)
  171.     else    {
  172.         Main_State:=!Main_State
  173.         if(Main_State){
  174.             Gui,1:Show
  175.             Gui,2:Destroy
  176.         }else   {
  177.             Gui,1:Hide
  178.             Dock_Tab_Gui()
  179.         }
  180.     }
  181.     return 
  182. 3GuiContextMenu:
  183. *#1::
  184.     (GetKeyState("Shift"))?Context_Matters1("3",Tab_1_X,Tab_1_Y):Context_Matters2(Tab_State_1,Dock_Edit_Win_1,Dock_Type_1)
  185.     return 
  186. 4GuiContextMenu:
  187. *#2::
  188.     (GetKeyState("Shift"))?Context_Matters1("4",Tab_2_X,Tab_2_Y):Context_Matters2(Tab_State_2,Dock_Edit_Win_2,Dock_Type_2)
  189.     return 
  190. 5GuiContextMenu:
  191. *#3::
  192.     (GetKeyState("Shift"))?Context_Matters1("5",Tab_3_X,Tab_3_Y):Context_Matters2(Tab_State_3,Dock_Edit_Win_3,Dock_Type_3)
  193.     return 
  194. 6GuiContextMenu:
  195. *#4::
  196.     (GetKeyState("Shift"))?Context_Matters1("6",Tab_4_X,Tab_4_Y):Context_Matters2(Tab_State_4,Dock_Edit_Win_4,Dock_Type_4)
  197.     return 
  198. 7GuiContextMenu:
  199. *#5::
  200.     (GetKeyState("Shift"))?Context_Matters1("7",Tab_5_X,Tab_5_Y):Context_Matters2(Tab_State_5,Dock_Edit_Win_5,Dock_Type_5)
  201.     return
  202. 8GuiContextMenu:
  203. *#6::
  204.     (GetKeyState("Shift"))?Context_Matters1("8",Tab_6_X,Tab_6_Y):Context_Matters2(Tab_State_6,Dock_Edit_Win_6,Dock_Type_6)
  205.     return 
  206. 9GuiContextMenu:
  207. *#7::
  208.     (GetKeyState("Shift"))?Context_Matters1("9",Tab_7_X,Tab_7_Y):Context_Matters2(Tab_State_7,Dock_Edit_Win_7,Dock_Type_7)
  209.     return 
  210. Context_Matters2(ByRef NuSt,ByRef TaNu,DType){
  211.     NuSt:=!NuSt
  212.     if(NuSt=1&&DType=1)
  213.         WinActivate,%TaNu%
  214.     else if(NuSt=0&&DType=1)
  215.         WinMinimize,%TaNu%
  216.     else if(NuSt=1&&DType=2)
  217.         WinActivate,ahk_class %TaNu%
  218.     else if(NuSt=0&&DType=2)
  219.         WinMinimize,ahk_class %TaNu%
  220.     else if(NuSt=1&&DType=3)
  221.         WinActivate,ahk_id %TaNu%
  222.     else if(NuSt=0&&DType=3)
  223.         WinMinimize,ahk_id %TaNu%
  224. }  
  225. Context_Matters1(ByRef WN,ByRef x1,ByRef y1){
  226.     While(!GetKeyState("LButton")){
  227.             MouseGetPos,x1,y1
  228.             Gui,%WN%:Show,x%x1% y%y1%  
  229.         }  
  230. }
  231. Create_New_Tab(Num,ByRef TX,ByRef TY,Tab_Color){
  232.     global
  233.     tn:=Num+2
  234.     Gui,%tn%:Destroy
  235.     Gui,%tn%: +AlwaysOnTop -Caption +Owner1 +Border +ToolWindow
  236.     Gui,%tn%:Add,Progress,x0 y0 w25 h15 BackGroundBlack c%Tab_Color% vT_%Num%,100
  237.     Gui,%tn%:Font,cBlack s11 Q5,Microsoft YaHei UI
  238.     Gui,%tn%:Add,Text,x0 y-3 w25  BackgroundTrans Center vtab_Text_%Num%,% Num
  239.     yy:=100+Num*16
  240.     Gui,%tn%:Show,x0 y%yy% w25 h15
  241.     Tab_%Num%_X:=0,Tab_%Num%_Y:=yy
  242. }
  243. Enable_Disable_Sets(Do1,Do2,ByRef C0,ByRef C1,ByRef C2,ByRef C3,ByRef C4,ByRef C5,ByRef C6,ByRef C7){
  244.     GuiControl,1:%Do1%,C0
  245.     Loop 7 
  246.         GuiControl,1:%Do2%,C%A_Index%
  247. }
  248. Add_New_Window(ByRef Edit_Display,ByRef Edit_Type){
  249.     i:=0,isPressed:=0
  250.     Loop    {
  251.         Tooltip, Click the target window twice to lock it.
  252.         if(!GetKeyState("LButton")&&!isPressed)
  253.             isPressed:=1
  254.         else if(GetKeyState("LButton")&&isPressed){
  255.             isPressed:=0,i++
  256.             if(i>=2){
  257.                 if(Edit_Type=2)
  258.                     WinGetClass,Edit_Display,A
  259.                 else if(Edit_Type=1)
  260.                     WinGetTitle,Edit_Display,A
  261.                 else if(Edit_Type=3)
  262.                     WinGet, Edit_Display,ID,A
  263.                 GuiControl,1:,Edit_Display,% Edit_Display
  264.                 ToolTip,
  265.                 return
  266.             }
  267.         }
  268.     }
  269. }
  270. Dock_Tab_Gui(){
  271.     Gui,2:Destroy
  272.     Gui,2:+AlwaysOnTop -Caption +Border +Owner1 +ToolWindow
  273.     Gui,2:Add,Progress,x0 y0 w25 h15 BackgroundBlack cTeal ,100
  274.     Gui,2:Font,cBlack s8 Q5 ,Cooper Black
  275.     Gui,2:Add,Text,x0 y1 w25  BackgroundTrans Center,WS
  276.     Gui,2:Show,x%Main_Tab_X% y%Main_Tab_Y% w25 h15
  277. }
  278. *^ESC::ExitApp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement