Common snippets for developing Zellij plugins

This page describes some common tasks and snippets that can be used for the plugin development. Snippets are written in Rust, but the concepts should be transferable to other languages as well. All examples are based on the rust-plugin-example. Non selectable plugins with permissions If a plugin (like a statusbar) should be non selectable, zellij-tile provides the function set_selectable(). When this function is directly called on plugin initialization, a user won’t be able to grant plugin permissions since the plugin cannot be selected....

2024-05-10

Getting started with developing Zellij plugins

This guide will help you get started with developing a plugin for Zellij in Rust. It will guide you through setting up your development environment, creating a new plugin, and playing around to understand how Zellij plugins work. Requirements Make sure you have the following programs installed on your system: Rust with the wasm32-wasi target or rustup Zellij If you have installed rustup, you can install the wasm32-wasi target by running:...

2024-05-10

Learnings from developing a zellij plugin

Zellij is a terminal multiplexer written in Rust, that aims to provide an intuitive and easy to extend working environment. With version 0.37.0 Zellij introduced a plugin system, that allows users to write plugins with WebAssembly. Additionally the plugin system provides a rust crate with an API to interact with the Zellij core. Since zellij to the date of writing this article has not provided customizations for the status bar, I decided to write one that is easily customizable by writing KDL configuration into layout files - zjstatus....

2024-01-01