# io.github.libtmux.Options.Options

- **Module:** io.github.libtmux.Options
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-java/blob/842228310449e879ebcaa3f910597757c9dbffd6/libtmux/src/main/java/io/github/libtmux/Options.java#L27
- **Page:** https://libtmux.org/en/java/latest/reference/io-github-libtmux-options-options/

The tmux options at one scope.

tmux keeps options on the server, on a session, on a window and on a pane, and the same option
name can exist at more than one of them. A scope is therefore chosen when the view is obtained,
not passed to every call, so a caller cannot read one scope and write another.

Array options keep the subscript tmux prints — {@code command-alias[0]} — because that is what
addresses the individual entry when setting it back.

## Members

- `server` (method)
- `global` (method)
- `session` (method)
- `window` (method)
- `pane` (method)
- `get` (method): The value in effect at this scope, inherited from a parent scope when this one does not set it.
- `set` (method): As {@link #set(String, String)}, written the way tmux reads the key's type.
- `all` (method): Every option set at this scope, in tmux's order. Inherited values are not listed.
- `effective` (method): Every option in effect at this scope, including the ones inherited rather than set here.
- `setIfAbsent` (method): Sets one option only if this scope does not already set it.
- `append` (method): Adds to the end of a string option, rather than replacing it.
- `setExpanded` (method): Sets one option to what a tmux format comes to, rather than to the format itself.
- `unset` (method): Removes one option at this scope, so it falls back to whatever it inherits.
