Latest commit

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

wwTiling

Purpose

Adds mouse controls to move and resize windows, while snapping to a preset grid or nearby windows.

Usage

If you wish to use a grid, create one.

; V[n]:= [ x-coord, y0-index, y1-index, corner?, resize-only?]
V := []
V[1] := [ ScreenX, 1, 3, 1, 0 ]
V[2] := [ ScreenX+ScreenW/2, 1, 3, 0, 0 ]
V[3] := [ ScreenX+ScreenW, 1, 3, 1, 0 ]
; H[n]:= [ y-coord, x0-index, x1-index, corner?, resize-only?]
H := []
H[1] := [ ScreenY, 1, 3, 1, 0 ]
H[2] := [ ScreenY+(ScreenH-32)/2, 2, 3, 0, 0 ]
H[3] := [ ScreenY+ScreenH-32, 1, 3, 1, 0 ]

Vertical lines (V[n]) have a y0-index and y1-index, which point to the index of the horizontal line that their top and bottom points touch, respectively.
For example, in this case, V[1] is a line that is located at ScreenX (which is the left edge of your screens), which starts from the y-coord of H[1] (ScreenY) and ends at the y-coord of H[3] (ScreenY + ScreenH - 32).

The same is true for horizontal lines, except the x and y coordinates are inverted.

Corner means that the line is at an edge and windows snapped against this edge will have a margin of MarginWidth instead of MarginWidthHalf.

Resize-only means that windows will not be snapped against this edge unless it is in resize mode.

Next, the settings should be tweaked.

; Pixel Values
MarginWidth := 8 ; Margin (px)
MarginWidthHalf := MarginWidth//2 ; Margin of edges (px)
SnapDistance := 16 ; Minimum distance from lines before snapping (px)
MinimumMovement := 10 ; Minimum distance before starting to move/resize window (px); Toggles
SnapToGrid := True ; Snap to grid?
SnapToWindows := True ; Snap to surrounding windows?
MoveToTopToMaximize := True ; Maximize the window if it is moved to the top of the screen?
TopPos := 0 ; Y-Coord of the top of the screen
MoveToBottomToClose := True ; Minimize the window if it is moved to the bottom of the screen?
BottomPos := 1079 ; Y-Coord of the bottom of the screen; Grid and preview
VisibleGrid := False ; Display the grid?
ColorGrid := 0x8B998A ; Colour of the grid
TransparencyGrid := 128 ; Transparency of the grid
ColorPreview := 0xA2B2A1 ; Colour of the preview
TransparencyPreview := 128 ; Transparency of the preview

The hotkeys can also be changed

HotkeyMove := "MButton" ; Leave blank to disable
HotkeyResize := "RButton" ; Leave blank to disable
HotkeyMoveResize := "LButton" ; Leave blank to disable
HotkeyModifier := ">!" ; HotkeyModifier is prefixed to each hotkey, but can be released once the hotkey has activated.

wwMenu

Purpose

Adds a menu that open paths in Windows explorer.

The menu opens when you press the "menu" key (usually beside the right Win button) with your mouse over certain windows.
If your mouse is over the desktop, a new explorer window is launched.
If your mouse is over an explorer window, it is directed to the path.
If your mouse is over an open file dialog, it will try to direct it to the path (you need to put your mouse over the file name input box).

wwBorder

Purpose

Automatically style windows based on rules.

Usage

Conditions (all must be met for the rule to apply):

class: Matches window with this class
process: Matches window from this process
Title: Matches window with this title

Rules:

Unless otherwise specified, 0 is to disable, 1 is to enable, any other value will toggle it.
border: border?
sizebox: resize border?
caption: titlebar?
all: everything?
always_on_top: always on top?
top: any value will move the window to top
bottom: any value will move the window to bottom
alt_tab: hide from alt-tab menu?
transparent: value of transparency (0-255, or OFF)
transcolor: hex-value of transparent colour (without the #)
close: any value will close the window
maximize: any value will maximize the window
redraw: any value will cause the window to redraw (by resizing it)
x: value of x-pos to move window to
y: value of y-pos to move window to
w: width of window to set to
h: height of window to set to
rx: relative value of x-pos to move window to
ry: relative value of y-pos to move window to
rw: relative width of window to set to
rh: relative height of window to set to

Examples

programRules := [ { class: "MozillaWindowClass" ; Firefox
, sizebox: 0 }
, { class: "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}" ; Foobar2000
, all: 0
, redraw: 1 }
, { class: "CabinetWClass" ; Explorer
, caption: 0
, border: 0 }
, { title: "Steam - Update News" ; Steam Update News
, close: 1 } ]

wwRunner

Purpose

Makes it easier to create hotkeys to switch to or run programs.

Usage

Window titles accept regex.
Functions:

Run(path, workingdir) ; Returns false if file not found.Send(key) ; Returns true always.
Show(title) ; Returns true if switch successful or already active, false otherwise (if window not found).
ShowNext(title) ; Returns true if switch successful, false otherwise (if window not found or already active).

Examples

; Switch to firefox if it exists and is not already active, otherwise run firefox.!f:: ShowNext("ahk_class MozillaWindowClass") or Run("C:\Program Files (x86)\Aurora\firefox.exe")
; Switch to foobar2000 if it exists, otherwise run foobar2000.!a:: Show("ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}") or Run("C:\Program Files (x86)\foobar2000\foobar2000.exe")

wwInfo

Purpose

Adds an eyedropper and pixel-ruler.

wwInput

Purpose

Adds hotstrings for easier unicode input.
All hotkeys are in the form of "`<text>"

Example

`alpha -> α
`mult -> ×
`:a -> ä
`$Y -> ¥

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

wwTiling

Purpose

Adds mouse controls to move and resize windows, while snapping to a preset grid or nearby windows.

Usage

If you wish to use a grid, create one.

; V[n]:= [ x-coord, y0-index, y1-index, corner?, resize-only?]
V := []
V[1] := [ ScreenX, 1, 3, 1, 0 ]
V[2] := [ ScreenX+ScreenW/2, 1, 3, 0, 0 ]
V[3] := [ ScreenX+ScreenW, 1, 3, 1, 0 ]
; H[n]:= [ y-coord, x0-index, x1-index, corner?, resize-only?]
H := []
H[1] := [ ScreenY, 1, 3, 1, 0 ]
H[2] := [ ScreenY+(ScreenH-32)/2, 2, 3, 0, 0 ]
H[3] := [ ScreenY+ScreenH-32, 1, 3, 1, 0 ]

Vertical lines (V[n]) have a y0-index and y1-index, which point to the index of the horizontal line that their top and bottom points touch, respectively.
For example, in this case, V[1] is a line that is located at ScreenX (which is the left edge of your screens), which starts from the y-coord of H[1] (ScreenY) and ends at the y-coord of H[3] (ScreenY + ScreenH - 32).

The same is true for horizontal lines, except the x and y coordinates are inverted.

Corner means that the line is at an edge and windows snapped against this edge will have a margin of MarginWidth instead of MarginWidthHalf.

Resize-only means that windows will not be snapped against this edge unless it is in resize mode.

Next, the settings should be tweaked.

; Pixel Values
MarginWidth := 8 ; Margin (px)
MarginWidthHalf := MarginWidth//2 ; Margin of edges (px)
SnapDistance := 16 ; Minimum distance from lines before snapping (px)
MinimumMovement := 10 ; Minimum distance before starting to move/resize window (px); Toggles
SnapToGrid := True ; Snap to grid?
SnapToWindows := True ; Snap to surrounding windows?
MoveToTopToMaximize := True ; Maximize the window if it is moved to the top of the screen?
TopPos := 0 ; Y-Coord of the top of the screen
MoveToBottomToClose := True ; Minimize the window if it is moved to the bottom of the screen?
BottomPos := 1079 ; Y-Coord of the bottom of the screen; Grid and preview
VisibleGrid := False ; Display the grid?
ColorGrid := 0x8B998A ; Colour of the grid
TransparencyGrid := 128 ; Transparency of the grid
ColorPreview := 0xA2B2A1 ; Colour of the preview
TransparencyPreview := 128 ; Transparency of the preview

The hotkeys can also be changed

HotkeyMove := "MButton" ; Leave blank to disable
HotkeyResize := "RButton" ; Leave blank to disable
HotkeyMoveResize := "LButton" ; Leave blank to disable
HotkeyModifier := ">!" ; HotkeyModifier is prefixed to each hotkey, but can be released once the hotkey has activated.

wwMenu

Purpose

Adds a menu that open paths in Windows explorer.

The menu opens when you press the "menu" key (usually beside the right Win button) with your mouse over certain windows.
If your mouse is over the desktop, a new explorer window is launched.
If your mouse is over an explorer window, it is directed to the path.
If your mouse is over an open file dialog, it will try to direct it to the path (you need to put your mouse over the file name input box).

wwBorder

Purpose

Automatically style windows based on rules.

Usage

Conditions (all must be met for the rule to apply):

class: Matches window with this class
process: Matches window from this process
Title: Matches window with this title

Rules:

Unless otherwise specified, 0 is to disable, 1 is to enable, any other value will toggle it.
border: border?
sizebox: resize border?
caption: titlebar?
all: everything?
always_on_top: always on top?
top: any value will move the window to top
bottom: any value will move the window to bottom
alt_tab: hide from alt-tab menu?
transparent: value of transparency (0-255, or OFF)
transcolor: hex-value of transparent colour (without the #)
close: any value will close the window
maximize: any value will maximize the window
redraw: any value will cause the window to redraw (by resizing it)
x: value of x-pos to move window to
y: value of y-pos to move window to
w: width of window to set to
h: height of window to set to
rx: relative value of x-pos to move window to
ry: relative value of y-pos to move window to
rw: relative width of window to set to
rh: relative height of window to set to

Examples

programRules := [ { class: "MozillaWindowClass" ; Firefox
, sizebox: 0 }
, { class: "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}" ; Foobar2000
, all: 0
, redraw: 1 }
, { class: "CabinetWClass" ; Explorer
, caption: 0
, border: 0 }
, { title: "Steam - Update News" ; Steam Update News
, close: 1 } ]

wwRunner

Purpose

Makes it easier to create hotkeys to switch to or run programs.

Usage

Window titles accept regex.
Functions:

Run(path, workingdir) ; Returns false if file not found.Send(key) ; Returns true always.
Show(title) ; Returns true if switch successful or already active, false otherwise (if window not found).
ShowNext(title) ; Returns true if switch successful, false otherwise (if window not found or already active).

Examples

; Switch to firefox if it exists and is not already active, otherwise run firefox.!f:: ShowNext("ahk_class MozillaWindowClass") or Run("C:\Program Files (x86)\Aurora\firefox.exe")
; Switch to foobar2000 if it exists, otherwise run foobar2000.!a:: Show("ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}") or Run("C:\Program Files (x86)\foobar2000\foobar2000.exe")

wwInfo

Purpose

Adds an eyedropper and pixel-ruler.

wwInput

Purpose

Adds hotstrings for easier unicode input.
All hotkeys are in the form of "`<text>"

Example

`alpha -> α
`mult -> ×
`:a -> ä
`$Y -> ¥

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

wwTiling

Purpose

Adds mouse controls to move and resize windows, while snapping to a preset grid or nearby windows.

Usage

If you wish to use a grid, create one.

; V[n]:= [ x-coord, y0-index, y1-index, corner?, resize-only?]
V := []
V[1] := [ ScreenX, 1, 3, 1, 0 ]
V[2] := [ ScreenX+ScreenW/2, 1, 3, 0, 0 ]
V[3] := [ ScreenX+ScreenW, 1, 3, 1, 0 ]
; H[n]:= [ y-coord, x0-index, x1-index, corner?, resize-only?]
H := []
H[1] := [ ScreenY, 1, 3, 1, 0 ]
H[2] := [ ScreenY+(ScreenH-32)/2, 2, 3, 0, 0 ]
H[3] := [ ScreenY+ScreenH-32, 1, 3, 1, 0 ]

Vertical lines (V[n]) have a y0-index and y1-index, which point to the index of the horizontal line that their top and bottom points touch, respectively.
For example, in this case, V[1] is a line that is located at ScreenX (which is the left edge of your screens), which starts from the y-coord of H[1] (ScreenY) and ends at the y-coord of H[3] (ScreenY + ScreenH - 32).

The same is true for horizontal lines, except the x and y coordinates are inverted.

Corner means that the line is at an edge and windows snapped against this edge will have a margin of MarginWidth instead of MarginWidthHalf.

Resize-only means that windows will not be snapped against this edge unless it is in resize mode.

Next, the settings should be tweaked.

; Pixel Values
MarginWidth := 8 ; Margin (px)
MarginWidthHalf := MarginWidth//2 ; Margin of edges (px)
SnapDistance := 16 ; Minimum distance from lines before snapping (px)
MinimumMovement := 10 ; Minimum distance before starting to move/resize window (px); Toggles
SnapToGrid := True ; Snap to grid?
SnapToWindows := True ; Snap to surrounding windows?
MoveToTopToMaximize := True ; Maximize the window if it is moved to the top of the screen?
TopPos := 0 ; Y-Coord of the top of the screen
MoveToBottomToClose := True ; Minimize the window if it is moved to the bottom of the screen?
BottomPos := 1079 ; Y-Coord of the bottom of the screen; Grid and preview
VisibleGrid := False ; Display the grid?
ColorGrid := 0x8B998A ; Colour of the grid
TransparencyGrid := 128 ; Transparency of the grid
ColorPreview := 0xA2B2A1 ; Colour of the preview
TransparencyPreview := 128 ; Transparency of the preview

The hotkeys can also be changed

HotkeyMove := "MButton" ; Leave blank to disable
HotkeyResize := "RButton" ; Leave blank to disable
HotkeyMoveResize := "LButton" ; Leave blank to disable
HotkeyModifier := ">!" ; HotkeyModifier is prefixed to each hotkey, but can be released once the hotkey has activated.

wwMenu

Purpose

Adds a menu that open paths in Windows explorer.

The menu opens when you press the "menu" key (usually beside the right Win button) with your mouse over certain windows.
If your mouse is over the desktop, a new explorer window is launched.
If your mouse is over an explorer window, it is directed to the path.
If your mouse is over an open file dialog, it will try to direct it to the path (you need to put your mouse over the file name input box).

wwBorder

Purpose

Automatically style windows based on rules.

Usage

Conditions (all must be met for the rule to apply):

class: Matches window with this class
process: Matches window from this process
Title: Matches window with this title

Rules:

Unless otherwise specified, 0 is to disable, 1 is to enable, any other value will toggle it.
border: border?
sizebox: resize border?
caption: titlebar?
all: everything?
always_on_top: always on top?
top: any value will move the window to top
bottom: any value will move the window to bottom
alt_tab: hide from alt-tab menu?
transparent: value of transparency (0-255, or OFF)
transcolor: hex-value of transparent colour (without the #)
close: any value will close the window
maximize: any value will maximize the window
redraw: any value will cause the window to redraw (by resizing it)
x: value of x-pos to move window to
y: value of y-pos to move window to
w: width of window to set to
h: height of window to set to
rx: relative value of x-pos to move window to
ry: relative value of y-pos to move window to
rw: relative width of window to set to
rh: relative height of window to set to

Examples

programRules := [ { class: "MozillaWindowClass" ; Firefox
, sizebox: 0 }
, { class: "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}" ; Foobar2000
, all: 0
, redraw: 1 }
, { class: "CabinetWClass" ; Explorer
, caption: 0
, border: 0 }
, { title: "Steam - Update News" ; Steam Update News
, close: 1 } ]

wwRunner

Purpose

Makes it easier to create hotkeys to switch to or run programs.

Usage

Window titles accept regex.
Functions:

Run(path, workingdir) ; Returns false if file not found.Send(key) ; Returns true always.
Show(title) ; Returns true if switch successful or already active, false otherwise (if window not found).
ShowNext(title) ; Returns true if switch successful, false otherwise (if window not found or already active).

Examples

; Switch to firefox if it exists and is not already active, otherwise run firefox.!f:: ShowNext("ahk_class MozillaWindowClass") or Run("C:\Program Files (x86)\Aurora\firefox.exe")
; Switch to foobar2000 if it exists, otherwise run foobar2000.!a:: Show("ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}") or Run("C:\Program Files (x86)\foobar2000\foobar2000.exe")

wwInfo

Purpose

Adds an eyedropper and pixel-ruler.

wwInput

Purpose

Adds hotstrings for easier unicode input.
All hotkeys are in the form of "`<text>"

Example

`alpha -> α
`mult -> ×
`:a -> ä
`$Y -> ¥

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

wwTiling

Purpose

Adds mouse controls to move and resize windows, while snapping to a preset grid or nearby windows.

Usage

If you wish to use a grid, create one.

; V[n]:= [ x-coord, y0-index, y1-index, corner?, resize-only?]
V := []
V[1] := [ ScreenX, 1, 3, 1, 0 ]
V[2] := [ ScreenX+ScreenW/2, 1, 3, 0, 0 ]
V[3] := [ ScreenX+ScreenW, 1, 3, 1, 0 ]
; H[n]:= [ y-coord, x0-index, x1-index, corner?, resize-only?]
H := []
H[1] := [ ScreenY, 1, 3, 1, 0 ]
H[2] := [ ScreenY+(ScreenH-32)/2, 2, 3, 0, 0 ]
H[3] := [ ScreenY+ScreenH-32, 1, 3, 1, 0 ]

Vertical lines (V[n]) have a y0-index and y1-index, which point to the index of the horizontal line that their top and bottom points touch, respectively.
For example, in this case, V[1] is a line that is located at ScreenX (which is the left edge of your screens), which starts from the y-coord of H[1] (ScreenY) and ends at the y-coord of H[3] (ScreenY + ScreenH - 32).

The same is true for horizontal lines, except the x and y coordinates are inverted.

Corner means that the line is at an edge and windows snapped against this edge will have a margin of MarginWidth instead of MarginWidthHalf.

Resize-only means that windows will not be snapped against this edge unless it is in resize mode.

Next, the settings should be tweaked.

; Pixel Values
MarginWidth := 8 ; Margin (px)
MarginWidthHalf := MarginWidth//2 ; Margin of edges (px)
SnapDistance := 16 ; Minimum distance from lines before snapping (px)
MinimumMovement := 10 ; Minimum distance before starting to move/resize window (px); Toggles
SnapToGrid := True ; Snap to grid?
SnapToWindows := True ; Snap to surrounding windows?
MoveToTopToMaximize := True ; Maximize the window if it is moved to the top of the screen?
TopPos := 0 ; Y-Coord of the top of the screen
MoveToBottomToClose := True ; Minimize the window if it is moved to the bottom of the screen?
BottomPos := 1079 ; Y-Coord of the bottom of the screen; Grid and preview
VisibleGrid := False ; Display the grid?
ColorGrid := 0x8B998A ; Colour of the grid
TransparencyGrid := 128 ; Transparency of the grid
ColorPreview := 0xA2B2A1 ; Colour of the preview
TransparencyPreview := 128 ; Transparency of the preview

The hotkeys can also be changed

HotkeyMove := "MButton" ; Leave blank to disable
HotkeyResize := "RButton" ; Leave blank to disable
HotkeyMoveResize := "LButton" ; Leave blank to disable
HotkeyModifier := ">!" ; HotkeyModifier is prefixed to each hotkey, but can be released once the hotkey has activated.

wwMenu

Purpose

Adds a menu that open paths in Windows explorer.

The menu opens when you press the "menu" key (usually beside the right Win button) with your mouse over certain windows.
If your mouse is over the desktop, a new explorer window is launched.
If your mouse is over an explorer window, it is directed to the path.
If your mouse is over an open file dialog, it will try to direct it to the path (you need to put your mouse over the file name input box).

wwBorder

Purpose

Automatically style windows based on rules.

Usage

Conditions (all must be met for the rule to apply):

class: Matches window with this class
process: Matches window from this process
Title: Matches window with this title

Rules:

Unless otherwise specified, 0 is to disable, 1 is to enable, any other value will toggle it.
border: border?
sizebox: resize border?
caption: titlebar?
all: everything?
always_on_top: always on top?
top: any value will move the window to top
bottom: any value will move the window to bottom
alt_tab: hide from alt-tab menu?
transparent: value of transparency (0-255, or OFF)
transcolor: hex-value of transparent colour (without the #)
close: any value will close the window
maximize: any value will maximize the window
redraw: any value will cause the window to redraw (by resizing it)
x: value of x-pos to move window to
y: value of y-pos to move window to
w: width of window to set to
h: height of window to set to
rx: relative value of x-pos to move window to
ry: relative value of y-pos to move window to
rw: relative width of window to set to
rh: relative height of window to set to

Examples

programRules := [ { class: "MozillaWindowClass" ; Firefox
, sizebox: 0 }
, { class: "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}" ; Foobar2000
, all: 0
, redraw: 1 }
, { class: "CabinetWClass" ; Explorer
, caption: 0
, border: 0 }
, { title: "Steam - Update News" ; Steam Update News
, close: 1 } ]

wwRunner

Purpose

Makes it easier to create hotkeys to switch to or run programs.

Usage

Window titles accept regex.
Functions:

Run(path, workingdir) ; Returns false if file not found.Send(key) ; Returns true always.
Show(title) ; Returns true if switch successful or already active, false otherwise (if window not found).
ShowNext(title) ; Returns true if switch successful, false otherwise (if window not found or already active).

Examples

; Switch to firefox if it exists and is not already active, otherwise run firefox.!f:: ShowNext("ahk_class MozillaWindowClass") or Run("C:\Program Files (x86)\Aurora\firefox.exe")
; Switch to foobar2000 if it exists, otherwise run foobar2000.!a:: Show("ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}") or Run("C:\Program Files (x86)\foobar2000\foobar2000.exe")

wwInfo

Purpose

Adds an eyedropper and pixel-ruler.

wwInput

Purpose

Adds hotstrings for easier unicode input.
All hotkeys are in the form of "`<text>"

Example

`alpha -> α
`mult -> ×
`:a -> ä
`$Y -> ¥

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

wwTiling

Purpose

Adds mouse controls to move and resize windows, while snapping to a preset grid or nearby windows.

Usage

If you wish to use a grid, create one.

; V[n]:= [ x-coord, y0-index, y1-index, corner?, resize-only?]
V := []
V[1] := [ ScreenX, 1, 3, 1, 0 ]
V[2] := [ ScreenX+ScreenW/2, 1, 3, 0, 0 ]
V[3] := [ ScreenX+ScreenW, 1, 3, 1, 0 ]
; H[n]:= [ y-coord, x0-index, x1-index, corner?, resize-only?]
H := []
H[1] := [ ScreenY, 1, 3, 1, 0 ]
H[2] := [ ScreenY+(ScreenH-32)/2, 2, 3, 0, 0 ]
H[3] := [ ScreenY+ScreenH-32, 1, 3, 1, 0 ]

Vertical lines (V[n]) have a y0-index and y1-index, which point to the index of the horizontal line that their top and bottom points touch, respectively.
For example, in this case, V[1] is a line that is located at ScreenX (which is the left edge of your screens), which starts from the y-coord of H[1] (ScreenY) and ends at the y-coord of H[3] (ScreenY + ScreenH - 32).

The same is true for horizontal lines, except the x and y coordinates are inverted.

Corner means that the line is at an edge and windows snapped against this edge will have a margin of MarginWidth instead of MarginWidthHalf.

Resize-only means that windows will not be snapped against this edge unless it is in resize mode.

Next, the settings should be tweaked.

; Pixel Values
MarginWidth := 8 ; Margin (px)
MarginWidthHalf := MarginWidth//2 ; Margin of edges (px)
SnapDistance := 16 ; Minimum distance from lines before snapping (px)
MinimumMovement := 10 ; Minimum distance before starting to move/resize window (px); Toggles
SnapToGrid := True ; Snap to grid?
SnapToWindows := True ; Snap to surrounding windows?
MoveToTopToMaximize := True ; Maximize the window if it is moved to the top of the screen?
TopPos := 0 ; Y-Coord of the top of the screen
MoveToBottomToClose := True ; Minimize the window if it is moved to the bottom of the screen?
BottomPos := 1079 ; Y-Coord of the bottom of the screen; Grid and preview
VisibleGrid := False ; Display the grid?
ColorGrid := 0x8B998A ; Colour of the grid
TransparencyGrid := 128 ; Transparency of the grid
ColorPreview := 0xA2B2A1 ; Colour of the preview
TransparencyPreview := 128 ; Transparency of the preview

The hotkeys can also be changed

HotkeyMove := "MButton" ; Leave blank to disable
HotkeyResize := "RButton" ; Leave blank to disable
HotkeyMoveResize := "LButton" ; Leave blank to disable
HotkeyModifier := ">!" ; HotkeyModifier is prefixed to each hotkey, but can be released once the hotkey has activated.

wwMenu

Purpose

Adds a menu that open paths in Windows explorer.

The menu opens when you press the "menu" key (usually beside the right Win button) with your mouse over certain windows.
If your mouse is over the desktop, a new explorer window is launched.
If your mouse is over an explorer window, it is directed to the path.
If your mouse is over an open file dialog, it will try to direct it to the path (you need to put your mouse over the file name input box).

wwBorder

Purpose

Automatically style windows based on rules.

Usage

Conditions (all must be met for the rule to apply):

class: Matches window with this class
process: Matches window from this process
Title: Matches window with this title

Rules:

Unless otherwise specified, 0 is to disable, 1 is to enable, any other value will toggle it.
border: border?
sizebox: resize border?
caption: titlebar?
all: everything?
always_on_top: always on top?
top: any value will move the window to top
bottom: any value will move the window to bottom
alt_tab: hide from alt-tab menu?
transparent: value of transparency (0-255, or OFF)
transcolor: hex-value of transparent colour (without the #)
close: any value will close the window
maximize: any value will maximize the window
redraw: any value will cause the window to redraw (by resizing it)
x: value of x-pos to move window to
y: value of y-pos to move window to
w: width of window to set to
h: height of window to set to
rx: relative value of x-pos to move window to
ry: relative value of y-pos to move window to
rw: relative width of window to set to
rh: relative height of window to set to

Examples

programRules := [ { class: "MozillaWindowClass" ; Firefox
, sizebox: 0 }
, { class: "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}" ; Foobar2000
, all: 0
, redraw: 1 }
, { class: "CabinetWClass" ; Explorer
, caption: 0
, border: 0 }
, { title: "Steam - Update News" ; Steam Update News
, close: 1 } ]

wwRunner

Purpose

Makes it easier to create hotkeys to switch to or run programs.

Usage

Window titles accept regex.
Functions:

Run(path, workingdir) ; Returns false if file not found.Send(key) ; Returns true always.
Show(title) ; Returns true if switch successful or already active, false otherwise (if window not found).
ShowNext(title) ; Returns true if switch successful, false otherwise (if window not found or already active).

Examples

; Switch to firefox if it exists and is not already active, otherwise run firefox.!f:: ShowNext("ahk_class MozillaWindowClass") or Run("C:\Program Files (x86)\Aurora\firefox.exe")
; Switch to foobar2000 if it exists, otherwise run foobar2000.!a:: Show("ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}") or Run("C:\Program Files (x86)\foobar2000\foobar2000.exe")

wwInfo

Purpose

Adds an eyedropper and pixel-ruler.

wwInput

Purpose

Adds hotstrings for easier unicode input.
All hotkeys are in the form of "`<text>"

Example

`alpha -> α
`mult -> ×
`:a -> ä
`$Y -> ¥

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

wwTiling

Purpose

Adds mouse controls to move and resize windows, while snapping to a preset grid or nearby windows.

Usage

If you wish to use a grid, create one.

; V[n]:= [ x-coord, y0-index, y1-index, corner?, resize-only?]
V := []
V[1] := [ ScreenX, 1, 3, 1, 0 ]
V[2] := [ ScreenX+ScreenW/2, 1, 3, 0, 0 ]
V[3] := [ ScreenX+ScreenW, 1, 3, 1, 0 ]
; H[n]:= [ y-coord, x0-index, x1-index, corner?, resize-only?]
H := []
H[1] := [ ScreenY, 1, 3, 1, 0 ]
H[2] := [ ScreenY+(ScreenH-32)/2, 2, 3, 0, 0 ]
H[3] := [ ScreenY+ScreenH-32, 1, 3, 1, 0 ]

Vertical lines (V[n]) have a y0-index and y1-index, which point to the index of the horizontal line that their top and bottom points touch, respectively.
For example, in this case, V[1] is a line that is located at ScreenX (which is the left edge of your screens), which starts from the y-coord of H[1] (ScreenY) and ends at the y-coord of H[3] (ScreenY + ScreenH - 32).

The same is true for horizontal lines, except the x and y coordinates are inverted.

Corner means that the line is at an edge and windows snapped against this edge will have a margin of MarginWidth instead of MarginWidthHalf.

Resize-only means that windows will not be snapped against this edge unless it is in resize mode.

Next, the settings should be tweaked.

; Pixel Values
MarginWidth := 8 ; Margin (px)
MarginWidthHalf := MarginWidth//2 ; Margin of edges (px)
SnapDistance := 16 ; Minimum distance from lines before snapping (px)
MinimumMovement := 10 ; Minimum distance before starting to move/resize window (px); Toggles
SnapToGrid := True ; Snap to grid?
SnapToWindows := True ; Snap to surrounding windows?
MoveToTopToMaximize := True ; Maximize the window if it is moved to the top of the screen?
TopPos := 0 ; Y-Coord of the top of the screen
MoveToBottomToClose := True ; Minimize the window if it is moved to the bottom of the screen?
BottomPos := 1079 ; Y-Coord of the bottom of the screen; Grid and preview
VisibleGrid := False ; Display the grid?
ColorGrid := 0x8B998A ; Colour of the grid
TransparencyGrid := 128 ; Transparency of the grid
ColorPreview := 0xA2B2A1 ; Colour of the preview
TransparencyPreview := 128 ; Transparency of the preview

The hotkeys can also be changed

HotkeyMove := "MButton" ; Leave blank to disable
HotkeyResize := "RButton" ; Leave blank to disable
HotkeyMoveResize := "LButton" ; Leave blank to disable
HotkeyModifier := ">!" ; HotkeyModifier is prefixed to each hotkey, but can be released once the hotkey has activated.

wwMenu

Purpose

Adds a menu that open paths in Windows explorer.

The menu opens when you press the "menu" key (usually beside the right Win button) with your mouse over certain windows.
If your mouse is over the desktop, a new explorer window is launched.
If your mouse is over an explorer window, it is directed to the path.
If your mouse is over an open file dialog, it will try to direct it to the path (you need to put your mouse over the file name input box).

wwBorder

Purpose

Automatically style windows based on rules.

Usage

Conditions (all must be met for the rule to apply):

class: Matches window with this class
process: Matches window from this process
Title: Matches window with this title

Rules:

Unless otherwise specified, 0 is to disable, 1 is to enable, any other value will toggle it.
border: border?
sizebox: resize border?
caption: titlebar?
all: everything?
always_on_top: always on top?
top: any value will move the window to top
bottom: any value will move the window to bottom
alt_tab: hide from alt-tab menu?
transparent: value of transparency (0-255, or OFF)
transcolor: hex-value of transparent colour (without the #)
close: any value will close the window
maximize: any value will maximize the window
redraw: any value will cause the window to redraw (by resizing it)
x: value of x-pos to move window to
y: value of y-pos to move window to
w: width of window to set to
h: height of window to set to
rx: relative value of x-pos to move window to
ry: relative value of y-pos to move window to
rw: relative width of window to set to
rh: relative height of window to set to

Examples

programRules := [ { class: "MozillaWindowClass" ; Firefox
, sizebox: 0 }
, { class: "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}" ; Foobar2000
, all: 0
, redraw: 1 }
, { class: "CabinetWClass" ; Explorer
, caption: 0
, border: 0 }
, { title: "Steam - Update News" ; Steam Update News
, close: 1 } ]

wwRunner

Purpose

Makes it easier to create hotkeys to switch to or run programs.

Usage

Window titles accept regex.
Functions:

Run(path, workingdir) ; Returns false if file not found.Send(key) ; Returns true always.
Show(title) ; Returns true if switch successful or already active, false otherwise (if window not found).
ShowNext(title) ; Returns true if switch successful, false otherwise (if window not found or already active).

Examples

; Switch to firefox if it exists and is not already active, otherwise run firefox.!f:: ShowNext("ahk_class MozillaWindowClass") or Run("C:\Program Files (x86)\Aurora\firefox.exe")
; Switch to foobar2000 if it exists, otherwise run foobar2000.!a:: Show("ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}") or Run("C:\Program Files (x86)\foobar2000\foobar2000.exe")

wwInfo

Purpose

Adds an eyedropper and pixel-ruler.

wwInput

Purpose

Adds hotstrings for easier unicode input.
All hotkeys are in the form of "`<text>"

Example

`alpha -> α
`mult -> ×
`:a -> ä
`$Y -> ¥

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

wwTiling

Purpose

Adds mouse controls to move and resize windows, while snapping to a preset grid or nearby windows.

Usage

If you wish to use a grid, create one.

; V[n]:= [ x-coord, y0-index, y1-index, corner?, resize-only?]
V := []
V[1] := [ ScreenX, 1, 3, 1, 0 ]
V[2] := [ ScreenX+ScreenW/2, 1, 3, 0, 0 ]
V[3] := [ ScreenX+ScreenW, 1, 3, 1, 0 ]
; H[n]:= [ y-coord, x0-index, x1-index, corner?, resize-only?]
H := []
H[1] := [ ScreenY, 1, 3, 1, 0 ]
H[2] := [ ScreenY+(ScreenH-32)/2, 2, 3, 0, 0 ]
H[3] := [ ScreenY+ScreenH-32, 1, 3, 1, 0 ]

Vertical lines (V[n]) have a y0-index and y1-index, which point to the index of the horizontal line that their top and bottom points touch, respectively.
For example, in this case, V[1] is a line that is located at ScreenX (which is the left edge of your screens), which starts from the y-coord of H[1] (ScreenY) and ends at the y-coord of H[3] (ScreenY + ScreenH - 32).

The same is true for horizontal lines, except the x and y coordinates are inverted.

Corner means that the line is at an edge and windows snapped against this edge will have a margin of MarginWidth instead of MarginWidthHalf.

Resize-only means that windows will not be snapped against this edge unless it is in resize mode.

Next, the settings should be tweaked.

; Pixel Values
MarginWidth := 8 ; Margin (px)
MarginWidthHalf := MarginWidth//2 ; Margin of edges (px)
SnapDistance := 16 ; Minimum distance from lines before snapping (px)
MinimumMovement := 10 ; Minimum distance before starting to move/resize window (px); Toggles
SnapToGrid := True ; Snap to grid?
SnapToWindows := True ; Snap to surrounding windows?
MoveToTopToMaximize := True ; Maximize the window if it is moved to the top of the screen?
TopPos := 0 ; Y-Coord of the top of the screen
MoveToBottomToClose := True ; Minimize the window if it is moved to the bottom of the screen?
BottomPos := 1079 ; Y-Coord of the bottom of the screen; Grid and preview
VisibleGrid := False ; Display the grid?
ColorGrid := 0x8B998A ; Colour of the grid
TransparencyGrid := 128 ; Transparency of the grid
ColorPreview := 0xA2B2A1 ; Colour of the preview
TransparencyPreview := 128 ; Transparency of the preview

The hotkeys can also be changed

HotkeyMove := "MButton" ; Leave blank to disable
HotkeyResize := "RButton" ; Leave blank to disable
HotkeyMoveResize := "LButton" ; Leave blank to disable
HotkeyModifier := ">!" ; HotkeyModifier is prefixed to each hotkey, but can be released once the hotkey has activated.

wwMenu

Purpose

Adds a menu that open paths in Windows explorer.

The menu opens when you press the "menu" key (usually beside the right Win button) with your mouse over certain windows.
If your mouse is over the desktop, a new explorer window is launched.
If your mouse is over an explorer window, it is directed to the path.
If your mouse is over an open file dialog, it will try to direct it to the path (you need to put your mouse over the file name input box).

wwBorder

Purpose

Automatically style windows based on rules.

Usage

Conditions (all must be met for the rule to apply):

class: Matches window with this class
process: Matches window from this process
Title: Matches window with this title

Rules:

Unless otherwise specified, 0 is to disable, 1 is to enable, any other value will toggle it.
border: border?
sizebox: resize border?
caption: titlebar?
all: everything?
always_on_top: always on top?
top: any value will move the window to top
bottom: any value will move the window to bottom
alt_tab: hide from alt-tab menu?
transparent: value of transparency (0-255, or OFF)
transcolor: hex-value of transparent colour (without the #)
close: any value will close the window
maximize: any value will maximize the window
redraw: any value will cause the window to redraw (by resizing it)
x: value of x-pos to move window to
y: value of y-pos to move window to
w: width of window to set to
h: height of window to set to
rx: relative value of x-pos to move window to
ry: relative value of y-pos to move window to
rw: relative width of window to set to
rh: relative height of window to set to

Examples

programRules := [ { class: "MozillaWindowClass" ; Firefox
, sizebox: 0 }
, { class: "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}" ; Foobar2000
, all: 0
, redraw: 1 }
, { class: "CabinetWClass" ; Explorer
, caption: 0
, border: 0 }
, { title: "Steam - Update News" ; Steam Update News
, close: 1 } ]

wwRunner

Purpose

Makes it easier to create hotkeys to switch to or run programs.

Usage

Window titles accept regex.
Functions:

Run(path, workingdir) ; Returns false if file not found.Send(key) ; Returns true always.
Show(title) ; Returns true if switch successful or already active, false otherwise (if window not found).
ShowNext(title) ; Returns true if switch successful, false otherwise (if window not found or already active).

Examples

; Switch to firefox if it exists and is not already active, otherwise run firefox.!f:: ShowNext("ahk_class MozillaWindowClass") or Run("C:\Program Files (x86)\Aurora\firefox.exe")
; Switch to foobar2000 if it exists, otherwise run foobar2000.!a:: Show("ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}") or Run("C:\Program Files (x86)\foobar2000\foobar2000.exe")

wwInfo

Purpose

Adds an eyedropper and pixel-ruler.

wwInput

Purpose

Adds hotstrings for easier unicode input.
All hotkeys are in the form of "`<text>"

Example

`alpha -> α
`mult -> ×
`:a -> ä
`$Y -> ¥

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

wwTiling

Purpose

Adds mouse controls to move and resize windows, while snapping to a preset grid or nearby windows.

Usage

If you wish to use a grid, create one.

; V[n]:= [ x-coord, y0-index, y1-index, corner?, resize-only?]
V := []
V[1] := [ ScreenX, 1, 3, 1, 0 ]
V[2] := [ ScreenX+ScreenW/2, 1, 3, 0, 0 ]
V[3] := [ ScreenX+ScreenW, 1, 3, 1, 0 ]
; H[n]:= [ y-coord, x0-index, x1-index, corner?, resize-only?]
H := []
H[1] := [ ScreenY, 1, 3, 1, 0 ]
H[2] := [ ScreenY+(ScreenH-32)/2, 2, 3, 0, 0 ]
H[3] := [ ScreenY+ScreenH-32, 1, 3, 1, 0 ]

Vertical lines (V[n]) have a y0-index and y1-index, which point to the index of the horizontal line that their top and bottom points touch, respectively.
For example, in this case, V[1] is a line that is located at ScreenX (which is the left edge of your screens), which starts from the y-coord of H[1] (ScreenY) and ends at the y-coord of H[3] (ScreenY + ScreenH - 32).

The same is true for horizontal lines, except the x and y coordinates are inverted.

Corner means that the line is at an edge and windows snapped against this edge will have a margin of MarginWidth instead of MarginWidthHalf.

Resize-only means that windows will not be snapped against this edge unless it is in resize mode.

Next, the settings should be tweaked.

; Pixel Values
MarginWidth := 8 ; Margin (px)
MarginWidthHalf := MarginWidth//2 ; Margin of edges (px)
SnapDistance := 16 ; Minimum distance from lines before snapping (px)
MinimumMovement := 10 ; Minimum distance before starting to move/resize window (px); Toggles
SnapToGrid := True ; Snap to grid?
SnapToWindows := True ; Snap to surrounding windows?
MoveToTopToMaximize := True ; Maximize the window if it is moved to the top of the screen?
TopPos := 0 ; Y-Coord of the top of the screen
MoveToBottomToClose := True ; Minimize the window if it is moved to the bottom of the screen?
BottomPos := 1079 ; Y-Coord of the bottom of the screen; Grid and preview
VisibleGrid := False ; Display the grid?
ColorGrid := 0x8B998A ; Colour of the grid
TransparencyGrid := 128 ; Transparency of the grid
ColorPreview := 0xA2B2A1 ; Colour of the preview
TransparencyPreview := 128 ; Transparency of the preview

The hotkeys can also be changed

HotkeyMove := "MButton" ; Leave blank to disable
HotkeyResize := "RButton" ; Leave blank to disable
HotkeyMoveResize := "LButton" ; Leave blank to disable
HotkeyModifier := ">!" ; HotkeyModifier is prefixed to each hotkey, but can be released once the hotkey has activated.

wwMenu

Purpose

Adds a menu that open paths in Windows explorer.

The menu opens when you press the "menu" key (usually beside the right Win button) with your mouse over certain windows.
If your mouse is over the desktop, a new explorer window is launched.
If your mouse is over an explorer window, it is directed to the path.
If your mouse is over an open file dialog, it will try to direct it to the path (you need to put your mouse over the file name input box).

wwBorder

Purpose

Automatically style windows based on rules.

Usage

Conditions (all must be met for the rule to apply):

class: Matches window with this class
process: Matches window from this process
Title: Matches window with this title

Rules:

Unless otherwise specified, 0 is to disable, 1 is to enable, any other value will toggle it.
border: border?
sizebox: resize border?
caption: titlebar?
all: everything?
always_on_top: always on top?
top: any value will move the window to top
bottom: any value will move the window to bottom
alt_tab: hide from alt-tab menu?
transparent: value of transparency (0-255, or OFF)
transcolor: hex-value of transparent colour (without the #)
close: any value will close the window
maximize: any value will maximize the window
redraw: any value will cause the window to redraw (by resizing it)
x: value of x-pos to move window to
y: value of y-pos to move window to
w: width of window to set to
h: height of window to set to
rx: relative value of x-pos to move window to
ry: relative value of y-pos to move window to
rw: relative width of window to set to
rh: relative height of window to set to

Examples

programRules := [ { class: "MozillaWindowClass" ; Firefox
, sizebox: 0 }
, { class: "{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}" ; Foobar2000
, all: 0
, redraw: 1 }
, { class: "CabinetWClass" ; Explorer
, caption: 0
, border: 0 }
, { title: "Steam - Update News" ; Steam Update News
, close: 1 } ]

wwRunner

Purpose

Makes it easier to create hotkeys to switch to or run programs.

Usage

Window titles accept regex.
Functions:

Run(path, workingdir) ; Returns false if file not found.Send(key) ; Returns true always.
Show(title) ; Returns true if switch successful or already active, false otherwise (if window not found).
ShowNext(title) ; Returns true if switch successful, false otherwise (if window not found or already active).

Examples

; Switch to firefox if it exists and is not already active, otherwise run firefox.!f:: ShowNext("ahk_class MozillaWindowClass") or Run("C:\Program Files (x86)\Aurora\firefox.exe")
; Switch to foobar2000 if it exists, otherwise run foobar2000.!a:: Show("ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}") or Run("C:\Program Files (x86)\foobar2000\foobar2000.exe")

wwInfo

Purpose

Adds an eyedropper and pixel-ruler.

wwInput

Purpose

Adds hotstrings for easier unicode input.
All hotkeys are in the form of "`<text>"

Example

`alpha -> α
`mult -> ×
`:a -> ä
`$Y -> ¥

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages