wlm is a command-line tool to move and resize windows based on a config.
wlm started as an open source replacement to http://www.stefandidak.com/windows-layout-manager/ and a way for me to get more experience with Rust. The intent is to provide cross-platform support, with Windows being the first to be implemented.
cargo install wlm
A config is a list of windows and their respective properties.
wlm ls
By default, this will create a default.json
in your platform-specific location.
This is determined by the directories library.
Multiple configs can be created by using the --file
argument.
Once a window is in a state you like, get its information via the ls
command.
wlm ls
Now to apply the config:
wlm layout
To apply a different config, simply specify it with the --file
argument.
- Add support for default config location
$HOME/.config/wlm/default.json
- Add support for modifying existing config via CLI
- e.g.
wlm config windows.2.process "chrome.exe"
- e.g.
- Add support for specifying monitor
- Add support for percentage-based configs
- e.g. similar to how tiling window managers work or Windows snapping
- Add support for a daemon/service that will auto apply config on new window events