# io.github.libtmux.kotlin.Options

- **Module:** io.github.libtmux.kotlin
- **Package:** io.github.libtmux:libtmux-kotlin
- **Language:** Kotlin
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-java/blob/f56392b5d9bc7f1f9c1631842333fb90f3d82d40/libtmux-kotlin/src/main/kotlin/io/github/libtmux/kotlin/Options.kt#L16
- **Page:** https://libtmux.org/en/kotlin/latest/reference/io-github-libtmux-kotlin-options/

```
public class Options
```

Read and update options for the server, session, window, or pane that owns this handle.

Holds the Java handle privately, so a member here always wins over a same-named catalog-generated
extension in `OptionsOperations.kt`. `get`/`set` are hand-written in both overloads: a Kotlin member
makes every same-named extension unreachable regardless of its own parameter types, so the
`OptionKey<T>` overload cannot be added beside a generated `get(String)`/`set(String, String)`
without also hand-writing those.

## Members

### Other members

- `all` (method): Every option set at this scope, in tmux's order.
- `append` (method): Adds to the end of a string option, rather than replacing it.
- `asJava` (property): The Java options this wraps: the same object, for a Java API that takes one.
- `effective` (method): Every option tmux lists at this scope, including inherited built-in values.
- `equals` (method)
- `get` (method): The value in effect at this scope, inherited from a parent scope when this one does not set it.
- `hashCode` (method)
- `server` (property)
- `set` (method): Sets one option at this scope.
- `setExpanded` (method): Sets one option to what a tmux format comes to, rather than to the format itself.
- `setIfAbsent` (method): Sets one option only if this scope does not already set it.
- `toString` (method)
- `unset` (method): Removes one option at this scope, so it falls back to whatever it inherits.
