9 个不稳定版本 (3 个破坏性更新)

0.5.3 2023年12月19日
0.5.2 2023年11月29日
0.5.0 2023年6月23日
0.4.1 2023年4月20日
0.2.0 2023年2月10日

#434 in GUI

每月 37 次下载

自定义许可证

170KB
3.5K SLoC

MARSWM 项目

marswm 旨在成为 moonwm 的 Rust 后继者。除了窗口管理器外,该仓库还包含它所基于的库 libmars,一个伴随的 状态栏 以及一个 ipc 客户端,用于从外部脚本控制窗口管理器。

您可以在 crates.io 或在 Github 仓库 中找到如何配置窗口管理器的文档

免责声明:尽管已经可以使用,但这仍在开发中。库 API 以及窗口管理器本身可能经常发生变化。

组件

marswm

marswm 的目标是拥有一个简单的层叠窗口管理器,具有层叠和工作空间,仅用于我自己。

特性

  • dwm 风格布局
  • 工作空间(类似于 i3 或 bspwm)
  • 使用 X11 原子进行 IPC(mars-relay
  • YAML 用于配置和键绑定

libmars

libmars 旨在通过一个简洁的 Rust 界面展示 xlib 的丑陋之处,使得实现自定义窗口管理器更加容易。它还不够成熟,主要针对满足 marswm 的需求,但一旦 API 稳定并得到文档化,它应该非常适合编写简单的、个人的窗口管理器。虽然目前没有计划,但由于库的模块化概念,可以实现一个 wayland 后端(以及其他后端)。

mars-relay

mars-relay 允许您控制符合 EWMH 的 X11 窗口管理器,并可以作为 marswm 以及许多其他窗口管理器的 IPC 客户端使用。

安装(使用软件包管理器)

请参阅 installation.md

有关如何以 marswm 为基础设置工作桌面环境的指南,请查看 快速入门指南

从源代码构建

您必须本地安装以下库:libX11libXftlibXineramalibXrandr

然后您可以使用 cargo 构建二进制文件。

# development build
cargo build
# release build
cargo build --release

二进制文件将位于 target/debugtarget/release,具体取决于您的构建类型。

依赖项

~1.6–2.2MB
~44K SLoC