Use this command to install WindowResizer with WinGet:
winget install --id=caoyue.WindowResizer -e
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 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.
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
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 / | _ < | __/ \__ \ | | / / | __/ | |
\_/\_/ |_| |_| |_| \__,_| \___/ \_/\_/ |_| \_\ \___| |___/ |_| /___| \___| |_|
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