2 releases
0.0.3 | Jan 30, 2021 |
---|---|
0.0.2 | Jan 5, 2021 |
#977 in GUI
42KB
896 lines
TileMe
tileme
is a WIP (not yet tiling) window manager for Windows 10, implemented in Rust.
The goal of this project is to provide XMonad-style experience in Windows. The project is on the early stage of development, so for now it is mostly a utility to manage Windows virtual desktops. As in XMonad, this project is not an executable, but a library to write your own window manager.
What tileme
can do now
- Create a set of Windows virtual desktops on startup.
- Use hotkeys to switch between Windows virtual desktops and move windows around.
- Track focus of windows. Windows doesn't switch focus reliably on desktop switch: focus stays on the old window, which is tracked and fixed.
Planned features
- Workspaces instead of Windows' virtual desktops. User can define an arbitrary number of workspaces, that contain tiled windows. Each screen should have one or more workspace visible. Workspace rotation must be independent and should smoothly adapt, if an external screen is connected and disconnected.
- (Far future) Linux/Wayland Ideally I would like to have the same configuration on Windows and Linux, so if this project survives the time, I would like to build a Wayland compositor on top of it.
How to use
- Install stable Rust compiler.
- Examine examples of the configuration.
- Create a Rust binary project, that depends on
tileme
, specifying the correct local path. - Write
main.rs
based on examples, build and execute it.
Acknowledgements
This project in fact started from the source code of penrose tiling window manager for Linux/X11, and contains some copy-pasted code from there. I would like to thank its author @sminez for the awesome work, and I would happily use it, if I use Linux/X11 (but now I would prefer Linux to go in Wayland direction). I would like to thank all authors of XMonad for an awesome desktop experience, that I had all the time I used it.
License
The source code is available under the terms of MIT license.
Dependencies
~0.3–0.9MB
~14K SLoC