Advertisement
Vibex

Vibex: qt

Mar 4th, 2013
1,391
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;No longer hosted here on pastebin, it's just easier to host on Github. https://github.com/Vibex/qt.pi 
  2.    
  3.     /*
  4.     By Vibex !FL2K7hnbFY
  5.     If you have any suggestion or criticism you can contact me in the curret /w/ thread or in irc (My irc name is also Vibex). I also frequent #rice so you can check there too.
  6.    
  7.    
  8.     ***To Do List***
  9.     1.  I'm going to make the config file a seperate txt file and have the script read from it.
  10.     2. Ability to store window names so that they are automatically placed if you add them to a specific window list.
  11.     3. Add layouts similar to bug.n and other tilers/window managers.
  12.     4. Add Horizontal and Vertical on the fly size edits.
  13.     5. Whatever anyone else asks me to add.
  14.    
  15.    
  16.     Hotkeys
  17.     The way the hotkeys work is that all of the keys move the window around only on the monitor it is currently on. This allows for the control scheme to be condensed onto fewer keys then would otherwise be necesary. You can move a window between monitors by using Ctrl + Alt + (Numpad Home, Numpad Up, or Numpad PgUp).
  18.    
  19.     Layout 1 Tile positions.
  20.     ***xDemonessx says, "Make sure to have numlock off!"***
  21.     Ctrl + Numpad Home: Secondary window on your main monitor (Good for file browsers and secondary programs).
  22.     Ctrl + Numpad Up: Primary window on your main monitor (Good for web browsers or IDE).
  23.     Ctrl + Numpad PgUp: Fullscreen on your main monitor (Good for large programs).
  24.     Ctrl + Numpad Left: Fills up the left half of your monitor with one window.
  25.     Ctrl + Numpad Clear (Center Key): Fills up the right half of your monitor with one window.
  26.     Ctrl + Numpad Right: Fills up the top half of your monitor with one window.
  27.     Ctrl + Numpad End: Fills up the bottom half of your monitor with one window.
  28.     Ctrl + Numpad Down: Center the window on your monitor. If the window doesn't fit the monitors resolution, It will resize it.
  29.     Ctrl + Numpad PgDn: Switches to the next avaliable layout.
  30.    
  31.     Layout 2 Tile positions.
  32.     ***xDemonessx says, "Make sure to have numlock off!"***
  33.     Ctrl + Numpad Home: Secondary window on your main monitor (Good for file browsers and secondary programs).
  34.     Ctrl + Numpad Up: Primary window on your main monitor (Good for web browsers or IDE).
  35.     Ctrl + Numpad PgUp: Fullscreen on your main monitor (Good for large programs).
  36.     Ctrl + Numpad Left: Fills up the left half of your monitor with one window with the secondary window active.
  37.     Ctrl + Numpad Clear (Center Key): Fills up the right half of your monitor with one window with the secondary window active.
  38.     Ctrl + Numpad Right: Fills up the top half of your monitor with one window with the secondary window active.
  39.     Ctrl + Numpad End: Fills up the bottom half of your monitor with one window with the secondary window active.
  40.     Ctrl + Numpad Down: Center the window on your monitor. If the window doesn't fit the monitors resolution, It will resize it.
  41.     Ctrl + Numpad PgDn: Switches to the next avaliable layout.
  42.    
  43.     Layout 3 Tile positions.
  44.     ***xDemonessx says, "Make sure to have numlock off!"***
  45.     Ctrl + Numpad Home: Secondary window on your main monitor (Good for file browsers and secondary programs).
  46.     Ctrl + Numpad Up: Primary window on your main monitor (Good for web browsers or IDE).
  47.     Ctrl + Numpad PgUp: Fullscreen on your main monitor (Good for large programs).
  48.     Ctrl + Numpad Left: Places a small window at the top next to the secondary window.
  49.     Ctrl + Numpad Clear (Center Key): Places a window next to the Ctrl + Numpad Left position.
  50.     Ctrl + Numpad Right: Places a window next to the Ctrl + Numpad Clear position.
  51.     Ctrl + Numpad End: Fills up the extra space beneath the horizontally placed windows.
  52.     Ctrl + Numpad Down: Center the window on your monitor. If the window doesn't fit the monitors resolution, It will resize it.
  53.     Ctrl + Numpad PgDn: Switches to the next avaliable layout.
  54.    
  55.     Switch Monitor Keys.
  56.     ***xDemonessx says, "Make sure to have numlock off!"***
  57.     Ctrl + Alt + Numpad Home: Moves the window to full size on the left most monitor.
  58.     Ctrl + Alt + Numpad Up: Moves the window to full size on the main monitor.
  59.     Ctrl + Alt + PgUp: Moves the window to full size on the right most monitor.
  60.    
  61.     On the Fly Size Change.
  62.     Ctrl + Alt + Right:
  63.     Ctrl + Alt + Left:
  64.    
  65.     Bonus Keys
  66.     Ctrl + Alt + Numpad Clear (Center Key): Hides/Shows the titlebar of the active window.
  67.     Ctrl + Alt + Numpad Down: Swaps the currently active window with the window you are currently hovered over with your mouse.
  68.    
  69.     Sound control
  70.     Ctrl + Numpad Plus: Increase volume.
  71.     Ctrl + Numpad Subtract: Decrease volume.
  72.     Ctrl + Numpad Enter: Mute volume.
  73.     */
  74.    
  75.    
  76.     ;-------------------------------------------------------------------------------------------------------------
  77.     ;------------------------------------------------------------------------------------------------------------- 
  78.    
  79.    
  80.     ;########## begin config ##########
  81.    
  82.     ;Main Monitor, Horizontal.
  83.     hresolution1 := 1920
  84.    
  85.     ;Main Monitor, Vertical.
  86.     vresolution1 := 1080
  87.    
  88.     ;Main Monitor, Default Layout. This is not the layout number, this is the number of the layout you want the tiler to start at in the array below. For example if you have [1, 1, 1, 1, 2], layout 2 would be a value of 5.
  89.     dlayout1 := 1
  90.    
  91.     ;Main Monitor, Extra Layouts. Seperate the numbers with ",".
  92.     arrlayout1 := [2]
  93.    
  94.     ;Main Monitor, Secondary window position. Change the value to 0 if you want it on the left or 1 if you want it on the right.
  95.     secside1 := 0
  96.    
  97.    
  98.    
  99.     ;Second Monitor, Horizontal.
  100.     hresolution2 := 1920
  101.    
  102.     ;Second Monitor, Vertical.
  103.     vresolution2 := 1080
  104.    
  105.     ;Second monitor offset, If your monitor is not aligned at the top, set the number of pixels that it is off by to this value (Up is negative, Down is positive).
  106.     monitoroff2 := 0
  107.    
  108.     ;Secondary Monitor, Default Layout. If you don't have a second monitor to the left of your main monitor set this to 0. This is not the layout number, this is the number of the layout you want the tiler to start at in the array below. For example if you have [1, 1, 1, 1, 2], layout 2 would be a value of 5.
  109.     dlayout2 := 2
  110.    
  111.     ;Secondary Monitor, Extra Layouts. Seperate the numbers with ",".
  112.     arrlayout2 := [2, 3]
  113.    
  114.     ;Secondary Monitor, Secondary window position. Change the value to 0 if you want it on the left or 1 if you want it on the right.
  115.     secside2 := 0
  116.    
  117.    
  118.     ;Third Monitor, Horizontal.
  119.     hresolution3 := 1440
  120.    
  121.     ;Third Monitor, Vertical.
  122.     vresolution3 := 900
  123.    
  124.     ;Third monitor offset, If your monitor is not aligned at the top, set the number of pixels that it is off by to this value (Up is negative, Down is positive).
  125.     monitoroff3 := 180
  126.    
  127.     ;Third Monitor, Default Layout. If you don't have a third monitor to the right of your main monitor set this to 0. This is not the layout number, this is the number of the layout you want the tiler to start at in the array below. For example if you have [1, 1, 1, 1, 2], layout 2 would be a value of 5.
  128.     dlayout3 := 1
  129.    
  130.     ;Third Monitor, Extra Layouts. Seperate the numbers with ",".
  131.     arrlayout3 := [2, 3]
  132.    
  133.     ;Third Monitor, Secondary window position. Change the value to 0 if you want it on the left or 1 if you want it on the right.
  134.     secside3 := 0
  135.    
  136.    
  137.    
  138.     ;The border/boundary you want between all your windows, horizontal.
  139.     hborder := 6
  140.    
  141.     ;The border/boundary you want between all your windows, vertical.
  142.     vborder := 6
  143.    
  144.     ;This border value is an extra value you can add to the outer sides of your windows, horizontal.
  145.     hborderextra := 0
  146.    
  147.     ;This border value is an extra value you can add to the upper and lower sides of your windows, vertical.
  148.     vborderextra := 0
  149.    
  150.    
  151.    
  152.     ;The first monitors taskbar height, top.
  153.     ttaskbar1 := 15
  154.    
  155.     ;The second monitors taskbar height, top.
  156.     ttaskbar2 := 15
  157.    
  158.     ;The third monitors taskbar height, top.
  159.     ttaskbar3 := 15
  160.    
  161.     ;The first monitors taskbar height, bottom.
  162.     btaskbar1 := 0
  163.    
  164.     ;The second monitors taskbar height, bottom.
  165.     btaskbar2 := 0
  166.    
  167.     ;The third monitors taskbar height, bottom.
  168.     btaskbar3 := 0
  169.    
  170.     ;The first monitors taskbar height, right.
  171.     rtaskbar1 := 0
  172.    
  173.     ;The second monitors taskbar height, right.
  174.     rtaskbar2 := 0
  175.    
  176.     ;The third monitors taskbar height, right.
  177.     rtaskbar3 := 0
  178.    
  179.     ;The first monitors taskbar height, left.
  180.     ltaskbar1 := 0
  181.    
  182.     ;The second monitors taskbar height, left.
  183.     ltaskbar2 := 0
  184.    
  185.     ;The third monitors taskbar height, left.
  186.     ltaskbar3 := 0
  187.    
  188.    
  189.    
  190.     ;***Make these numbers even for the best results.***
  191.     ;Width of the secondary window on monitor 1 with layout 1, 2 and 3.
  192.     hwindow111 := 446
  193.    
  194.     ;Width of the tiered windows on monitor 2 with layout 2.
  195.     hwindow122and123 := 446
  196.    
  197.     ;Height of the upper tier window on monitor 2 with layout 2.
  198.     vwindow122 := 182
  199.    
  200.    
  201.    
  202.     ;Width of the secondary window on monitor 2 with layout 1, 2 and 3.
  203.     hwindow211 := 446
  204.    
  205.     ;Width of the tiered windows on monitor 2 with layout 2.
  206.     hwindow222and223 := 446
  207.    
  208.     ;Height of the upper tier window on monitor 2 with layout 2.
  209.     vwindow222 := 182
  210.    
  211.    
  212.    
  213.     ;Width of the secondary window on monitor 3 with layout 1, 2 and 3.
  214.     hwindow311 := 446
  215.    
  216.     ;Width of the tiered windows on monitor 2 with layout 2.
  217.     hwindow322and323 := 334
  218.    
  219.     ;Height of the upper tier window on monitor 2 with layout 2.
  220.     vwindow322 := 182
  221.    
  222.    
  223.    
  224.     ;Speed/Number of pixels the window moves when using the ctrl + alt + arrowkey commands
  225.     ;Speed, Horizontal
  226.     hspeed := 40
  227.  
  228.     ;Speed, Vertical
  229.     vspeed := 20
  230.    
  231.    
  232.    
  233.     ;***For sound keys to work you have to have nircmd installed.***
  234.     ;Set the value to 0 if you don't want the sound keys or 1 to enable them.
  235.     disablesound := 1
  236.    
  237.     ;The quantity that the volume will change by (1000 to 2000 are reasonable numbers).
  238.     volchange := 1000
  239.    
  240.    
  241.    
  242.     ;Set the value to 0 if you don't want to hear a beep when changing the volume or 1 to enable it.
  243.     disablebeep := 0
  244.    
  245.     ;Set the frequency of the beep (between 37 and 32767).
  246.     freq := 1000
  247.    
  248.     ;Set the duration of the beep in milliseconds.
  249.     dura := 100
  250.    
  251.     ;########## end config ##########
  252.    
  253.    
  254.     ;-------------------------------------------------------------------------------------------------------------
  255.     ;------------------------------------------------------------------------------------------------------------- 
  256.    
  257.    
  258.     ;Ignore all of these.
  259.     tasktemp := empty
  260.     widthtemp := empty
  261.     heighttemp := empty
  262.     xtemp := empty
  263.     ytemp := empty
  264.     idtemp := empty
  265.     id11 := empty
  266.     id12 := empty
  267.     id14 := empty
  268.     id15 := empty
  269.     id16 := empty
  270.     id17 := empty
  271.     id18 := empty
  272.     id21 := empty
  273.     id22 := empty
  274.     id24 := empty
  275.     id25 := empty
  276.     id26 := empty
  277.     id27 := empty
  278.     id28 := empty
  279.     id31 := empty
  280.     id32 := empty
  281.     id34 := empty
  282.     id35 := empty
  283.     id36 := empty
  284.     id37 := empty
  285.     id38 := empty
  286.     volchanged := (volchange * -1)
  287.     if (secside1 = 0)
  288.     {
  289.         secmulti1 := 1
  290.     } else {
  291.         secmulti1 := -1
  292.     }
  293.     if (secside2 = 0)
  294.     {
  295.         secmulti2 := 1
  296.     } else {
  297.         secmulti2 := -1
  298.     }
  299.     if (secside3 = 0)
  300.     {
  301.         secmulti3 := 1
  302.     } else {
  303.         secmulti3 := -1
  304.     }
  305.     layout1 := arrlayout1[dlayout1] * secmulti1
  306.     if (dlayout2 != 0)
  307.     {
  308.         layout2 := arrlayout2[dlayout2] * secmulti2
  309.     } else {
  310.         layout2 := 0
  311.     }
  312.     if (dlayout3 != 0)
  313.     {
  314.         layout3 := arrlayout3[dlayout3] * secmulti3
  315.     } else {
  316.         layout3 := 0
  317.     }
  318.     maxlayout1 := arrlayout1.GetCapacity()
  319.     maxlayout2 := arrlayout2.GetCapacity()
  320.     maxlayout3 := arrlayout3.GetCapacity()
  321.  
  322.    
  323.    
  324.     ;-------------------------------------------------------------------------------------------------------------
  325.     ;-------------------------------------------------------------------------------------------------------------
  326.    
  327.    
  328.     ;########## begin hotkeys ##########
  329.    
  330.     ;Position 7
  331.     ^NumpadHome::
  332.     {
  333.         idtemp := WinExist("A")
  334.         move7(idtemp)
  335.     return
  336.     }
  337.    
  338.     ;Position 8
  339.     ^NumpadUp::
  340.     {
  341.         idtemp := WinExist("A")
  342.         move8(idtemp)
  343.     return
  344.     }
  345.    
  346.     ;Position 9
  347.     ^NumpadPgUp::
  348.     {
  349.         idtemp := WinExist("A")
  350.         move9(idtemp)
  351.     return
  352.     }
  353.    
  354.     ;Position 4
  355.     ^NumpadLeft::
  356.     {
  357.         idtemp := WinExist("A")
  358.         move4(idtemp)
  359.     return
  360.     }
  361.  
  362.     ;Position 5
  363.     ^NumpadClear::
  364.     {
  365.         idtemp := WinExist("A")
  366.         move5(idtemp)
  367.     return
  368.     }
  369.    
  370.     ;Position 6
  371.     ^NumpadRight::
  372.     {
  373.         idtemp := WinExist("A")
  374.         move6(idtemp)
  375.     return
  376.     }
  377.  
  378.     ;Position 1
  379.     ^NumpadEnd::
  380.     {
  381.         idtemp := WinExist("A")
  382.         move1(idtemp)
  383.     return
  384.     }
  385.  
  386.     ;Position 2
  387.     ^NumpadDown::
  388.     {
  389.         idtemp := WinExist("A")
  390.         move2(idtemp)
  391.     return
  392.     }
  393.    
  394.     ;Layout Change
  395.     ^NumpadPgDn::
  396.     {
  397.         idtemp := WinExist("A")
  398.         layoutChange(idtemp)
  399.     return
  400.     }
  401.    
  402.    
  403.    
  404.     ;Change monitor keys
  405.     ;Monitor 2
  406.     !^NumpadHome::
  407.     {
  408.         WinGetTitle, tasktemp, A
  409.         mon2(tasktemp)
  410.     return
  411.     }
  412.    
  413.     ;Monitor 1
  414.     !^NumpadUp::
  415.     {
  416.         WinGetTitle, tasktemp, A
  417.         mon1(tasktemp)
  418.     return
  419.     }
  420.    
  421.     ;Monitor 3
  422.     !^NumpadPgUp::
  423.     {
  424.         WinGetTitle, tasktemp, A
  425.         mon3(tasktemp)
  426.     return
  427.     }
  428.    
  429.    
  430.     ;On the fly Size Changes
  431.     !^Right::
  432.     {
  433.         idtemp := WinExist("A")
  434.         ;moveRight(idtemp)
  435.     return
  436.     }
  437.    
  438.     !^Left::
  439.     {
  440.         idtemp := WinExist("A")
  441.         ;moveLeft(idtemp)
  442.     return
  443.     }
  444.    
  445.    
  446.    
  447.     ;Remove title and border
  448.     !^NumpadClear::
  449.     {
  450.         WinSet, Style, -0x800000, A
  451.         WinSet, Style, ^0xC00000, A  
  452.     return
  453.     }
  454.    
  455.    
  456.    
  457.     ;Swap Windows
  458.     !^NumpadDown::
  459.     {
  460.         WinGetTitle, tasktemp, A
  461.         swap(tasktemp)
  462.     return
  463.     }
  464.    
  465.    
  466.    
  467.     ;Volume Up
  468.     ^NumpadAdd::
  469.     {
  470.         if (disablesound = 1)
  471.         {
  472.             run nircmd.exe changesysvolume %volchange%
  473.             if (disablebeep = 1)
  474.             {
  475.                 SoundBeep, %freq%, %dura%
  476.             }
  477.         }
  478.     return
  479.     }
  480.    
  481.     ;Volume Down
  482.     ^NumpadSub::
  483.     {  
  484.         if (disablesound = 1)
  485.         {
  486.             run nircmd.exe changesysvolume %volchanged%
  487.             if (disablebeep = 1)
  488.             {
  489.                 SoundBeep, %freq%, %dura%
  490.             }
  491.         }
  492.     return
  493.     }
  494.    
  495.     ;Volume Mute
  496.     ^NumpadEnter::
  497.     {
  498.         if (disablesound = 1)
  499.         {
  500.             run nircmd.exe mutesysvolume 2
  501.         }
  502.     return
  503.     }
  504.    
  505.    
  506.    
  507.     ;########## end hotkeys ##########
  508.    
  509.    
  510.     ;-------------------------------------------------------------------------------------------------------------
  511.     ;-------------------------------------------------------------------------------------------------------------
  512.  
  513.    
  514.     move7(y)
  515.     {
  516.         global
  517.         WinGetTitle, x, ahk_id %y%
  518.         WinGetPos, xtemp, ytemp, widthtemp, heighttemp, %x%
  519.         if (xtemp < 0 && layout2 != 0)
  520.         {
  521.             id27 := y
  522.             if (layout2 = 1 || layout2 = 2 || layout2 = 3)
  523.             {
  524.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hborderextra + ltaskbar2),  (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hwindow211), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  525.             return
  526.             }
  527.             if (layout2 = -1 || layout2 = -2 || layout2 = -3)
  528.             {
  529.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hborderextra + ltaskbar2 + (hresolution2 - hborder - hwindow211 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2) + hborder),  (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hwindow211), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  530.             return
  531.             }
  532.             layoutError(layout2, 2)
  533.         return
  534.         }
  535.         if (xtemp > hresolution1 && layout3 != 0)
  536.         {
  537.             id37 := y
  538.             if (layout3 = 1 || layout3 = 2 || layout3 = 3)
  539.             {
  540.                 WinMove, %x%,,     (hresolution1 + hborder + hborderextra + ltaskbar3), (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hwindow311), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  541.             return
  542.             }
  543.             if (layout3 = -1 || layout3 = -2 || layout3 = -3)
  544.             {
  545.                 WinMove, %x%,,     (hresolution1 + hborder + hborderextra + ltaskbar3 + (hresolution3 - hborder - hwindow311 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3) + hborder), (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hwindow311), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  546.             return
  547.             }
  548.             layoutError(layout3, 3)
  549.         return
  550.         }
  551.         id17 := y
  552.         if (layout1 = 1 || layout1 = 2 || layout1 = 3)
  553.         {
  554.             WinMove, %x%,,     (hborder + hborderextra + ltaskbar1), (ttaskbar1 + vborder + vborderextra), (hwindow111), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  555.         return
  556.         }
  557.         if (layout1 = -1 || layout1 = -2 || layout1 = -3)
  558.         {
  559.             WinMove, %x%,,     (hborder + hborderextra + ltaskbar1 + (hresolution1 - hborder - hwindow111 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1) + hborder), (ttaskbar1 + vborder + vborderextra), (hwindow111), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  560.         return
  561.         }
  562.         layoutError(layout1, 1)
  563.     return
  564.     }
  565.    
  566.     move8(y)
  567.     {
  568.         global
  569.         WinGetTitle, x, ahk_id %y%
  570.         WinGetPos, xtemp, ytemp, widthtemp, heighttemp, %x%
  571.         if (xtemp < 0 && layout2 != 0)
  572.         {
  573.             id28 := y
  574.             if (layout2 = 1 || layout2 = 2 || layout2 = 3)
  575.             {
  576.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hwindow211 + hborder + hborderextra + ltaskbar2), (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hresolution2 - hborder - hwindow211 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  577.             return
  578.             }
  579.             if (layout1 = -1 || layout2 = -2 || layout2 = -3)
  580.             {
  581.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hborderextra + ltaskbar2), (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hresolution2 - hborder - hwindow211 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  582.             return
  583.             }
  584.             layoutError(layout2, 2)
  585.         return
  586.         }
  587.         if (xtemp > hresolution1 && layout3 != 0)
  588.         {
  589.             id38 := y
  590.             if (layout3 = 1 || layout3 = 2 || layout3 = 3)
  591.             {
  592.                 WinMove, %x%,,     (hresolution1 + hborder + hborder + hwindow311 + hborderextra + ltaskbar3),  (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hresolution3 - hborder - hwindow311 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  593.             return
  594.             }
  595.             if (layout3 = -1 || layout3 = -2 || layout3 = -3)
  596.             {
  597.                 WinMove, %x%,,     (hresolution1 + hborder + hborderextra + ltaskbar3),  (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hresolution3 - hborder - hwindow311 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  598.             return
  599.             }
  600.             layoutError(layout3, 3)
  601.         return
  602.         }
  603.         id18 := y
  604.         if (layout1 = 1 || layout1 = 2 || layout1 = 3)
  605.         {
  606.             WinMove, %x%,,     (hborder + hborder + hwindow111 + hborderextra + ltaskbar1),  (ttaskbar1 + vborder + vborderextra), (hresolution1 - hborder - hwindow111 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  607.         return
  608.         }
  609.         if (layout1 = -1 || layout1 = -2 || layout1 = -3)
  610.         {
  611.             WinMove, %x%,,     (hborder + hborderextra + ltaskbar1),  (ttaskbar1 + vborder + vborderextra), (hresolution1 - hborder - hwindow111 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  612.         return
  613.         }
  614.         layoutError(layout1, 1)
  615.     return
  616.     }
  617.    
  618.     move9(y)
  619.     {
  620.         global
  621.         WinGetTitle, x, ahk_id %y%
  622.         WinGetPos, xtemp, ytemp, widthtemp, heighttemp, %x%
  623.         if (xtemp < 0 && layout2 != 0)
  624.         {
  625.             mon2(x)
  626.         return
  627.         }
  628.         if (xtemp > hresolution1 && layout3 != 0)
  629.         {
  630.             mon3(x)
  631.         return
  632.         }
  633.         mon1(x)
  634.     return
  635.     }
  636.    
  637.     move4(y)
  638.     {
  639.         global
  640.         WinGetTitle, x, ahk_id %y%
  641.         WinGetPos, xtemp, ytemp, widthtemp, heighttemp, %x%
  642.         if (xtemp < 0  && layout2 != 0)
  643.         {
  644.             id24 := y
  645.             if (layout2 = 1 || layout2 = -1)
  646.             {
  647.                 WinMove, %x%,,     ((-1 * hresolution2) + hborder + hborderextra + ltaskbar2), (ttaskbar2 + vborder + monitoroff2 + vborderextra), ((hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hborder) / 2), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  648.             return
  649.             }
  650.             if (layout2 = 2)
  651.             {
  652.                 WinMove, %x%,,     ((-1 * hresolution2) + hborder + hborderextra + ltaskbar2 + hwindow211 + hborder), (ttaskbar2 + vborder + monitoroff2 + vborderextra), ((hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hborder - hwindow211 - hborder) / 2), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  653.             return
  654.             }
  655.             if (layout2 = 3)
  656.             {
  657.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hwindow211 + hborder + hborderextra  + ltaskbar2),  (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hwindow222and223), (vwindow222)
  658.             return
  659.             }
  660.             if (layout2 = -2)
  661.             {
  662.                 WinMove, %x%,,     ((-1 * hresolution2) + hborder + hborderextra + ltaskbar2), (ttaskbar2 + vborder + monitoroff2 + vborderextra), ((hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hborder - hwindow211 - hborder) / 2), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  663.             return
  664.             }
  665.             if (layout2 = -3)
  666.             {
  667.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hborderextra  + ltaskbar2),  (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hwindow222and223), (vwindow222)
  668.             return
  669.             }
  670.             layoutError(layout2, 2)
  671.         return
  672.         }
  673.         if (xtemp > hresolution1 && layout3 != 0)
  674.         {
  675.             id34 := y
  676.             if (layout3 = 1 || layout3 = -1)
  677.             {
  678.                 WinMove, %x%,,     (hresolution1 + hborder + hborderextra + ltaskbar3), (ttaskbar3 + vborder + monitoroff3 + vborderextra), ((hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hborder) / 2), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  679.             return
  680.             }
  681.             if (layout3 = 2)
  682.             {
  683.                 WinMove, %x%,,     (hresolution1 + hborder + hborderextra + ltaskbar3 + hwindow311 + hborder), (ttaskbar3 + vborder + monitoroff3 + vborderextra), ((hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hborder - hwindow311 - hborder) / 2), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  684.             return
  685.             }
  686.             if (layout3 = 3)
  687.             {
  688.                 WinMove, %x%,,     (hborder + hresolution1 + hwindow311 + hborder + hborderextra  + ltaskbar3),  (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hwindow322and323), (vwindow322)
  689.             return
  690.             }
  691.             if (layout3 = -2)
  692.             {
  693.                 WinMove, %x%,,     (hresolution1 + hborder + hborderextra + ltaskbar3), (ttaskbar3 + vborder + monitoroff3 + vborderextra), ((hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hborder - hwindow311 - hborder) / 2), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  694.             return
  695.             }
  696.             if (layout3 = -3)
  697.             {
  698.                 WinMove, %x%,,     (hborder + hresolution1 + hborderextra  + ltaskbar3),  (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hwindow322and323), (vwindow322)
  699.             return
  700.             }
  701.             layoutError(layout3, 3)
  702.         return
  703.         }
  704.         id14 := y
  705.         if (layout1 = 1 || layout1 = -1)
  706.             {
  707.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar1), (ttaskbar1 + vborder + vborderextra), ((hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hborder) / 2), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  708.             return
  709.             }
  710.             if (layout1 = 2)
  711.             {
  712.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar1 + hwindow111 + hborder), (ttaskbar1 + vborder + vborderextra), ((hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hborder - hwindow111 - hborder) / 2), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  713.             return
  714.             }
  715.             if (layout1 = 3)
  716.             {
  717.                 WinMove, %x%,,     (hborder + hwindow111 + hborder + hborderextra  + ltaskbar1),  (ttaskbar1 + vborder + vborderextra), (hwindow122and123), (vwindow122)
  718.             return
  719.             }
  720.             if (layout1 = -2)
  721.             {
  722.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar1), (ttaskbar1 + vborder + vborderextra), ((hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hborder - hwindow111 - hborder) / 2), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  723.             return
  724.             }
  725.             if (layout1 = -3)
  726.             {
  727.                 WinMove, %x%,,     (hborder + hborderextra  + ltaskbar1),  (ttaskbar1 + vborder + vborderextra), (hwindow122and123), (vwindow122)
  728.             return
  729.             }
  730.             layoutError(layout1, 1)
  731.     return
  732.     }
  733.    
  734.     move5(y)
  735.     {
  736.         global
  737.         WinGetTitle, x, ahk_id %y%
  738.         WinGetPos, xtemp, ytemp, widthtemp, heighttemp, %x%
  739.         if (xtemp < 0 && layout2 != 0)
  740.         {
  741.             id25 := y
  742.             if (layout2 = 1 || layout2 = -1)
  743.             {
  744.                 WinMove, %x%,,     (((hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hborder) / 2) + (-1 * hresolution2) + hborder + hborderextra + ltaskbar2 + hborder), (ttaskbar2 + vborder + monitoroff2 + vborderextra), ((hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hborder) / 2), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  745.             return
  746.             }
  747.             if (layout2 = 2)
  748.             {
  749.                 WinMove, %x%,,     (((hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hborder - hwindow211 - hborder) / 2) + (-1 * hresolution2) + hborder + hborderextra + ltaskbar2 + hborder + hwindow211 + hborder), (ttaskbar2 + vborder + monitoroff2 + vborderextra), ((hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hborder - hwindow211 - hborder) / 2), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  750.             return
  751.             }
  752.             if (layout2 = 3)
  753.             {
  754.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hwindow211 + hborder + hborderextra  + ltaskbar2 + hwindow222and223 + hborder),  (ttaskbar2 + vborder + monitoroff2 + vborderextra), ((hresolution2 - hborder - hwindow211 - hborder - hwindow222and223 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2) / 2), (vwindow222)
  755.             return
  756.             }
  757.             if (layout2 = -2)
  758.             {
  759.                 WinMove, %x%,,     (((hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hborder - hwindow211 - hborder) / 2) + (-1 * hresolution2) + hborder + hborderextra + ltaskbar2 + hborder), (ttaskbar2 + vborder + monitoroff2 + vborderextra), ((hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hborder - hwindow211 - hborder) / 2), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  760.             return
  761.             }
  762.             if (layout2 = -3)
  763.             {
  764.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hborderextra  + ltaskbar2 + hwindow222and223 + hborder),  (ttaskbar2 + vborder + monitoroff2 + vborderextra), ((hresolution2 - hborder - hwindow211 - hborder - hwindow222and223 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2) / 2), (vwindow222)
  765.             return
  766.             }
  767.             layoutError(layout2, 2)
  768.         return
  769.         }
  770.         if (xtemp > hresolution1 && layout3 != 0)
  771.         {
  772.             id35 := y
  773.             if (layout3 = 1 || layout3 = -1)
  774.             {
  775.                 WinMove, %x%,,     (((hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hborder) / 2) + hresolution1 + hborder + hborderextra + ltaskbar3 + hborder), (ttaskbar3 + vborder + monitoroff3 + vborderextra), ((hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hborder) / 2), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  776.             return
  777.             }
  778.             if (layout3 = 2)
  779.             {
  780.                 WinMove, %x%,,     (((hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hborder - hwindow311 - hborder) / 2) + hresolution1 + hborder + hborderextra + ltaskbar3 + hborder + hwindow311 + hborder), (ttaskbar3 + vborder + monitoroff3 + vborderextra), ((hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hborder - hwindow311 - hborder) / 2), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  781.             return
  782.             }
  783.             if (layout3 = 3)
  784.             {
  785.                 WinMove, %x%,,     (hborder + hresolution1 + hwindow311 + hborder + hborderextra  + ltaskbar3 + hwindow322and323 + hborder),  (ttaskbar3 + vborder + monitoroff3 + vborderextra), ((hresolution3 - hborder - hwindow311 - hborder - hwindow322and323 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3) / 2), (vwindow322)
  786.             return
  787.             }
  788.             if (layout3 = -2)
  789.             {
  790.                 WinMove, %x%,,     (((hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hborder - hwindow311 - hborder) / 2) + hresolution1 + hborder + hborderextra + ltaskbar3 + hborder), (ttaskbar3 + vborder + monitoroff3 + vborderextra), ((hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hborder - hwindow311 - hborder) / 2), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  791.             return
  792.             }
  793.             if (layout3 = -3)
  794.             {
  795.                 WinMove, %x%,,     (hborder + hresolution1 + hborderextra  + ltaskbar3 + hwindow322and323 + hborder),  (ttaskbar3 + vborder + monitoroff3 + vborderextra), ((hresolution3 - hborder - hwindow311 - hborder - hwindow322and323 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3) / 2), (vwindow322)
  796.             return
  797.             }
  798.             layoutError(layout3, 3)
  799.         return
  800.         }
  801.         id15 := y
  802.         if (layout1 = 1 || layout1 = -1)
  803.             {
  804.                 WinMove, %x%,,     (((hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hborder) / 2) + hborder + hborderextra + ltaskbar1 + hborder), (ttaskbar1 + vborder + vborderextra), ((hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hborder) / 2), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  805.             return
  806.             }
  807.             if (layout1 = 2)
  808.             {
  809.                 WinMove, %x%,,     (((hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hborder - hwindow111 - hborder) / 2) + hborder + hborderextra + ltaskbar1 + hborder + hwindow111 + hborder), (ttaskbar1 + vborder + vborderextra), ((hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hborder - hwindow111 - hborder) / 2), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  810.             return
  811.             }
  812.             if (layout1 = 3)
  813.             {
  814.                 WinMove, %x%,,     (hborder + hwindow111 + hborder + hborderextra  + ltaskbar1 + hwindow122and123 + hborder),  (ttaskbar1 + vborder + vborderextra), ((hresolution1 - hborder - hwindow111 - hborder - hwindow122and123 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1) / 2), (vwindow122)
  815.             return
  816.             }
  817.             if (layout1 = -2)
  818.             {
  819.                 WinMove, %x%,,     (((hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hborder - hwindow111 - hborder) / 2) + hborder + hborderextra + ltaskbar1 + hborder), (ttaskbar1 + vborder + vborderextra), ((hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hborder - hwindow111 - hborder) / 2), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  820.             return
  821.             }
  822.             if (layout1 = -3)
  823.             {
  824.                 WinMove, %x%,,     (hborder + hborderextra  + ltaskbar1 + hwindow122and123 + hborder),  (ttaskbar1 + vborder + vborderextra), ((hresolution1 - hborder - hwindow111 - hborder - hwindow122and123 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1) / 2), (vwindow122)
  825.             return
  826.             }
  827.             layoutError(layout1, 1)
  828.     return
  829.     }
  830.    
  831.     move6(y)
  832.     {
  833.         global
  834.         WinGetTitle, x, ahk_id %y%
  835.         WinGetPos, xtemp, ytemp, widthtemp, heighttemp, %x%
  836.         if (xtemp < 0 && layout2 != 0)
  837.         {
  838.             id26 := y
  839.             if (layout2 = 1 || layout2 = -1)
  840.             {
  841.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar2 + (-1 * hresolution2)), (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2), ((vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborder - vborderextra - vborderextra) / 2)
  842.             return
  843.             }
  844.             if (layout2 = 2)
  845.             {
  846.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar2 + (-1 * hresolution2) + hwindow211 + hborder), (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2  - hwindow211 - hborder), ((vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborder - vborderextra - vborderextra) / 2)
  847.             return
  848.             }
  849.             if (layout2 = 3)
  850.             {
  851.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hwindow211 + hborder + hborderextra  + ltaskbar2 + hwindow222and223 + hborder + ((hresolution2 - hborder - hwindow211 - hborder - hwindow222and223 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2) / 2) + hborder),  (ttaskbar2 + vborder + monitoroff2 + vborderextra),  ((hresolution2 - hborder - hwindow211 - hborder - hwindow222and223 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2) / 2), (vwindow222)
  852.             return
  853.             }
  854.             if (layout2 = -2)
  855.             {
  856.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar2 + (-1 * hresolution2)), (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2  - hwindow211 - hborder), ((vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborder - vborderextra - vborderextra) / 2)
  857.             return
  858.             }
  859.             if (layout2 = -3)
  860.             {
  861.                 WinMove, %x%,,     (hborder + (-1 * hresolution2) + hborderextra  + ltaskbar2 + hwindow222and223 + hborder + ((hresolution2 - hborder - hwindow211 - hborder - hwindow222and223 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2) / 2) + hborder),  (ttaskbar2 + vborder + monitoroff2 + vborderextra),  ((hresolution2 - hborder - hwindow211 - hborder - hwindow222and223 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2) / 2), (vwindow222)
  862.             return
  863.             }
  864.             layoutError(layout2, 2)
  865.         return
  866.         }
  867.         if (xtemp > hresolution1 && layout3 != 0)
  868.         {
  869.             id36 := y
  870.             if (layout3 = 1 || layout3 = -1)
  871.             {
  872.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar3 + hresolution1), (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3), ((vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborder - vborderextra - vborderextra) / 2)
  873.             return
  874.             }
  875.             if (layout3 = 2)
  876.             {
  877.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar3 + hresolution1 + hwindow311 + hborder), (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3  - hwindow311 - hborder), ((vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborder - vborderextra - vborderextra) / 2)
  878.             return
  879.             }
  880.             if (layout3 = 3)
  881.             {
  882.                 WinMove, %x%,,     (hborder + hresolution1 + hwindow311 + hborder + hborderextra  + ltaskbar3 + hwindow322and323 + hborder + ((hresolution3 - hborder - hwindow311 - hborder - hwindow322and323 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3) / 2) + hborder),  (ttaskbar3 + vborder + monitoroff3 + vborderextra),  ((hresolution3 - hborder - hwindow311 - hborder - hwindow322and323 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3) / 2), (vwindow322)
  883.             return
  884.             }
  885.             if (layout3 = -2)
  886.             {
  887.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar3 + hresolution1), (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3  - hwindow311 - hborder), ((vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborder - vborderextra - vborderextra) / 2)
  888.             return
  889.             }
  890.             if (layout3 = -3)
  891.             {
  892.                 WinMove, %x%,,     (hborder + hresolution1 + hborderextra  + ltaskbar3 + hwindow322and323 + hborder + ((hresolution3 - hborder - hwindow311 - hborder - hwindow322and323 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3) / 2) + hborder),  (ttaskbar3 + vborder + monitoroff3 + vborderextra),  ((hresolution3 - hborder - hwindow311 - hborder - hwindow322and323 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3) / 2), (vwindow322)
  893.             return
  894.             }
  895.             layoutError(layout3, 3)
  896.         return
  897.         }
  898.         id16 := y
  899.         if (layout1 = 1 || layout1 = -1)
  900.             {
  901.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar1), (ttaskbar1 + vborder + vborderextra), (hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1), ((vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2)
  902.             return
  903.             }
  904.             if (layout1 = 2)
  905.             {
  906.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar1 + hwindow111 + hborder), (ttaskbar1 + vborder + vborderextra), (hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1  - hwindow111 - hborder), ((vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2)
  907.             return
  908.             }
  909.             if (layout1 = 3)
  910.             {
  911.                 WinMove, %x%,,     (hborder + hwindow111 + hborder + hborderextra  + ltaskbar1 + hwindow122and123 + hborder + ((hresolution1 - hborder - hwindow111 - hborder - hwindow122and123 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1) / 2) + hborder),  (ttaskbar1 + vborder + vborderextra),  ((hresolution1 - hborder - hwindow111 - hborder - hwindow122and123 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1) / 2), (vwindow122)
  912.             return
  913.             }
  914.             if (layout1 = -2)
  915.             {
  916.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar1), (ttaskbar1 + vborder + vborderextra), (hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1  - hwindow111 - hborder), ((vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2)
  917.             return
  918.             }
  919.             if (layout1 = -3)
  920.             {
  921.                 WinMove, %x%,,     (hborder + hborderextra  + ltaskbar1 + hwindow122and123 + hborder + ((hresolution1 - hborder - hwindow111 - hborder - hwindow122and123 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1) / 2) + hborder),  (ttaskbar1 + vborder + vborderextra),  ((hresolution1 - hborder - hwindow111 - hborder - hwindow122and123 - hborder - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1) / 2), (vwindow122)
  922.             return
  923.             }
  924.             layoutError(layout1, 1)
  925.     return
  926.     }
  927.    
  928.     move1(y)
  929.     {
  930.         global
  931.         WinGetTitle, x, ahk_id %y%
  932.         WinGetPos, xtemp, ytemp, widthtemp, heighttemp, %x%
  933.         if (xtemp < 0 && layout2 != 0)
  934.         {
  935.             id21 := y
  936.             if (layout2 = 1 || layout2 = -1)
  937.             {
  938.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar2 + (-1 * hresolution2)), (((vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborder - vborderextra - vborderextra) / 2) + ttaskbar2 + vborder + monitoroff2 + vborder + vborderextra), (hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2), ((vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborder - vborderextra - vborderextra) / 2)
  939.             return
  940.             }
  941.             if (layout2 = 2)
  942.             {
  943.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar2 + (-1 * hresolution2) + hwindow211 + hborder), (((vresolution2 - ttaskbar2 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2) + ttaskbar2 + vborder + monitoroff2 + vborder + vborderextra), (hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hwindow211 - hborder), ((vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborder - vborderextra - vborderextra) / 2)
  944.             return
  945.             }
  946.             if (layout2 = 3)
  947.             {
  948.                 WinMove, %x%,,    (hborder + (-1 * hresolution2) + hwindow211 + hborder + hborderextra + ltaskbar2), (ttaskbar2 + vborder + vwindow222 + vborder + monitoroff2 + vborderextra), (hresolution2 - hborder - hwindow211 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2), (vresolution2 - ttaskbar2 - vborder - vwindow222 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  949.             return
  950.             }
  951.             if (layout2 = -2)
  952.             {
  953.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar2 + (-1 * hresolution2)), (((vresolution2 - ttaskbar2 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2) + ttaskbar2 + vborder + monitoroff2 + vborder + vborderextra), (hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2 - hwindow211 - hborder), ((vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborder - vborderextra - vborderextra) / 2)
  954.             return
  955.             }
  956.             if (layout2 = -3)
  957.             {
  958.                 WinMove, %x%,,    (hborder + (-1 * hresolution2) + hborderextra + ltaskbar2), (ttaskbar2 + vborder + vwindow222 + vborder + monitoroff2 + vborderextra), (hresolution2 - hborder - hwindow211 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2), (vresolution2 - ttaskbar2 - vborder - vwindow222 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  959.             return
  960.             }
  961.             layoutError(layout2, 2)
  962.         return
  963.         }
  964.         if (xtemp > hresolution1 && layout3 != 0)
  965.         {
  966.             id31 := y
  967.             if (layout3 = 1 || layout3 = -1)
  968.             {
  969.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar3 + hresolution1), (((vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborder - vborderextra - vborderextra) / 2) + ttaskbar3 + vborder + monitoroff3 + vborder + vborderextra), (hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3), ((vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborder - vborderextra - vborderextra) / 2)
  970.             return
  971.             }
  972.             if (layout3 = 2)
  973.             {
  974.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar3 + hresolution1 + hwindow311 + hborder), (((vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborder - vborderextra - vborderextra) / 2) + ttaskbar3 + vborder + monitoroff3 + vborder + vborderextra), (hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hwindow311 - hborder), ((vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborder - vborderextra - vborderextra) / 2)
  975.             return
  976.             }
  977.             if (layout3 = 3)
  978.             {
  979.                 WinMove, %x%,,    (hborder + hresolution1 + hwindow311 + hborder + hborderextra + ltaskbar3), (ttaskbar3 + vborder + vwindow322 + vborder + monitoroff3 + vborderextra), (hresolution3 - hborder - hwindow311 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3), (vresolution3 - ttaskbar3 - vborder - vwindow322 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  980.             return
  981.             }
  982.             if (layout3 = -2)
  983.             {
  984.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar3 + hresolution1), (((vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborder - vborderextra - vborderextra) / 2) + ttaskbar3 + vborder + monitoroff3 + vborder + vborderextra), (hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3 - hwindow311 - hborder), ((vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborder - vborderextra - vborderextra) / 2)
  985.             return
  986.             }
  987.             if (layout3 = -3)
  988.             {
  989.                 WinMove, %x%,,    (hborder + hresolution1 + hborderextra + ltaskbar3), (ttaskbar3 + vborder + vwindow322 + vborder + monitoroff3 + vborderextra), (hresolution3 - hborder - hwindow311 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3), (vresolution3 - ttaskbar3 - vborder - vwindow322 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  990.             return
  991.             }
  992.             layoutError(layout3, 3)
  993.         return
  994.         }
  995.         id11 := y
  996.         if (layout1 = 1 || layout1 = -1)
  997.             {
  998.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar1), (((vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2) + ttaskbar1 + vborder + vborder + vborderextra), (hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1), ((vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2)
  999.             return
  1000.             }
  1001.             if (layout1 = 2)
  1002.             {
  1003.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar1 + hwindow111 + hborder), (((vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2) + ttaskbar1 + vborder + vborder + vborderextra), (hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hwindow111 - hborder), ((vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2)
  1004.             return
  1005.             }
  1006.             if (layout1 = 3)
  1007.             {
  1008.                 WinMove, %x%,,    (hborder + hwindow111 + hborder + hborderextra + ltaskbar1), (ttaskbar1 + vborder + vwindow122 + vborder + vborderextra), (hresolution1 - hborder - hwindow111 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1), (vresolution1 - ttaskbar1 - vborder - vwindow122 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  1009.             return
  1010.             }
  1011.             if (layout1 = -2)
  1012.             {
  1013.                 WinMove, %x%,,     (hborder + hborderextra + ltaskbar1), (((vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2) + ttaskbar1 + vborder + vborder + vborderextra), (hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1 - hwindow111 - hborder), ((vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborder - vborderextra - vborderextra) / 2)
  1014.             return
  1015.             }
  1016.             if (layout1 = -3)
  1017.             {
  1018.                 WinMove, %x%,,    (hborder + hborderextra + ltaskbar1), (ttaskbar1 + vborder + vwindow122 + vborder + vborderextra), (hresolution1 - hborder - hwindow111 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1), (vresolution1 - ttaskbar1 - vborder - vwindow122 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  1019.             return
  1020.             }
  1021.             layoutError(layout1, 1)
  1022.     return
  1023.     }
  1024.    
  1025.     move2(y)
  1026.     {
  1027.         global
  1028.         WinGetTitle, x, ahk_id %y%
  1029.         WinGetPos, xtemp, ytemp, widthtemp, heighttemp, %x%
  1030.         if (xtemp < 0 && layout2 != 0)
  1031.         {
  1032.             id22 := y
  1033.             if (heighttemp > vresolution2)
  1034.             {          
  1035.                 if (widthtemp > hresolution2)
  1036.                 {
  1037.                     WinMove, %x%,,     (-1 * hresolution2), (monitoroff2), (hresolution2), (vresolution2)
  1038.                 return
  1039.                 }              
  1040.                 WinMove, %x%,,      ((ltaskbar2 / 2) - (rtaskbar2 / 2) + ((-1 * hresolution2) / 2)) - (widthtemp / 2), (monitoroff2), (widthtemp), (vresolution2)
  1041.             return
  1042.             }          
  1043.             if (width11 > hresolution2)
  1044.             {
  1045.                 WinMove, %x%,,     (-1 * hresolution2), (monitoroff2 + (ttaskbar2 / 2) - (btaskbar2 / 2) + (vresolution2 / 2)-(heighttemp / 2) + vborder + vborder + 2), (hresolution2), (heighttemp)
  1046.             return
  1047.             }          
  1048.             WinMove, %x%,,     ((ltaskbar2 / 2) - (rtaskbar2 / 2) + ((-1 * hresolution2) / 2))-(widthtemp / 2), (monitoroff2 + (ttaskbar2 / 2) - (btaskbar2 / 2) + (vresolution2 / 2)-(heighttemp / 2))
  1049.         return
  1050.         }
  1051.         if (xtemp > hresolution1 && layout3 != 0)
  1052.         {
  1053.             id32 := y
  1054.             if (heighttemp > vresolution3)
  1055.             {          
  1056.                 if (widthtemp > hresolution3)
  1057.                 {
  1058.                     WinMove, %x%,,     (hresolution1), (monitoroff3), (hresolution3), (vresolution3)
  1059.                 return
  1060.                 }              
  1061.                 WinMove, %x%,,      (hresolution1 + (ltaskbar3 / 2) - (rtaskbar3 / 2) + ((hresolution3) / 2)) - (widthtemp / 2), (monitoroff3), (widthtemp), (vresolution3)
  1062.             return
  1063.             }          
  1064.             if (width18 > hresolution3)
  1065.             {
  1066.                 WinMove, %x%,,     (hresolution1), (monitoroff3 + (ttaskbar3 / 2) - (btaskbar3 / 2) + (vresolution3 / 2)-(heighttemp / 2) + vborder + vborder + 2), (hresolution3), (heighttemp)
  1067.             return
  1068.             }          
  1069.             WinMove, %x%,,     (hresolution1 + (ltaskbar3 / 2) - (rtaskbar3 / 2) + ((hresolution3) / 2))-(widthtemp / 2), (monitoroff3 + (ttaskbar3 / 2) - (btaskbar3 / 2) + (vresolution3 / 2)-(heighttemp / 2))
  1070.         return
  1071.         }
  1072.         id12 := y
  1073.         if (heighttemp > vresolution1)
  1074.             {
  1075.                 if (widthtemp > hresolution1)
  1076.                 {
  1077.                     WinMove, %x%,,     0, 0, (hresolution1), (vresolution1)
  1078.                 return
  1079.                 }
  1080.                 WinMove, %x%,,      ((ltaskbar1 / 2) - (rtaskbar1 / 2) + (hresolution1 / 2) - (widthtemp / 2)), 0, (widthtemp), (vresolution1)
  1081.             return
  1082.             }
  1083.             if (width10 > hresolution1)
  1084.             {
  1085.                 WinMove, %x%,,     0, (ttaskbar1 / 2) - (btaskbar1 / 2) + (vresolution1 / 2)-(heighttemp / 2), (hresolution1), (heighttemp)
  1086.             return
  1087.             }
  1088.             WinMove, %x%,,      ((ltaskbar1 / 2) - (rtaskbar1 / 2) + (hresolution1 / 2) - (widthtemp / 2)), ((ttaskbar1 / 2) - (btaskbar1 / 2) + (vresolution1 / 2)-(heighttemp / 2))
  1089.     return
  1090.     }
  1091.    
  1092.     swap(x)
  1093.     {
  1094.         global
  1095.         WinGetPos, xtempx, ytempx, widthtempx, heighttempx, %x%
  1096.         MouseGetPos, , , idtemp
  1097.         WinGetTitle, y, ahk_id %idtemp%
  1098.         WinGetPos, xtempy, ytempy, widthtempy, heighttempy, %y%
  1099.         WinMove, %x%,,      (xtempy), (ytempy), (widthtempy), (heighttempy)
  1100.         WinMove, %y%,,      (xtempx), (ytempx), (widthtempx), (heighttempx)
  1101.         WinActivate, %y%
  1102.         WinActivate, %x%
  1103.     return
  1104.     }
  1105.    
  1106.     layoutChange(x)
  1107.     {
  1108.         global
  1109.         WinGetTitle, x, ahk_id %y%
  1110.         WinGetPos, xtemp, ytemp, widthtemp, heighttemp, %x%
  1111.         if (xtemp < 0 && layout2 != 0)
  1112.         {
  1113.             if (dlayout2 >= maxlayout2)
  1114.             {
  1115.                 dlayout2 := 1
  1116.                 layout2 := arrlayout2[dlayout2] * secmulti2
  1117.             } else {
  1118.                 dlayout2 += 1
  1119.                 layout2 := arrlayout2[dlayout2] * secmulti2
  1120.             }
  1121.         return
  1122.         }
  1123.         if (xtemp > hresolution1 && layout3 != 0)
  1124.         {
  1125.             if (dlayout3 >= maxlayout3)
  1126.             {
  1127.                 dlayout3 := 1
  1128.                 layout3 := arrlayout3[dlayout3] * secmulti3
  1129.             } else {
  1130.                 dlayout3 += 1
  1131.                 layout3 := arrlayout3[dlayout3] * secmulti3
  1132.             }
  1133.         return
  1134.         }
  1135.         if (dlayout1 >= maxlayout1)
  1136.         {
  1137.             dlayout1 := 1
  1138.             layout1 := arrlayout1[dlayout1] * secmulti1
  1139.         } else {
  1140.             dlayout1 += 1
  1141.             layout1 := arrlayout1[dlayout1] * secmulti1
  1142.         }
  1143.     return
  1144.     }
  1145.    
  1146.     mon1(x)
  1147.     {
  1148.         global
  1149.         WinMove, %x%,,     (hborder + hborderextra + ltaskbar1), (ttaskbar1 + vborder + vborderextra), (hresolution1 - hborder - hborder - hborderextra - hborderextra - ltaskbar1 - rtaskbar1), (vresolution1 - ttaskbar1 - vborder - vborder - btaskbar1 - vborderextra - vborderextra)
  1150.     return
  1151.     }
  1152.    
  1153.     mon2(x)
  1154.     {
  1155.         global
  1156.         WinMove, %x%,,     (hborder + (-1 * hresolution2) + hborderextra + ltaskbar2), (ttaskbar2 + vborder + monitoroff2 + vborderextra), (hresolution2 - hborder - hborder - hborderextra - hborderextra - ltaskbar2 - rtaskbar2), (vresolution2 - ttaskbar2 - vborder - vborder - btaskbar2 - vborderextra - vborderextra)
  1157.     return
  1158.     }
  1159.    
  1160.     mon3(x)
  1161.     {
  1162.         global
  1163.         WinMove, %x%,,     (hresolution1 + hborder + hborderextra + ltaskbar3), (ttaskbar3 + vborder + monitoroff3 + vborderextra), (hresolution3 - hborder - hborder - hborderextra - hborderextra - ltaskbar3 - rtaskbar3), (vresolution3 - ttaskbar3 - vborder - vborder - btaskbar3 - vborderextra - vborderextra)
  1164.     return
  1165.     }
  1166.    
  1167.     layoutError(x, y)
  1168.     {
  1169.         x := Abs(x)
  1170.         MsgBox , , Layout Error, Error: Layout %x%, is not in existence on monitor %y%. Please contact me, Vibex, about this bug. My info can be found in the readme.
  1171.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement