WindowResizer logo

WindowResizer caoyue

Use this command to install WindowResizer:
winget install --id=caoyue.WindowResizer -e

WindowResizer is a simple tool that gives you a way to use hotkeys to quickly save and restore different window positions and sizes.

WindowResizer is a productivity tool designed to streamline your workflow by enabling quick saving and restoring of window positions and sizes through customizable hotkeys.

Key Features:

  • Save individual or all open window configurations with ease using predefined hotkeys (Ctrl+Alt+S for save, Ctrl+Alt+R for restore).
  • Customize hotkey combinations to suit personal preferences.
  • Enable auto-resize functionality with adjustable delay settings for titles that change dynamically (e.g., browser tabs).
  • Utilize portable mode by placing the configuration file in the same folder as the executable.
  • Access a command-line interface (CLI) for advanced automation and scripting capabilities.
  • Organize saved configurations into multiple profiles for different workflows or projects.

Audience & Benefit:

Ideal for professionals who work with multiple windows across various applications, such as developers, designers, analysts, and anyone managing complex desktop environments. WindowResizer helps users save time by eliminating manual adjustments and maintaining consistent workspace setups across sessions. Its flexibility accommodates diverse workflow needs while ensuring efficiency and productivity.

The software is compatible with Windows 7+ (x64) and requires the .NET Framework 4.7.2+. It can be installed via winget for easy setup.

README

WindowResizer

WindowResizer GitHub all releases GitHub release (latest SemVer)

WindowResizer is a simple tool that gives you a way to use hotkeys to quickly save and restore different window positions and sizes.

Download

  • Github Release >

    require:

    • Windows 7+ (x64)
    • .NET Framework 4.7.2+
  • Microsoft Store >

    The Windows Store version has the same features as the GitHub release version.
    You can support development by purchasing it on the Windows Store.

App

hotkeys

Change hotkeys in setting window.

  • save window position

    default hotkey: ctrl+alt+s

  • save all opened window position

  • restore window position

    default hotkey: ctrl+alt+r

    demo
    <img src="https://i.imgur.com/5TJdL44.gif" />
    
  • restore all opened window position

    demo
    <img src="https://i.imgur.com/3558lKS.gif" />
    

usage

  • how to add an config entry

    Focus on the window (eg. Chrome), then press the save window hotkey (ctrl+alt+sby default), an entry will be added to the configuration file.

  • How does the window matching work?

    The process name is matched first. The title is not required, by default use a wildcard * to match all the titles for a process name. And if you specify the title, it will be matched first.

  • Option: Resize by title Uncheck: Resize based on process Checked: Resize based on Process and title

  • Auto resize: restore window position automatically

    check the checkbox on Auto column.

    demo
    <img src="https://i.imgur.com/LeNyJQu.gif" />
    
  • Option: Auto resize delay This option is used with the Auto Resize feature. When Auto Resize based on process titles, some titles are not immediately determined, such as Chrome web pages. If this option is checked, you can set a delay(in millisecond) for the Chrome process, so when a new Chrome window is created, there will be a delay before resize takes effect.

  • portable mode

    • download portable package
    • put WindowResizer.config.json in the same folder as the program file WindowResizer.exe

CLI

run WindowResizer.CLI.exe resize -h
> The CLI can run standalone without WindowResizer App running.

 __        __  _               _                      ____                 _
 \ \      / / (_)  _ __     __| |   ___   __      __ |  _ \    ___   ___  (_)  ____   ___   _ __
  \ \ /\ / /  | | | '_ \   / _` |  / _ \  \ \ /\ / / | |_) |  / _ \ / __| | | |_  /  / _ \ | '__|
   \ V  V /   | | | | | | | (_| | | (_) |  \ V  V /  |  _ &lt;  |  __/ \__ \ | |  / /  |  __/ | |
    \_/\_/    |_| |_| |_|  \__,_|  \___/    \_/\_/   |_| \_\  \___| |___/ |_| /___|  \___| |_|


Usage:
  WindowResizer.CLI resize [options]

Options:
  -c, --config     Config file path, use current config file if omitted.
  -P, --profile   Profile name, use current profile if omitted.
  -p, --process   Process name, use foreground process if omitted.
  -t, --title       Process title, all windows of the process will be resized if not specified.
  -v, --verbose            Show more details.
  -?, -h, --help           Show help and usage information

e.g.,

# Resize all
WindowResizer.CLI.exe resize

# Specify config file and profile
WindowResizer.CLI.exe resize -c "X:\WindowResizer.config.json" -P "my-profile"

# Show verbose
WindowResizer.CLI.exe resize -v

# Filter windows by process
WindowResizer.CLI.exe resize -p "notepad.exe"

# Filter windows by title regex
WindowResizer.CLI.exe resize -t ".*.txt" 

# Combine all options
WindowResizer.CLI.exe resize -c "X:\WindowResizer.config.json" -P "my-profile" -p "notepad.exe" -t ".*.txt" -v

Build

  • .NET Framework 4.7.2
  • Visual Studio 2019/2022 or JetBrains Rider
  • Projects
    • WindowResizer: the GUI app
    • WindowResizer.CLI: the CLI app

Stats

Alt

Versions
1.3.4
1.3.3
1.3.1
1.3.0
1.2.0
1.1.1
1.1.0
1.0.2
1.0.1
Website