4 releases
0.0.51 | Jun 11, 2024 |
---|---|
0.0.50 | Jun 11, 2024 |
0.0.45 | Mar 31, 2022 |
0.0.41 | Dec 18, 2021 |
#231 in GUI
145KB
2.5K
SLoC
wmctl
Rust X11 automation
wmctl
partially 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.
Disclaimer
wmctl comes with absolutely no guarantees or support of any kind. It is to be used at your own risk. Any damages, issues, losses or problems caused by the use of wmctl are strictly the responsiblity of the user and not the developer/creator of wmctl.
Quick links
Usage
rustc >= 1.56 is the minimum supported Rust version for this project
$ wmctl -h
for cli help
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 halfw
shape then it is moved to the top left of the screen in a single
operation.
$ wmctl place halfw top-left
Development
Run Examples
License
This project is licensed under either of:
- MIT license LICENSE-MIT or http://opensource.org/licenses/MIT
- Apache License, Version 2.0 LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0
Contribution
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.
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
- 5/30/2024
- Fix for GTK Client-side window decorations not being calculated correctly
- 12/18/2021
- Add Arch Linux packaging
- Added public documentation
- Fix to precisely place windows with Xfwm4
- Completed move, shape and place implementation
Dependencies
~15–25MB
~396K SLoC