doc/dsc/modules/MeasureTool.md
Manages configuration for the Measure Tool (Screen Ruler) utility, which measures pixels on your screen.
The MeasureTool module configures PowerToys Measure Tool (also known as
Screen Ruler), a utility that allows you to measure the distance between two
points on your screen in pixels. It's useful for designers, developers, and
anyone who needs to measure UI elements or screen distances.
The MeasureTool module supports the following configurable properties:
Sets the keyboard shortcut to activate the measure tool.
Type: object
Properties:
win (boolean) - Windows key modifierctrl (boolean) - Ctrl key modifieralt (boolean) - Alt key modifiershift (boolean) - Shift key modifiercode (integer) - Virtual key codekey (string) - Key nameDefault: Win+Shift+M
Controls whether continuous capture mode is enabled.
Type: boolean
Default: false
Controls whether measurement lines extend to screen edges.
Type: boolean
Default: true
Controls whether edge detection is per-color-channel or luminosity-based.
Type: boolean
Default: false
Sets the pixel tolerance for edge detection (0-255).
Type: integer
Range: 0 to 255
Default: 30
Sets the color of the measurement crosshair.
Type: string (hex color)
Format: "#RRGGBBAA" (with alpha)
Default: "#FF4500FF"
This example customizes the measure tool activation shortcut.
$config = @{
settings = @{
properties = @{
ActivationShortcut = @{
win = $true
ctrl = $false
alt = $false
shift = $true
code = 77
key = "M"
}
}
name = "MeasureTool"
version = "1.0"
}
} | ConvertTo-Json -Depth 10 -Compress
PowerToys.DSC.exe set --resource 'settings' --module MeasureTool `
--input $config
This example customizes the crosshair color and measurement behavior.
dsc config set --file measuretool-appearance.dsc.yaml
# measuretool-appearance.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Configure Measure Tool appearance
type: Microsoft.PowerToys/MeasureToolSettings
properties:
settings:
properties:
MeasureCrossColor: "#00FF00FF"
DrawFeetOnCross: true
ContinuousCapture: false
name: MeasureTool
version: 1.0
This example installs PowerToys and configures Measure Tool with edge detection.
winget configure winget-measuretool.yaml
# winget-measuretool.yaml
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
metadata:
winget:
processor: dscv3
resources:
- name: Install PowerToys
type: Microsoft.WinGet.DSC/WinGetPackage
properties:
id: Microsoft.PowerToys
source: winget
- name: Configure Measure Tool
type: Microsoft.PowerToys/MeasureToolSettings
properties:
settings:
properties:
PixelTolerance: 20
PerColorChannelEdgeDetection: true
DrawFeetOnCross: true
name: MeasureTool
version: 1.0
This example configures for high visibility measurements.
dsc config set --file measuretool-highcontrast.dsc.yaml
# measuretool-highcontrast.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: High contrast Measure Tool
type: Microsoft.PowerToys/MeasureToolSettings
properties:
settings:
properties:
MeasureCrossColor: "#FFFF00FF"
DrawFeetOnCross: true
name: MeasureTool
version: 1.0
This example enables continuous capture for repeated measurements.
$config = @{
settings = @{
properties = @{
ContinuousCapture = $true
PixelTolerance = 25
}
name = "MeasureTool"
version = "1.0"
}
} | ConvertTo-Json -Depth 10 -Compress
PowerToys.DSC.exe set --resource 'settings' --module MeasureTool --input $config
Configure for design work with precise measurements:
resources:
- name: Design configuration
type: Microsoft.PowerToys/MeasureToolSettings
properties:
settings:
properties:
PixelTolerance: 15
DrawFeetOnCross: true
name: MeasureTool
version: 1.0
Configure for layout debugging:
resources:
- name: Developer configuration
type: Microsoft.PowerToys/MeasureToolSettings
properties:
settings:
properties:
ContinuousCapture: true
MeasureCrossColor: "#0078D7FF"
name: MeasureTool
version: 1.0