12个版本
使用旧Rust 2015
0.5.4 | 2018年9月3日 |
---|---|
0.5.3 | 2017年11月21日 |
0.4.2 | 2017年11月18日 |
0.3.0 | 2017年10月31日 |
0.1.0 | 2017年10月14日 |
#4 in #dock
每月下载量39
81KB
1.5K SLoC
[已弃用]
此项目从未达到可用的状态,并且不再开发。
lib.rs
:
Leechbar是一个用于创建自己的栏/面板/托盘的crate。
Leechbar的目标是提供一个库,允许创建一个完全定制的栏。其目的不是简单。因此,如果您不打算使用比简单文本更多的内容,您可能想看看像lemonbar这样的东西。
用法
此crate可以通过crates.io安装,并且可以通过将其添加到您的Cargo.toml
中使用。
[dependencies]
leechbar = "0.2.1"
示例
这些片段只是触及了使用leechbar的基本知识,对于更完整的示例,您可以查看github存储库。
使用leechbar的第一件事是设置栏配置本身。这是使用BarBuilder
结构体完成的。
use leechbar::{BarBuilder, Color};
// All method calls that take parameters are optional
BarBuilder::new()
.background_color(Color::new(255, 0, 255, 255))
.font("Fira Mono Medium 14")
.output("DVI-1")
.height(30)
.spawn()
.unwrap();
在创建配置后,您需要将组件添加到栏中。这稍微复杂一些,因为您需要实现Component
特质。
use leechbar::{Bar, BarBuilder, Component, Text, Foreground};
struct MyComponent {
bar: Bar,
}
// You can define your own custom components like this
impl Component for MyComponent {
// Print "Hello, World!" as text
fn foreground(&self) -> Foreground {
Text::new(&self.bar, "Hello, World", None, None).unwrap().into()
}
}
// Create a new bar
let mut bar = BarBuilder::new().spawn().unwrap();
// Create an instance of the component
let comp = MyComponent { bar: bar.clone() };
// Add an instance of your component to your bar
bar.add(comp);
// Start the event loop that handles all X events
bar.start_event_loop();
日志记录
此crate支持log
,如果您想启用此日志记录,可以将env_logger
添加到您的二进制文件中。
extern crate env_logger;
fn main() {
env_logger::init();
// All the cool bar stuff
}
依赖关系
~18MB
~196K SLoC