PaneInput
One writer at a time for a pane's keyboard, paste, and shell run.
Source and package
- Qualified name
-
io.github .libtmux .Pane Input - Package
- io.github.libtmux
- Distribution
- io.github.libtmux:libtmux
- Source
- libtmux/src/main/java/io/github/libtmux/PaneInput.java
-
Description#
Those three share one screen.
#holdthrows if another thread already has the pane. The same thread may hold it again; the pane is free when the outer hold closes.Pane#sendKeys,Pane#sendLiteral,Pane#paste,Pane#pasteBuffer, andPane#runtake a hold for the call and release it when they return. A command still running afterrunreturns is not held unless the caller kept#holdor#holdInterruptiblearound that call. Raw commands andCommandChainsteps do not take it.#holdInterruptibleis that longer hold. Another thread may#enterInterruptit to send a stop, and that entry does not take the pane. Closing the run's lease still releases it, including from the thread that notices the command has finished.
Members7#
- enterInterrupt method Enters a pane
#holdInterruptibleis holding, without taking it. - held method Every pane held right now, for diagnosing a lease nothing ever closes.
- Held class One pane's outstanding hold.
- heldSince method Reports when the current hold on this pane was acquired, so a lease nothing ever closes can be found from outside the thread holding it.
- hold method Excludes other threads from this pane until the lease closes. The pane is the one its capture named: the same id on a server started since is another pane, and is not held.
- holdInterruptible method Holds the pane for a command that another thread may have to stop.
- Lease class Releases one matching hold. Closing twice releases once. Any thread may close it.