Skip to main content

Snap windows to their configured positions

Project description

window-snap

Installation:

pipx install window_snap

Configuring

By default, the program looks at %userprofile%\.config\window-snap\config.yaml.

The folder to look in for config.yaml is configurable with the WINDOW_SNAP_CONFIG_DIR environment variable.

Current Feature Set

This module currently supports the following:

  • YAML-driven window layout management using a windows mapping in config.yaml.
  • Window matching by title (default) or executable name (find_by_exe).
  • Moving windows to a target monitor (monitor index in config is 1-based).
    • Leftmost monitor is 1, numbered increasing moving to the right
    • absolute pixel values (integer [0,monitor-width]), or
    • fractional values (0-1] relative to monitor work area.
  • Maximize handling via maximized: true.
  • Partial updates where unspecified values keep the window's current position/size.
  • Multi-monitor awareness with monitor detection from window geometry.
  • Safe handling when windows are missing or configuration entries are invalid (logs and continues).

Command-line features:

  • window-snap applies the configured layout from the default config path.

  • Snapping is skipped when running inside a Windows Remote Desktop session.

    window-snap --force applies the configured layout even during a Remote Desktop session.

  • window-snap --store-current captures current top-level window positions and writes:

    • _config_version
    • windows (captured destinations)
    • available_exe_names (title -> executable mapping)
  • -v/--verbose increases logging verbosity.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

window_snap-0.2.0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

window_snap-0.2.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file window_snap-0.2.0.tar.gz.

File metadata

  • Download URL: window_snap-0.2.0.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for window_snap-0.2.0.tar.gz
Algorithm Hash digest
SHA256 03cdc942cc067d8c8d4810a99ba0e345b84ad2aa1b5da95b8bfe0a773683d24a
MD5 7c8e9051db6cf9d281ccd900726980ae
BLAKE2b-256 714a936069bbfe98eaa13448267ee4128fbd6424881722b450406ba45a2f65aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for window_snap-0.2.0.tar.gz:

Publisher: release.yml on mshafer1/py_window_snap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file window_snap-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: window_snap-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for window_snap-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86d95fa71ead54aefb065d94eaf4fd582dcaceb5aac5e6e413379a6dc0cfa9f0
MD5 7fa31a0a913c1d3af7b0233ecbe1b743
BLAKE2b-256 5fea40529739f4c0e1a6956605cdcb51a98802d95d05a37daf7aa21d6969250d

See more details on using hashes here.

Provenance

The following attestation bundles were made for window_snap-0.2.0-py3-none-any.whl:

Publisher: release.yml on mshafer1/py_window_snap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page