#窗口管理器 #布局 #left-wm

leftwm-layouts

为基于列表的动态平铺窗口管理器提供可自定义的布局

28 个版本

0.9.1 2024年3月20日
0.8.4 2023年6月5日
0.7.0 2023年2月12日
0.3.3 2022年12月29日
0.0.1 2022年3月31日

#38GUI

Download history 438/week @ 2024-04-07 422/week @ 2024-04-14 303/week @ 2024-04-21 79/week @ 2024-04-28 176/week @ 2024-05-05 276/week @ 2024-05-12 346/week @ 2024-05-19 291/week @ 2024-05-26 268/week @ 2024-06-02 305/week @ 2024-06-09 397/week @ 2024-06-16 356/week @ 2024-06-23 363/week @ 2024-06-30 337/week @ 2024-07-07 417/week @ 2024-07-14 180/week @ 2024-07-21

1,339 每月下载量
用于 4 个crate(直接使用2个)

BSD-3-Clause

135KB
3K SLoC

LeftWM Layouts

提供固定但参数化窗口布局计算的库

Libraries.io dependency status for GitHub repo Crates.io Crates.io

描述

此库封装了来自外部依赖和显示服务器的布局计算,以便它可以由X.Org、Wayland或其他窗口管理器使用。它全部关于分割矩形,库中没有“窗口”的概念。

提供了一些默认布局,但也可以定义自定义布局。自定义布局定义提供了一些灵活性,但设计上仍然相当有限,因为此库的目标受众是 基于列表 / 动态平铺 窗口管理器(如 leftwmdwm 等),而不是像 i3 这样的手动平铺器。

功能

  • 已提供广泛使用的默认布局
  • 可以定义自定义布局
  • 支持多个主窗口
  • 超宽显示器友好
  • 无依赖(如果你忽略serde 👀)

预定义布局

以下布局由库提供。

堆叠 / 单列

这些布局只有一个堆叠,没有主列。

单眼显示器

+-----------+
|           |   only ever displays
|           |   one window at
|           |   maximum
+-----------+

水平均匀分布

+--+--+--+--+
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
+--+--+--+--+

垂直均匀分布

+-----------+
|-----------|
|-----------|
|-----------|
+-----------+

网格

+-----+-----+   +---+---+---+   +---+---+---+   +---+---+---+
|     |     |   |   |   |   |   |   |   |   |   |   |   |   |
|     |     |   |   |   |   |   |   |   |   |   |   |   +---+
+-----+-----+   |   +---+---+   +---+---+---+   +---+---|   |
|     |     |   |   |   |   |   |   |   |   |   |   |   +---+
|     |     |   |   |   |   |   |   |   |   |   |   |   |   |
+-----+-----+   +---+---+---+   +---+---+---+   +---+---+---+
  4 windows       5 windows       6 windows       7 windows

主和堆叠 / 双列

这些布局有一个主列和一个堆叠列

主和Deck

+-------+-----+
|       |     |   only ever displays
|       |     |   two windows at
|       |     |   maximum
+-------+-----+
  main   stack

主和垂直堆叠

+-------+-----+
|       |     |
|       +-----+
|       |     |
+-------+-----+
  main   stack

主和水平堆叠

+-------+--+--+
|       |  |  |
|       |  |  |
|       |  |  |
+-------+--+--+
  main   stack

右侧主和垂直堆叠

+-----+-------+
|     |       |
+-----+       |
|     |       |
+-----+-------+
 stack   main

斐波那契

+-------+-----+
|       |     |
|       +--+--+
|       |--|  |
+-------+--+--+
  main   stack

减少

+-------+-----+
|       |     |
|       +--+--+
|       |  |--|
+-------+--+--+
  main   stack

中心主 / 三列

这些布局的主列位于中心,两侧有堆叠列。

中心主

+-----+-----------+-----+
|     |           |     |
|     |           +-----+
|     |           |     |
|     |           +-----+
|     |           |     |
+-----+-----------+-----+
  1st      main     2nd
 stack             stack

+-----------+-----------+
|           |           |
|           |           |  unoccupied
|           |           |  space is
|           |           |  taken over
|           |           |
+-----------+-----------+
  1st stack      main

+-----------------------+
|                       |
|                       |  unoccupied
|                       |  space is
|                       |  taken over
|                       |
+-----------------------+
           main

平衡中心主

+-----+-----------+-----+
|     |           |     |
|     |           |     |
+-----+           +--+--+
|  |__|           |  |__|
|  |  |           |  |  |
+-----+-----------+--+--+
  1st      main     2nd
 stack             stack

+-----------+-----------+
|           |           |
|           |           |  unoccupied
|           |           |  space is
|           |           |  taken over
|           |           |
+-----------+-----------+
  1st stack      main

+-----------------------+
|                       |
|                       |  unoccupied
|                       |  space is
|                       |  taken over
|                       |
+-----------------------+
           main

流体中心主

 1st               2nd
 stack     main    stack
+-----+-----------+-----+
|     |           |     |
|     |           +-----+
|     |           |     |
|     |           +-----+
|     |           |     |
+-----+-----------+-----+
  1st      main     2nd
 stack             stack

+-----+-----------+-----+
|     |           |.....|
|     |           |.....|  unoccupied
|     |           |.....|  space is
|     |           |.....|  reserved
|     |           |.....|
+-----+-----------+-----+
  1st      main
 stack

+-----+-----------+-----+
|.....|           |.....|
|.....|           |.....|  unoccupied
|.....|           |.....|  space is
|.....|           |.....|  reserved
|.....|           |.....|
+-----+-----------+-----+
           main

构建

构建和测试项目

注意 需要 Rust >= 1.56.0

make

运行演示应用程序

注意 运行演示需要您安装GTK (gtk3) 和 pango (?)

make dev

依赖关系

~0.4–1MB
~22K SLoC