Rtop Dev

Made with Rust Use git

Developement librairy for making Rtop's Plugin

Quick Example

Rtop let you create plugin for adding custom widgets. Firstly, create a new project: cargo new --lib MyPlugin After that, update your Cargo.toml file. It should look like that: ```toml [package] name = "my_plugin" version = "0.1.0" edition = "2021"

[dependencies] rtop_dev = "^1.1.0"

[lib] name = "my_plugin" crate-type = ["cdylib"] Then, edit your `src/lib.rs` to have somethings like this: rust struct FooWidget {}

impl rtop_dev::widget::Widget for FooWidget { fn display(&mut self, _height: i32, _width: i32) -> String { String::from("Hello World RTop!") } }

[no_mangle]

pub extern "Rust" fn init_foo() -> (Box, bool) { (Box::new(FooWidget{}), false) }

To build your lib, simply run: cargo build --lib --release `` Your plugin should be located heretarget/release/libmy_plugin.so`.

Remember these things, For each widget you want to create, you must make a function called init_{WIDGET} which return a Box<dyn rtop_dev::plugin::Plugin and a bool that defines if your widget should receive input from the user or not. Don't forget to add #[no_mangle] in front of each init function. Otherwise, it will not be exported

Contributors

SquitchYT

License

RTop | Mozilla Public License 2.0