Server
Optional Future facade over the core protocol
Source and package
- Qualified name
-
LibTmux:: Async:: Server - Module
- LibTmux::Async
- Package
- LibTmux-Async
- Source
- packages/async/lib/LibTmux/Async/Server.pm
- package Lib
Tmux:: ;Async:: Server -
Description#
SYNOPSIS
use v5.44;use IO::Async::Loop::Ppoll;use LibTmux::Async::Server;my $loop = IO::Async::Loop::Ppoll->new;my $server = LibTmux::Async::Server->new(loop => $loop, socket_name => 'owned');my $capture = $server->snapshot;$loop->await($capture);my $panes = $capture->get->panes->where({ active => true });$loop->await($server->close);Examples#
Complete installed-package program with an owned tmux fixture and result/cleanup assertions. View source
use v5.44;use FindBin;use lib "$FindBin::Bin/../scripts/lib";use IO::Async::Loop::Ppoll;use Future::AsyncAwait;use LibTmux::Async::Server;use LibTmuxFixture;async sub capture_count ($server) {my $snapshot = await $server->snapshot;my $count = $snapshot->panes->count;await $server->close;return $count;}LibTmuxFixture->run(sub ($sync, $root) {$sync->new_session(name => 'await-example',command => ['/bin/sleep', '120']);my $loop = IO::Async::Loop::Ppoll->new;my $server = LibTmux::Async::Server->new(loop => $loop,socket_path => "$root/s",executable => $ENV{LIBTMUX_TEST_TMUX} // 'tmux');my $work = capture_count($server);$loop->await($work);die 'await result differs' unless $work->get == 1;say 'optional caller await syntax: ok';});
Members43#
Collections and queries3#
- clients method See
"clients" in LibTmux::Serverfor arguments, returned value, and completion. - snapshot method See
"snapshot" in LibTmux::Serverfor arguments, returned value, and completion. - query_panes method See
"query_panes" in LibTmux::Serverfor arguments, returned value, and completion. Its observer runs inline in void context; a returned Future is ignored. Cancellation before the decision suppresses it. If the observer cancels its query or calls"close", cancellation takes precedence over subsequent return or exception delivery. Continue driving the loop until close cleanup completes.
Common operations32#
- capture_pane method See
"capture_pane" in LibTmux::Serverfor arguments, returned value, and completion. - send_keys method See
"send_keys" in LibTmux::Serverfor arguments, returned value, and completion. - new_session method See
"new_session" in LibTmux::Serverfor arguments, returned value, and completion. - new_window method See
"new_window" in LibTmux::Serverfor arguments, returned value, and completion. - split_pane method See
"split_pane" in LibTmux::Serverfor arguments, returned value, and completion. - kill_server method See
"kill_server" in LibTmux::Serverfor arguments, returned value, and completion. - select_layout method See
"select_layout" in LibTmux::Serverfor arguments, returned value, and completion. - kill_session method See
"kill_session" in LibTmux::Serverfor arguments, returned value, and completion. - kill_window method See
"kill_window" in LibTmux::Serverfor arguments, returned value, and completion. - kill_pane method See
"kill_pane" in LibTmux::Serverfor arguments, returned value, and completion. - rename_session method See
"rename_session" in LibTmux::Serverfor arguments, returned value, and completion. - rename_window method See
"rename_window" in LibTmux::Serverfor arguments, returned value, and completion. - link_window method See
"link_window" in LibTmux::Serverfor arguments, returned value, and completion. - unlink_window method See
"unlink_window" in LibTmux::Serverfor arguments, returned value, and completion. - select_window method See
"select_window" in LibTmux::Serverfor arguments, returned value, and completion. - select_pane method See
"select_pane" in LibTmux::Serverfor arguments, returned value, and completion. - resize_pane method See
"resize_pane" in LibTmux::Serverfor arguments, returned value, and completion. - show_hooks method See
"show_hooks" in LibTmux::Serverfor arguments, returned value, and completion. - move_window method See
"move_window" in LibTmux::Serverfor arguments, returned value, and completion. - set_title method See
"set_title" in LibTmux::Serverfor arguments, returned value, and completion. - show_buffer method See
"show_buffer" in LibTmux::Serverfor arguments, returned value, and completion. - set_buffer method See
"set_buffer" in LibTmux::Serverfor arguments, returned value, and completion. - delete_buffer method See
"delete_buffer" in LibTmux::Serverfor arguments, returned value, and completion. - cmd method See
"cmd" in LibTmux::Serverfor arguments, returned value, and completion. - set_option method See
"set_option" in LibTmux::Serverfor arguments, returned value, and completion. - unset_option method See
"unset_option" in LibTmux::Serverfor arguments, returned value, and completion. - set_hook method See
"set_hook" in LibTmux::Serverfor arguments, returned value, and completion. - set_environment method See
"set_environment" in LibTmux::Serverfor arguments, returned value, and completion. - unset_environment method See
"unset_environment" in LibTmux::Serverfor arguments, returned value, and completion. - get_option method See
"get_option" in LibTmux::Serverfor arguments, returned value, and completion. - detach_client method See
"detach_client" in LibTmux::Serverfor arguments, returned value, and completion. - get_environment method See
"get_environment" in LibTmux::Serverfor arguments, returned value, and completion.
Other members8#
- attach_argv method See
"attach_argv" in LibTmux::Serverfor arguments, returned value, and completion. - batch method See
"batch" in LibTmux::Serverfor arguments, returned value, and completion. - close method Cancel active operations, suppress subsequent command continuations, reject new operations, and return a fresh cleanup observer Future. Only successful
is_donecompletion proves owned processes and pipes finished. Cancellation of an observer does not cancel cleanup. The caller must drive its borrowed loop through shutdown. No tmux server is destroyed by closing this facade. - execute method See
"execute" in LibTmux::Serverfor arguments, returned value, and completion. - explain_panes method See
"explain_panes" in LibTmux::Serverfor arguments, returned value, and completion. - listings method See
"listings" in LibTmux::Serverfor arguments, returned value, and completion. - new method
new(loop => $loop, %connection_options)constructs without I/O. Borrow an IO::Async::Loop::Ppoll; connection options belong to"new" in LibTmux::Server.max_concurrentandmax_queueconfigure the ownedLibTmux::Async::Transport. Itsbackend and signal contractapplies to this facade. No event loop is run implicitly. - send_text method See
"send_text" in LibTmux::Serverfor arguments, returned value, and completion.