2 releases

0.0.45 Mar 31, 2022
0.0.41 Dec 18, 2021

#811 in GUI

32 downloads per month

MIT/Apache

87KB
1.5K SLoC

wmctl

license-badge crates.io Minimum rustc

Rust X11 automation

wmctl implements the Extended Window Manager Hints (EWMH) specification as a way to work along side EWMH compatible window managers as a companion. wmctl provides the ability to precisely define how windows should be shaped and placed and can fill in gaps for window managers lacking some shaping or placement features. Mapping wmctl commands to user defined hot key sequences will allow for easy window manipulation beyond what your favorite EWMH window manager provides.

Usage

rustc >= 1.30 is required due to the tracing_subscriber requirements

$ wmctl -h for cli help help image

Shape window

Shape the active window using the pre-defined small shape which is a quarter of the screen.

$ wmctl shape small

Move window

Move the active window to the bottom left corner of the screen.

$ wmctl move bottom-left

Place window

Combine the shape and move into a single command by placing the window. First the window is shaped using the pre-defined small shape then it is moved to the bottom left of the screen in a single operation.

$ wmctl place small bottom-left

Contribute

Pull requests are always welcome. However understand that they will be evaluated purely on whether or not the change fits with my goals/ideals for the project.

Git-Hook

Enable the git hooks to have automatic version increments

cd ~/Projects/wmctl
git config core.hooksPath .githooks

License

This project is licensed under either of:

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


Backlog

Changelog

  • 12/18/2021
    • Add Arch Linux packaging
    • Added public documentation
    • Fix to precisely place windows with Xfwm4
    • Completed move, shape and place implementation

Dependencies

~8.5MB
~155K SLoC