https://github.com/caoyue/WindowResizer
Save and restore your windows size and position with hotkeys
https://github.com/caoyue/WindowResizer
desktop keyboard-shortcuts windows
Last synced: 3 months ago
JSON representation
Save and restore your windows size and position with hotkeys
- Host: GitHub
- URL: https://github.com/caoyue/WindowResizer
- Owner: caoyue
- License: mit
- Created: 2016-07-12T08:27:18.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-02-07T02:52:38.000Z (about 1 year ago)
- Last Synced: 2024-09-27T01:53:45.509Z (7 months ago)
- Topics: desktop, keyboard-shortcuts, windows
- Language: C#
- Homepage:
- Size: 839 KB
- Stars: 183
- Watchers: 9
- Forks: 12
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-useful-projects - <img src="https://icon.horse/icon/github.com" height="20px" align="center"/>/caoyue/WindowResizer - Save/restore windows size/position with hotkeys (Windows / Other)
README
# WindowResizer
[](https://github.com/caoyue/WindowResizer/actions) [](https://github.com/caoyue/WindowResizer/releases) [](https://github.com/caoyue/WindowResizer/releases/latest)
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
> [](https://www.microsoft.com/store/apps/9NZ07CQ6WZMB)
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
### hotkeysChange 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
![]()
- restore all opened window position
demo
![]()
### usage
- how to add an config entry
Focus on the window (eg. Chrome), then press the save window hotkey (`ctrl+alt+s`by 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
![]()
- 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.,
```shell
# 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
