4 个版本
0.1.5 | 2024 年 5 月 26 日 |
---|---|
0.1.4 | 2024 年 5 月 22 日 |
0.1.3 | 2024 年 5 月 21 日 |
0.1.2 | 2024 年 5 月 21 日 |
#147 在 配置 中
每月 155 次下载
53KB
1K SLoC
layaway
嘿,想象一下你会在笔记本电脑上使用 Sway,并且经常出差。出差时,人们经常需要将外接的输出/屏幕临时连接到笔记本电脑!
但是,哦不,等待着你的是什么呢?仅使用 Sway 的机制,你需要自己计算每个输出的确切像素位置!
不用担心,因为这个过度设计的项目旨在减轻你的痛苦:通过 DSL 指定 相对 逻辑位置,而不是指定 绝对 像素位置,例如“eDP-1 输出在 DP-3 下方居中”,通过 DSL。实际上,这种情况在 DSL 中看起来是这样的
dp3 + edp/bottom
砰!这就是本项目的所有需求,因为它从 Sway 中获取所有需要的详细信息。作为 shell 命令,这足以
layaway 'dp3 + edp/bottom'
安装
从最新版本
查看 https://github.com/MultisampledNight/layaway/releases/latest,它列出了要运行的 shell 命令!
从源代码
- 安装 Rust
- 运行
cargo install layaway
- 按需使用
layaway
!
[!WARNING] 只支持 Unixalike 上的 Sway。如果你想查看
comms
模块并为此打开一个问题或甚至 PR,请随意查看!
使用说明
查看 parse::dsl
模块以获取 DSL 的工作方式(包括 ABNF 正式化!)的详细描述。
您可以通过两种方式指定要使用的布局:通过命令行(CLI)强制执行,如果两者都指定,则优先,或者通过配置文件声明性指定,允许特定于机器的配置。
配置文件
由于在启动时再次键入布局很少是期望的,因此可以通过配置文件定义每个机器上要使用的布局。在这种情况下,应用布局所需做的就是运行 layaway
,它将查找该主机名的布局并应用它!
配置文件的位置是通过 directories-next 确定的,但实际上归结为 ~/.config/layaway/config.toml
(符合XDG规范,如果设置了适当的env变量则尊重它们)。
它使用TOML编写,包含一个名为 [machines]
的单张表。每个键值对对应一台机器。键指定了要使用的计算机的名称,值是上述DSL中实际布局。
例如,这是我为我的两台机器使用的配置文件
[machines]
destined = "dp + edp/bottom"
overloaded = "dp3 + hdmia/right,bottom"
如果机器的主机名为 destined
,则使用 dp + edp/bottom
;如果机器的主机名为 overloaded
,则使用 dp3 + hdmia/right,bottom
。
如果机器的主机名不在配置文件中,则需要将其添加到配置文件中或通过CLI指定布局描述。
无应用
如果您不想直接应用布局,而只是查看它或将它包含到您的 Sway 配置文件中,您也可以选择将 --no-apply
标志传递给CLI,以便将将要运行的所有命令打印到stdout。
许可
根据您的要求,许可方式为以下之一
- Apache License,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
请随时提出您想要看到或希望看到的问题或PR!然而:除非您明确声明,否则根据Apache-2.0许可中定义的,您提交的任何有意包含在作品中的贡献都应按照上述方式双许可,没有任何附加条款或条件。
依赖项
~4–29MB
~408K SLoC