# LibTmux::Server#wait_for

- **Module:** LibTmux
- **Package:** libtmux
- **Language:** Ruby
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-ruby/blob/dcc9f8b5a6970144a9e7d80cd5f381d8f6198372/gems/libtmux/lib/libtmux/operations.rb#L47
- **Page:** https://libtmux.org/en/ruby/v0.1.0.alpha.2/reference/libtmux-server-wait_for/

tmux command: [`wait-for`](/en/tmux/latest/manual/wait-for/)

```
def wait_for: (
  ::String,
  ?action: :wait | :signal | :lock | :unlock,
  ?timeout: ::Numeric,
  ?cancel: untyped
) -> ::LibTmux::CommandResult
```

Retiring the client cannot remove a dispatched waiter from tmux's queue.

Behavior contract: Wait channels.

## In other ports

### Wait for, signal or lock a channel

- Python: [`libtmux.Server.wait_for`](/en/py/latest/reference/libtmux-server-wait_for/) (method)
- Rust: [`server.Server.wait_for_channel`](/en/rs/latest/reference/server-server-wait_for_channel/) (method)
- Go: [`tmux.Server.WaitFor`](/en/go/latest/reference/tmux-server-waitfor/) (method)
- C#: [`LibTmux.Server.WaitForAsync`](/en/csharp/latest/reference/libtmux-server-waitforasync/) (method)
- C++: [`libtmux::Server::wait_for`](/en/cxx/latest/reference/libtmux-server-wait_for/) (method)
- Swift: [`Server.wait(for:)`](/en/swift/latest/reference/server-wait(for-)/) (method)
