Skip to main content

Module shim

Module shim 

Source

Re-exports§

pub use prost;
pub use super::ui_components::*;

Modules§

alloc
The Rust core allocation and collections library
bytes
Provides abstractions for working with bytes.
plugin_api

Structs§

DecodeError
A Protobuf message decoding error.
EncodeError
A Protobuf message encoding error.

Traits§

Message
A Protocol Buffers message.
Name
Associate a type name with a Message type.

Functions§

block_cli_pipe_input
Block the input side of a pipe, will only be released once this or another plugin unblocks it
break_panes_to_new_tab
Create a new tab that includes the specified pane ids
break_panes_to_tab_with_id
Move the pane ids to the tab with the specified id
break_panes_to_tab_with_index
Move the pane ids to the tab with the specified index
change_floating_panes_coordinates
change_host_folder
clear_key_presses_intercepts
clear_pane_highlights
Remove all regex highlights this plugin has set on the given pane.
clear_screen
Clear the scroll buffer of the focused pane
clear_screen_for_pane_id
Clear the scroll buffer of the specified pane
cli_pipe_output
Send output to the output side of a pipe, ths does not affect the input side of same pipe
close_focus
Close the focused pane
close_focused_tab
Close the focused tab
close_multiple_panes
close_pane_with_id
Sugar for close_terminal_pane and close_plugin_pane
close_plugin_pane
Closes a plugin pane with the specified id
close_self
Close this plugin pane
close_tab_with_id
Close the tab with the given stable ID.
close_tab_with_index
Close the focused tab
close_terminal_pane
Closes a terminal pane with the specified id
copy_to_clipboard
Copy arbitrary text to the user’s clipboard
current_session_last_saved_time
Returns the elapsed time in milliseconds since the current session state was last saved to disk.
decode_length_delimiter
Decodes a length delimiter from the buffer.
delete_all_dead_sessions
Permanently delete all resurrectable sessions on this machine.
delete_dead_session
Permanently delete a resurrectable session with the given name.
delete_layout
Delete a layout from the user’s layout directory.
detach
Detach the user from the active session
disconnect_other_clients
Disconnect all other clients from the current session
dump_layout
Dumps a layout by name and returns its KDL content as a String
dump_session_layout
Get the serialized session layout in KDL format synchronously note: this removes the requesting plugin from the dumped layout
dump_session_layout_for_tab
Get the serialized layout for a specific tab in KDL format synchronously note: this removes the requesting plugin from the dumped layout
edit_layout
Opens a layout file in the user’s default $EDITOR
edit_scrollback
Edit the scrollback of the focused pane in the user’s default $EDITOR
edit_scrollback_for_pane_with_id
Edit the scrollback of the specified pane in the user’s default $EDITOR (currently only works for terminal panes)
embed_multiple_panes
encode_length_delimiter
Encodes a length delimiter to the buffer.
float_multiple_panes
focus_host_session
focus_last_pane
Change focus to the previously focused pane
focus_next_pane
Change focus tot he next pane in chronological order
focus_or_create_tab
Change focus to the tab with the specified name or create it if it does not exist
focus_pane_with_id
Changes the focus to the pane with the specified id, unsuppressing it if it was suppressed and switching to its tab and layer (eg. floating/tiled).
focus_plugin_pane
Changes the focus to the plugin pane with the specified id, unsuppressing it if it was suppressed and switching to its tab and layer (eg. floating/tiled).
focus_previous_pane
Change focus to the previous pane in chronological order
focus_terminal_pane
Changes the focus to the terminal pane with the specified id, unsuppressing it if it was suppressed and switching to its tab and layer (eg. floating/tiled).
generate_random_name
Generates a random human-readable name using Zellij’s curated word lists. Returns a name in the format AdjectiveNoun (e.g., “BraveRustacean”, “ZippyWeasel”).
generate_web_login_token
get_focused_pane
Returns the PaneInfo corresponding to the currently active pane (ignoring plugins)
get_focused_pane_info
Returns the focused pane ID and tab index for the client associated with this plugin.
get_focused_tab
Returns the TabInfo corresponding to the currently active tab
get_layout_dir
Returns the path to the layout directory.
get_pane_cwd
Gets the current working directory for a specific pane by its ID.
get_pane_info
Query information about a specific pane by its PaneId.
get_pane_pid
Get the PID of the process running inside a terminal pane
get_pane_running_command
Gets the current running command for a specific pane by its ID.
get_pane_scrollback
Retrieves the scrollback contents from the specified pane
get_plugin_ids
Returns the unique Zellij pane ID for the plugin as well as the Zellij process id.
get_session_environment_variables
get_session_list
Fetches a fresh snapshot of all live and resurrectable sessions on this machine.
get_tab_info
Query information about a specific tab by its tab ID.
get_zellij_version
Returns the version of the running Zellij instance - can be useful to check plugin compatibility
go_to_next_tab
Change focus to the next tab or loop back to the first
go_to_previous_tab
Change focus to the previous tab or loop back to the last
go_to_tab
go_to_tab_name
Change focus to the tab with the specified name
group_and_ungroup_panes
hide_floating_panes
Hide all floating panes in the specified tab, or the active tab if tab_id is None.
hide_pane_with_id
Hide the pane (suppress it) with the specified PaneId from the UI
hide_self
Hide the plugin pane (suppress it) from the UI
highlight_and_unhighlight_panes
intercept_key_presses
kill_sessions
Kill all Zellij sessions in the list.
length_delimiter_len
Returns the encoded length of a length delimiter.
list_clients
Get a list of clients, their focused pane and running command or focused plugin back as an Event::ListClients (note: this event must be subscribed to)
list_web_login_tokens
list_windows_volumes
List Windows volumes (drives and WSL distributions). Results are returned via the FileSystemUpdate event. This command is only supported on Windows and requires FullHdAccess permission.
load_new_plugin
Reload an already-running in this session, optionally skipping the cache
move_focus
Change the focused pane in the specified direction
move_focus_or_tab
Change the focused pane in the specified direction, if the pane is on the edge of the screen, the next tab is focused (next if right edge, previous if left edge).
move_pane
Switch the position of the focused pane with a different pane
move_pane_with_direction
Switch the position of the focused pane with a different pane in the specified direction (eg. Down, Up, Left, Right).
move_pane_with_pane_id
Switch the position of the pane with this id with a different pane
move_pane_with_pane_id_in_direction
Switch the position of the pane with this id with a different pane in the specified direction (eg. Down, Up, Left, Right).
new_pane
new_tab
Open a new tab with the default layout
new_tab_unfocused
new_tabs_with_layout
Provide a stringified layout to be applied to the current session. If the layout has multiple tabs, they will all be opened.
new_tabs_with_layout_info
Provide a LayoutInfo to be applied to the current session in a new tab. If the layout has multiple tabs, they will all be opened.
new_tiled_pane_in_tab
next_swap_layout
Change to the next swap layout
open_command_pane
Open a new command pane with the specified command and args (this sort of pane allows the user to control the command, re-run it and see its exit status through the Zellij UI).
open_command_pane_background
Open a new hidden (background) command pane with the specified command and args (this sort of pane allows the user to control the command, re-run it and see its exit status through the Zellij UI).
open_command_pane_floating
Open a new floating command pane with the specified command and args (this sort of pane allows the user to control the command, re-run it and see its exit status through the Zellij UI).
open_command_pane_floating_near_plugin
Open a new floating command pane with the specified command and args (this sort of pane allows the user to control the command, re-run it and see its exit status through the Zellij UI). This variant is the same as open_command_pane_floating except it opens the pane in the same tab as the plugin regardless of whether the user is focused on it
open_command_pane_in_new_tab
Opens a new tab with a command pane running command_to_run. Returns (tab_id, pane_id) of the created tab and pane, or None if unavailable.
open_command_pane_in_place
Open a new in place command pane with the specified command and args (this sort of pane allows the user to control the command, re-run it and see its exit status through the Zellij UI).
open_command_pane_in_place_of_pane_id
Opens a command pane in place of the pane identified by pane_id. Unlike open_command_pane_in_place, this targets an arbitrary pane by ID rather than the focused pane, and does not change focus. If close_replaced_pane is false, the replaced pane is suppressed and restored when the new pane closes; if true, it is permanently closed. Returns the PaneId of the newly opened pane, or None if the operation failed.
open_command_pane_in_place_of_plugin
Open a new in place command pane with the specified command and args (this sort of pane allows the user to control the command, re-run it and see its exit status through the Zellij UI). This variant is the same as open_command_pane_in_place, except that it always replaces the plugin pane rather than whichever pane the user is focused on
open_command_pane_near_plugin
Open a new command pane with the specified command and args (this sort of pane allows the user to control the command, re-run it and see its exit status through the Zellij UI). This variant is the same as open_command_pane except it opens the pane in the same tab as the plugin regardless of whether the user is focused on it
open_edit_pane_in_place_of_pane_id
Opens an editor pane in place of the pane identified by pane_id. Unlike open_file_in_place, this targets an arbitrary pane by ID rather than the focused pane, and does not change focus. If close_replaced_pane is false, the replaced pane is suppressed and restored when the new pane closes; if true, it is permanently closed. Returns the PaneId of the newly opened pane, or None if the operation failed.
open_editor_pane_in_new_tab
Opens a new tab with an editor pane for file_to_open. Returns (tab_id, pane_id) of the created tab and pane.
open_file
Open a file in the user’s default $EDITOR in a new pane
open_file_floating
Open a file in the user’s default $EDITOR in a new floating pane
open_file_floating_near_plugin
Open a file in the user’s default $EDITOR in a new floating pane near the plugin
open_file_in_place
Open a file in the user’s default $EDITOR, replacing the focused pane
open_file_in_place_of_plugin
Open a file in the user’s default $EDITOR, replacing the plugin pane
open_file_near_plugin
Open a file in the user’s default $EDITOR in a new pane near th eplugin
open_plugin_pane_floating
Open a new floating plugin pane with the specified plugin URL and configuration. Returns the pane ID of the newly created plugin pane, if successful.
open_plugin_pane_in_new_tab
Opens a new tab with a plugin pane loaded from plugin_url. plugin_url can be a path (file:/path/to/plugin.wasm) or a named alias. Returns (tab_id, pane_id) of the created tab and pane.
open_terminal
Open a new terminal pane to the specified location on the host filesystem
open_terminal_floating
Open a new floating terminal pane to the specified location on the host filesystem
open_terminal_floating_near_plugin
Open a new floating terminal pane to the specified location on the host filesystem This variant is identical to open_terminal_floating, excpet it opens it near the plugin regardless of whether the user was focused on it or not
open_terminal_in_place
Open a new terminal pane to the specified location on the host filesystem, temporarily replacing the focused pane
open_terminal_in_place_of_plugin
Open a new terminal pane to the specified location on the host filesystem, temporarily replacing the plugin pane
open_terminal_near_plugin
Open a new terminal pane to the specified location on the host filesystem This variant is identical to open_terminal, excpet it opens it near the plugin regardless of whether the user was focused on it or not
open_terminal_pane_in_place_of_pane_id
Opens a terminal pane in place of the pane identified by pane_id. Unlike open_terminal_in_place, this targets an arbitrary pane by ID rather than the focused pane, and does not change focus. If close_replaced_pane is false, the replaced pane is suppressed and restored when the new pane closes; if true, it is permanently closed. cwd sets the working directory for the new terminal. Returns the PaneId of the newly opened pane, or None if the operation failed.
override_layout
page_scroll_down
Scroll the focused pane down one page
page_scroll_down_in_pane_id
Scroll the specified pane down one page
page_scroll_up
Scroll the focused pane up one page
page_scroll_up_in_pane_id
Scroll the specified pane up one page
parse_layout
Parses a KDL layout string and returns LayoutMetadata
pipe_message_to_plugin
Send a message to a plugin, it will be launched if it is not already running
post_message_to
Post a message to a worker of this plugin, for more information please see Plugin Workers
post_message_to_plugin
Post a message to this plugin, for more information please see Plugin Workers
previous_swap_layout
Change to the previous swap layout
query_web_server_status
quit_zellij
Compeltely quit Zellij for this and all other connected clients
rebind_keys
Rebind keys for the current user
reconfigure
Change configuration for the current user
reload_plugin_with_id
Reload an already-running in this session, optionally skipping the cache
rename_layout
Rename a layout file in the user’s layout directory
rename_pane_with_id
Rename the specified pane
rename_plugin_pane
Changes the name (the title that appears in the UI) of the plugin pane with the specified id.
rename_session
Rename the current session
rename_tab
Changes the name (the title that appears in the UI) of the tab with the specified position.
rename_tab_with_id
Changes the name (the title that appears in the UI) of the tab with the specified id.
rename_terminal_pane
Changes the name (the title that appears in the UI) of the terminal pane with the specified id.
rename_web_token
replace_pane_with_existing_pane
report_panic
request_permission
rerun_command_pane
Re-run command in pane
resize_focused_pane
Either Increase or Decrease the size of the focused pane
resize_focused_pane_with_direction
Either Increase or Decrease the size of the focused pane in a specified direction (eg. Left, Right, Up, Down).
resize_pane_with_id
Resize the specified pane (increase/decrease) with an optional direction (left/right/up/down)
revoke_all_web_tokens
revoke_web_login_token
run_action
run_command
Run this command in the background on the host machine, optionally being notified of its output if subscribed to the RunCommandResult Event
run_command_with_env_variables_and_cwd
Run this command in the background on the host machine, providing environment variables and a cwd. Optionally being notified of its output if subscribed to the RunCommandResult Event
save_layout
Save a layout to the user’s layout directory
save_session
Save the current session state to disk immediately.
scan_host_folder
Scan a specific folder in the host filesystem (this is a hack around some WASI runtime performance issues), will not follow symlinks
scroll_down
Scroll the focused pane down 1 line
scroll_down_in_pane_id
Scroll the specified pane down 1 line
scroll_to_bottom
Scroll the focused pane all the way to the bottom of the scrollbuffer
scroll_to_bottom_in_pane_id
Scroll the specified pane all the way to the bottom of the scrollbuffer
scroll_to_top
Scroll the focused pane all the way to the top of the scrollbuffer
scroll_to_top_in_pane_id
Scroll the specified pane all the way to the top of the scrollbuffer
scroll_up
Scroll the focused pane up 1 line
scroll_up_in_pane_id
Scroll the specified pane up 1 line
send_sigint_to_pane_id
Send SIGINT to the process running inside a terminal pane identified by this PaneId
send_sigkill_to_pane_id
Send SIGKILL to the process running inside a terminal pane identified by this PaneId
set_floating_pane_pinned
set_pane_borderless
Set the borderless state of a pane explicitly
set_pane_color
Set the default foreground and/or background color of a pane
set_pane_frame_style
set_pane_regex_highlights
Set or update regex-based content highlights for a pane.
set_selectable
Sets the plugin as selectable or unselectable to the user. Unselectable plugins might be desired when they do not accept user input.
set_self_mouse_selection_support
set_soft_keyboard
set_timeout
Set a timeout in seconds (or fractions thereof) after which the plugins update method will be called with the Timer event.
share_current_session
show_cursor
Shows the cursor at specific coordinates or hides it
show_floating_panes
Show all floating panes in the specified tab, or the active tab if tab_id is None.
show_pane_with_id
Show the pane (unsuppress it if it is suppressed) with the specified PaneId, focus it and switch to its tab
show_self
Show the plugin pane (unsuppress it if it is suppressed), focus it and switch to its tab
stack_panes
start_or_reload_plugin
start_web_server
stop_sharing_current_session
stop_web_server
subscribe
Subscribe to a list of Events represented by their EventTypes that will then trigger the update method
switch_session
Switch to a session with the given name, create one if no name is given
switch_session_with_cwd
Switch to a session with the given name, create one if no name is given
switch_session_with_focus
Switch to a session with the given name, focusing either the provided pane_id or the provided tab position (in that order)
switch_session_with_layout
Switch to a session with the given name, create one if no name is given
switch_tab_to
Change the focused tab to the specified index (corresponding with the default tab names, to starting at 1, 0 will be considered as 1).
switch_to_input_mode
Switch to the specified Input Mode (eg. Normal, Tab, Pane)
toggle_active_tab_sync
Turn the STDIN synchronization of the current tab on or off
toggle_floating_panes
toggle_focus_fullscreen
Toggle the focused pane to be fullscreen or normal sized
toggle_focus_no_ui_fullscreen
toggle_pane_borderless
Toggle the borderless state of a pane identified by pane_id
toggle_pane_embed_or_eject
Embed the currently focused pane (make it stop floating) or turn it to a float pane if it is not
toggle_pane_embed_or_eject_for_pane_id
Embed the specified pane (make it stop floating) or turn it to a float pane if it is not
toggle_pane_frames
Toggle the UI pane frames on or off
toggle_pane_id_fullscreen
Toggle the specified pane to be fullscreen or normal sized
toggle_tab
Focused the previously focused tab (regardless of the tab position)
unblock_cli_pipe_input
Unblock the input side of a pipe, requesting the next message be sent if there is one
undo_rename_pane
undo_rename_tab
unsubscribe
Unsubscribe to a list of Events represented by their EventTypes.
watch_filesystem
Start watching the host folder for filesystem changes (Note: somewhat unstable at the time being)
web_request
Make a web request, optionally being notified of its output if subscribed to the WebRequestResult Event, the context will be returned verbatim in this event and can be used for eg. marking the request_id
write
Write bytes to the STDIN of the focused pane
write_chars
Write characters to the STDIN of the focused pane
write_chars_to_pane_id
Write characters to the STDIN of the specified pane
write_to_pane_id
Write bytes to the STDIN of the specified pane

Derive Macros§

Enumeration
Message
Oneof