19 个版本
使用旧的 Rust 2015
0.8.1 | 2018年11月22日 |
---|---|
0.8.0 | 2018年1月24日 |
0.7.0 | 2017年12月24日 |
0.6.2 | 2017年8月15日 |
0.1.1 | 2016年3月10日 |
#1212 in GUI
每月 39 次下载
1.5MB
14K SLoC
Way Cooler
开发
Way Cooler 是一个基于 Rust 编写的、用于 Wayland 的可定制的窗口管理器,使用 Lua 进行配置。
它深受 i3 的分割窗口管理和 awesome 的扩展性启发。
- 虽然 Lua 用于运行时配置(如 awesome),但 Way Cooler 的扩展作为完全独立的客户端程序实现,使用 D-Bus。
- 目前我们支持 3 个官方扩展:
- wc-bg: 为 Way Cooler 绘制背景。
wc-grab: 允许用户截取屏幕截图。
Way Cooler 目前处于公测阶段。核心功能已添加,目前处于可用状态,但未来版本中将会有一些不兼容的更改,可能需要用户进行一些干预。
一旦 Way Cooler 达到 1.0 版本,我们将保证配置文件和 D-Bus 接口的向后兼容性。
以下是 Way Cooler 当前的图片示例
动机
我们想要获得 Rust 的经验,并发现当前的 X11 窗口管理器没有我们想要的所有功能。
目前,在 Wayland 生态系统中几乎没有完全功能的堆叠窗口管理器,因为大部分精力都用于将 Gnome 和 KDE 移植过来。尽管 Wayland 仍在早期开发阶段,且与现有的 X11 工具不兼容,但我们想投入其中,为未来的堆叠窗口管理器用户提供支持。
当前功能
- i3 风格的堆叠
- 水平/垂直布局
- 标签/堆叠布局
- 不同布局的嵌套容器
- 每个工作空间浮动窗口
- 通过 D-Bus IPC 支持客户端应用程序
- 请看这里的一个示例应用程序 这里。它以某种有组织的格式显示树,实际上对调试树和理解子容器的工作方式非常有帮助。
- 启用运行时动态配置,无需重新加载配置文件
- 允许扩展窗口管理器作为独立程序通过 IPC 通信存在
- 为简化扩展 Way Cooler 而设计的 Lua 53 环境
- Lua 是配置格式,允许用户以任何方式增强他们的窗口管理器。
- 包含帮助与 Way Cooler 通信的实用程序库
- 通过 XWayland 支持的 X 程序
- 容器周围的边框
- 容器之间的间隔
- 基本的 X11 栏支持(例如 lemonbar,polybar)
- 屏幕抓取/截图
- 锁屏
计划中的功能
- 通知支持
- AwesomeWM 兼容性(更多信息请参见 此问题)
- 专用状态栏
- 状态栏应该是可交换的,这样用户就可以实现自己的或使用不同的一个。
- 更多自定义设置
在我们的 问题部分 跟踪这些功能的开发,或者如果您想帮忙,请查看我们的 贡献指南。
安装
在 AUR 上
@vinipsmaker 和 @timidger 维护我们的 AUR 包
NixOS
@miltador 维护我们的 NixOS 包。
openSUSE
@jubalh 维护我们的 openSUSE 包。使用以下命令安装:
zypper ar -f obs://X11:windowmanagers windowmanagers
zypper in way-cooler
安装脚本
对于使用上述提到的 Linux 发行版的用户,我们提供了一个简单的安装脚本,您可以在终端中运行它来安装 Way Cooler。
请访问我们的 网站下载页面 以下载 Way Cooler。
从源码构建
您需要在机器上安装以下依赖项才能安装 Way Cooler
- Wayland
- 包括服务器和客户端库
- wlc
- 安装说明可以在 他们的 github 页面 上找到
- Weston(可选)
- 初始化文件默认使用
weston-terminal
作为默认终端模拟器
- 初始化文件默认使用
- Cargo
- Rust 使用的包管理器/构建系统
- Cairo
最后,要安装Way Cooler,只需运行以下cargo命令:
cargo install way-cooler
您可以在X环境中运行它进行测试,或者切换到TTY并作为独立程序运行。
初始化文件
所有键盘快捷键都可以通过初始化文件进行配置。建议的策略是将默认配置文件复制到$XDG_CONFIG_HOME/way-cooler/init.lua
,然后从那里进行编辑。
贡献者
Way Cooler由@Timidger和@SnirkImmington发起,但以下这些优秀的人们也帮了我们很多忙:
- @Dcelemeno负责创建标志
- @platipo负责创建官方背景
- @vinipsmaker创建了(并维护)AUR包
- @miltador创建了NixOS包
- @starfys创建了way-cooler桌面文件
- @toogley修复了一个链接
- @paulmenzel修复了一个错别字
- @thefarwind使kill way-cooler命令可重新绑定
- @bluss将我们的
PetGraph
使用更新为StableGraph
- @Abdillah
- 修复了背景程序,使初始化时实色可变大小
- 为背景程序添加了模式(填充、适应、拉伸、标题)
- @hedning修复了tiling代码中的未签名字符串溢出问题
- @jubalh创建了openSUSE包
当然,还要感谢Rust社区和wlc的开发者。
贡献
有关更多信息,请查看贡献指南。
如果您发现错误或对代码有任何疑问,请提交问题或在gitter上联系我们。
依赖项
~18MB
~363K SLoC