# LibTmux.Snapshot.PaneRef

- **Package:** libtmux-haskell
- **Language:** Haskell
- **Kind:** data type
- **Source:** https://github.com/libtmux/libtmux-haskell/blob/663e212622a02aa74a9bdc8ff71e2b45fcb1d4d5/internal/LibTmux/Internal/Graph.hs#L70
- **Page:** https://libtmux.org/en/haskell/latest/reference/libtmux-snapshot-t-paneref/

```haskell
data PaneRef
```

Physical pane targeting identity within a [`Generation`](/en/haskell/latest/reference/libtmux-snapshot-t-generation/). This carries
 identity, while the supplied [`Snapshot`](/en/haskell/latest/reference/libtmux-snapshot-t-snapshot/) determines the observed values.

## Instances

- instance [NFData](https://hackage.haskell.org/package/deepseq-1.5.1.0/docs/Control-DeepSeq.html#t:NFData) [`PaneRef`](/en/haskell/latest/reference/libtmux-snapshot-t-paneref/) ([Source](https://github.com/libtmux/libtmux-haskell/blob/663e212622a02aa74a9bdc8ff71e2b45fcb1d4d5/internal/LibTmux/Internal/Graph.hs#L72))

- instance [Eq](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Eq.html#t:Eq) [`PaneRef`](/en/haskell/latest/reference/libtmux-snapshot-t-paneref/) ([Source](https://github.com/libtmux/libtmux-haskell/blob/663e212622a02aa74a9bdc8ff71e2b45fcb1d4d5/internal/LibTmux/Internal/Graph.hs#L71))

- instance [Ord](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Ord.html#t:Ord) [`PaneRef`](/en/haskell/latest/reference/libtmux-snapshot-t-paneref/) ([Source](https://github.com/libtmux/libtmux-haskell/blob/663e212622a02aa74a9bdc8ff71e2b45fcb1d4d5/internal/LibTmux/Internal/Graph.hs#L71))

- instance [Show](https://hackage.haskell.org/package/base-4.22.0.0/docs/Prelude.html#t:Show) [`PaneRef`](/en/haskell/latest/reference/libtmux-snapshot-t-paneref/) ([Source](https://github.com/libtmux/libtmux-haskell/blob/663e212622a02aa74a9bdc8ff71e2b45fcb1d4d5/internal/LibTmux/Internal/Graph.hs#L71))

## Referenced declarations

- [`LibTmux.Snapshot.PaneRef`](/en/haskell/latest/reference/libtmux-snapshot-t-paneref/) (data type)

## In other ports

A tmux pane

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Pane`](/en/py/latest/reference/libtmux-pane/) (class) |
| Ruby | [`LibTmux::Pane`](/en/ruby/latest/reference/libtmux-pane-14z6/) (class) |
| Lua | [`libtmux.Pane`](/en/lua/latest/reference/libtmux-pane/) (class) |
| PowerShell | [`LibTmux\Get-TmuxPane`](/en/powershell/latest/reference/libtmux-get-tmuxpane/) (cmdlet). This cmdlet reads shared .NET `LibTmux.Pane` objects. Its [`-Server`](/en/powershell/latest/reference/libtmux-get-tmuxpane/#LibTmux%5CGet-TmuxPane.parameter.Server), [`-Session`](/en/powershell/latest/reference/libtmux-get-tmuxpane/#LibTmux%5CGet-TmuxPane.parameter.Session), and [`-Window`](/en/powershell/latest/reference/libtmux-get-tmuxpane/#LibTmux%5CGet-TmuxPane.parameter.Window) parameter sets select the scope. |
| Julia | [`LibTmux.PaneSnapshot`](/en/julia/latest/reference/libtmux-panesnapshot/) (struct). `PaneSnapshot` holds captured pane data. Actions use its `PaneRef`; `PaneOccurrence` adds a window placement in a session. |
| Erlang | [`#tmux_model:pane{}`](/en/erlang/latest/reference/tmux_model-pane/) (struct) |
| Elixir | [`LibTmux.Pane`](/en/elixir/latest/reference/libtmux-pane/) (struct). `Pane` is an immutable physical pane observation. It does not send keys or capture text. |
| Common Lisp | [`libtmux:pane`](/en/lisp/latest/reference/libtmux-pane/) (class). `pane` is an immutable captured physical pane. |
| TypeScript | [`pane.Pane`](/en/ts/latest/reference/pane-pane/) (class) |
| Rust | [`pane.Pane`](/en/rs/latest/reference/pane-pane/) (struct) |
| Go | [`tmux.Pane`](/en/go/latest/reference/tmux-pane/) (struct) |
| Java | [`io.github.libtmux.Pane`](/en/java/latest/reference/io-github-libtmux-pane-pane/) (class) |
| Clojure | [`libtmux.data/panes`](/en/clojure/latest/reference/libtmux-data-panes/) (function). Traverses captured pane maps without I/O. Use keyword lookup for scalar observations and the preserved :tmux/ref for effects. |
| Kotlin | [`io.github.libtmux.kotlin.Pane`](/en/kotlin/latest/reference/io-github-libtmux-kotlin-pane/) (class) |
| Scala | [`io.github.libtmux.scaladsl.Pane`](/en/scala/latest/reference/io-github-libtmux-scaladsl-pane/) (typealias) |
| C# | [`LibTmux.Pane`](/en/csharp/latest/reference/libtmux-pane/) (class) |
| F# | [`LibTmux.FSharp.Pane`](/en/fsharp/latest/reference/libtmux-fsharp-pane/) (module). This F# module reads captured fields and starts explicit operations on the shared .NET `LibTmux.Pane` type. |
| C++ | [`libtmux::Pane`](/en/cxx/latest/reference/libtmux-pane/) (class) |
| Swift | [`Pane`](/en/swift/latest/reference/pane/) (struct) |
| OCaml | [`Libtmux.Pane.t`](/en/ocaml/latest/reference/libtmux-pane-t/) (typealias) |
| Perl | [`LibTmux::Pane`](/en/perl/latest/reference/libtmux-pane/) (class). A physical pane retains its captured graph, without retaining transport. |
| Raku | [`LibTmux::Model::Pane`](/en/raku/latest/reference/libtmux-model-pane/) (class) |
