# io.github.libtmux.scaladsl.query.Expr

- **Module:** io.github.libtmux.scaladsl.query
- **Package:** io.github.libtmux:libtmux-scala_3
- **Language:** Scala
- **Kind:** typealias
- **Source:** https://github.com/libtmux/libtmux-java/blob/f56392b5d9bc7f1f9c1631842333fb90f3d82d40/libtmux-scala/src/main/scala/io/github/libtmux/scaladsl/query/Expr.scala#L12
- **Page:** https://libtmux.org/en/scala/latest/reference/io-github-libtmux-scaladsl-query-expr-zfkn/

```
opaque type Expr[T] = JavaFilterExpr[T]

object Expr
```

A filter over `T`, both runnable and readable, opaque over Java's own `FilterExpr[T]` — lossless by construction, the same reasoning [[io.github.libtmux.scaladsl.Pane]] and its siblings rest on. `T` is the raw Java handle type a Java field metamodel (`Pane_`, `Session_`, ...) is built over, not this facade's opaque one: a query is a Java-shaped value that this facade's own `.matching` extensions apply to captured Scala handles.

## Members

### Common operations

- `not` (method): `unary_!`, spelled out.

### Other members

- `&&` (method)
- `||` (method)
- `and` (method): `&&`, spelled out.
- `apply` (method): Wraps an existing Java expression, such as one a typed field method already produced.
- `asJava` (method): The underlying Java expression. Opaque wrapping is free, so this never copies anything.
- `describe` (method): Renders this expression as inspectable text.
- `matches` (method): Evaluates this expression against one value, with no tmux I/O.
- `or` (method): `||`, spelled out.
- `unary_!` (method)
