Crates.io | libmars |
lib.rs | libmars |
version | 0.5.3 |
source | src |
created_at | 2023-02-10 19:58:47.359026 |
updated_at | 2023-12-19 12:29:18.119648 |
description | Library to build window managers and accompanying utilities |
homepage | |
repository | https://github.com/jzbor/marswm |
max_upload_size | |
id | 782103 |
size | 158,857 |
marswm
aims to be the rusty successor to moonwm.
In addition to the window manager this repository also contains the library it is built on, an accompanying status bar and an ipc client to control the window manager from external scripts.
You can find documentation on how to configure the window manger on crates.io or in the Github repo
DISCLAIMER: Although already usable this is still in development. The library API as well as the window manager itself might be subject to frequent changes.
marswm
's goal is to have a simple tiling window manager with tiling and workspaces for myself.
Features:
mars-relay
)libmars
aims expose xlib's ugly sides through a nice rusty interface that makes it easier to implement custom window managers.
It is still not very mature and mainly targeted to suit marswm
's needs, but it should be great for writing simple, personal window managers once the API is somewhat stable and documented.
Although not currently planned a wayland backend (as well as other backends) would be possible to implement due to the libraries modular concept.
mars-relay
lets you control EWMH-compliant X11 window managers and can be used as an IPC-client for marswm
and a lot of other window managers.
See installation.md.
For a guide on how to setup a working desktop environment with marswm as base take a look at the quickstart guide.
You have to install the following libraries natively: libX11
, libXft
, libXinerama
, libXrandr
.
Then you can use cargo to build the binaries.
# development build
cargo build
# release build
cargo build --release
The binary files will be in target/debug
or target/release
depending on your build type.