Skip to content

Instantly share code, notes, and snippets.

@morphykuffour
Created July 4, 2021 15:33
Show Gist options
  • Select an option

  • Save morphykuffour/9870ee71ea185c0629d7ce53c8b1654b to your computer and use it in GitHub Desktop.

Select an option

Save morphykuffour/9870ee71ea185c0629d7ce53c8b1654b to your computer and use it in GitHub Desktop.

Revisions

  1. morphykuffour created this gist Jul 4, 2021.
    326 changes: 326 additions & 0 deletions WindowsNotes.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,326 @@
    Windows Config // ahk config

    <> TileHelper.ahk

    ahk << EOF

    ;=-=-=-=-=-=-=-=-=-
    ; Per-App Configs
    ;=-=-=-=-=-=-=-=-=-

    programRules := [ { class: "MozillaWindowClass"
    , sizebox: 0 }
    , { class: "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}"
    , all: 0
    , redraw: 1 }
    , { class: "CabinetWClass"
    , caption: 0
    , border: 0 }
    , { class: "TabbedHostWndClass"
    , caption: 0
    , border: 0 }
    , { class: "MSBLWindowClass"
    , caption: 0
    , border: 0 }
    , { class: "µTorrent4823DF041B09"
    , caption: 0
    , border: 0 }
    , { class: "PX_WINDOW_CLASS"
    , caption: 0
    , border: 0 }
    , { class: "classFoxitReader"
    , caption: 0
    , border: 0 }
    , { class: "mintty"
    , caption: 0
    , border: 0 }
    , { class: "metapad"
    , caption: 0
    , border: 0 }
    , { class: "Chrome_WidgetWin_1"
    , caption: 1
    , border: 1 }
    , { class: "SunAwtFrame"
    , caption: 0
    , border: 0 } ]

    ;=-=-=-=-=-=-=-=-=-=-=-=-
    ; Variables & Autostarts
    ;=-=-=-=-=-=-=-=-=-=-=-=-

    monWidth = 1366
    monHeight = 768
    windowGap = 5
    AdjustOnRedraw := 0
    toggle := 1

    WinHide ahk_class Shell_TrayWnd
    WinHide Start ahk_class Button
    adjustAllWindows()
    GoSub, HookWindow
    Sleep,10000
    adjustAllWindows()
    Return

    ;=-=-=-=-=-=-=-=-=-=-
    ; Main Program Loops
    ;=-=-=-=-=-=-=-=-=-=-

    adjustWindow(_id)
    {
    global programRules
    id := _id = "A" ? "A" : "ahk_id " . _id

    for _, program in programRules
    {
    if program.class
    {
    WinGetClass, class, % id
    if (class <> program.class)
    {
    continue
    }
    }
    if program.process
    {
    WinGet, process, ProcessName, % id
    if (process <> program.process)
    {
    continue
    }
    }
    if program.title
    {
    WinGetTitle, title, % id
    if (title <> program.title)
    {
    continue
    }
    }

    for rule, value in program
    {
    if (rule = "class" or rule = "process" or rule = "title")
    continue
    else if (rule = "border")
    {
    WinSet, Style, % (value = 0 ? "-" : value = 1 ? "+" : "^") . 0x800000, % id
    }
    else if (rule = "sizebox")
    WinSet, Style, % (value = 0 ? "-" : value = 1 ? "+" : "^") . 0x40000, % id
    else if (rule = "caption")
    WinSet, Style, % (value = 0 ? "-" : value = 1 ? "+" : "^") . 0x80000, % id
    else if (rule = "all")
    WinSet, Style, % (value = 0 ? "-" : value = 1 ? "+" : "^") . 0xCF0000, % id
    else if (rule = "always_on_top")
    WinSet, AlwaysOnTop, % (value = 0 ? "OFF" : value = 1 ? "ON" : "TOGGLE"), % id
    else if (rule = "top")
    WinSet, Top,, % id
    else if (rule = "bottom")
    WinSet, Top,, % id
    else if (rule = "alt_tab")
    WinSet, ExStyle, % (value = 0 ? "-" : value = 1 ? "+" : "^") . 0x80, % id
    else if (rule = "transparent")
    WinSet, Transparent, % value, % id
    else if (rule = "transcolor")
    WinSet, TransColor, % value, % id
    else if (rule = "alt_tab")
    WinSet, ExStyle, % (value = 0 ? "-" : value = 1 ? "+" : "^") . 0x80, % id
    else if (rule = "alt_tab")
    WinSet, ExStyle, % (value = 0 ? "-" : value = 1 ? "+" : "^") . 0x80, % id
    else if (rule = "close")
    WinClose, % id
    else if (rule = "redraw")
    {
    WinGetPos, X, Y, W, H, % id
    WinMove, % id,, % X, % Y, % W, % H + 1
    WinMove, % id,, % X, % Y, % W, % H
    }
    else if (rule = "x")
    {
    WinGetPos, X, Y, W, H, % id
    WinMove, % id,, % value, % Y, % W, % H
    }
    else if (rule = "y")
    {
    WinGetPos, X, Y, W, H, % id
    WinMove, % id,, % X, % value, % W, % H
    }
    else if (rule = "w")
    {
    WinGetPos, X, Y, W, H, % id
    WinMove, % id,, % X, % Y, % value, % H
    }
    else if (rule = "h")
    {
    WinGetPos, X, Y, W, H, % id
    WinMove, % id,, % X, % Y, % W, % value
    }
    else if (rule = "rx")
    {
    WinGetPos, X, Y, W, H, % id
    WinMove, % id,, % X + value, % Y, % W, % H
    }
    else if (rule = "ry")
    {
    WinGetPos, X, Y, W, H, % id
    WinMove, % id,, % X, % Y + value, % W, % H
    }
    else if (rule = "rw")
    {
    WinGetPos, X, Y, W, H, % id
    WinMove, % id,, % X, % Y, % W + value, % H
    }
    else if (rule = "rh")
    {
    WinGetPos, X, Y, W, H, % id
    WinMove, % id,, % X, % Y, % W, % H + value
    }
    else
    OutputDebug, "Invalid rule: " . rule
    }
    }
    }

    adjustAllWindows()
    {
    WinGet, id, list,,, Program Manager
    Loop, %id%
    {
    AdjustWindow(id%A_Index%)
    }
    }

    HookWindow:
    ; New Window Hook
    Gui +LastFound
    hWnd := WinExist()

    DllCall( "RegisterShellHookWindow", UInt,hWnd )
    MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
    OnMessage( MsgNum, "ShellMessage" )

    ShellMessage(wParam,lParam) {
    Global AdjustOnRedraw
    Sleep, 10
    If (AdjustOnRedraw)
    {
    If wParam in 1,6
    adjustWindow(lParam)
    }
    Else
    If (wParam = 1)
    adjustWindow(lParam)
    }
    Return

    ;=-=-=-=-=-=-
    ; Keybinds
    ;=-=-=-=-=-=-

    ;------- tiling functions ---------

    !w::
    WinMove,A,,windowGap,windowGap, monWidth-(2*windowGap), (monHeight/2)-(1.5*windowGap)
    return

    !x::
    WinMove,A,,windowGap,(monHeight/2)+windowGap, monWidth-(2*windowGap), (monHeight/2)-(1.5*windowGap)
    return

    !s::
    WinMove,A,,windowGap,windowGap, monWidth-(2*windowGap), monHeight-(2*windowGap)
    return

    !a::
    WinMove,A,,windowGap,windowGap, (monWidth/2)-(1.5*windowGap), monHeight-(2*windowGap)
    return

    !d::
    WinMove,A,,(monWidth/2)+windowGap, windowGap, (monWidth/2)-(1.5*windowGap), monHeight-(2*windowGap)
    return

    ;------ decoration functions ------

    ; Toggle Border
    ^!b::
    WinSet, Style, ^0x800000, A
    Return

    ; Toggle Sizing Border
    ^!g::
    WinSet, Style, ^0x40000, A
    Return

    ; Toggle Caption
    ^!t::
    WinSet, Style, -0x800000, A
    WinSet, Style, ^0xC00000, A
    Return

    ; Adjust all windows
    +!r::
    adjustAllWindows()
    Return

    ; Toggle Menubar
    ^!m::
    WinSet, Style, ^0xC00000, A
    Return

    ;Toggle taskbar
    ^!Space::
    if toggle := !toggle
    {
    WinHide ahk_class Shell_TrayWnd
    WinHide Start ahk_class Button
    }
    else
    {
    WinShow ahk_class Shell_TrayWnd
    WinShow Start ahk_class Button
    }
    Return

    ;------------ shortkeys ------------

    #q::
    Send !{F4}
    return

    #h::
    WinMinimize,A
    return

    EOF

    <> searchingoogle.ahk

    ahk << EOF
    #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
    ; #Warn ; Enable warnings to assist with detecting common errors.
    SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
    SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.

    ^!s::
    Send ^c
    Send ^t
    Send ^v
    Send {Enter}
    Return

    EOF

    <> BraveScrollZoomDisable.ahk

    ahk << EOF
    #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
    ; #Warn ; Enable warnings to assist with detecting common errors.
    SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
    SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
    ^WheelDown::return

    ^WheelUp::return

    EOF