diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-04-04 19:22:04 +0300 |
|---|---|---|
| committer | Can Celik <ogulcancelik@gmail.com> | 2026-04-05 01:23:06 +0300 |
| commit | 41dd733ca7123c9ac4bfc6c781697a660e95b052 (patch) | |
| tree | 3fc91815ca139ef2e0b281bba0abda4ef15175f4 /vendor/libghostty-vt/src/termio/Options.zig | |
| parent | 55c138263e190a1e79d4b997bfb9397306c0ec1f (diff) | |
feat: finish ghostty pane backend integration
Diffstat (limited to 'vendor/libghostty-vt/src/termio/Options.zig')
| -rw-r--r-- | vendor/libghostty-vt/src/termio/Options.zig | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/libghostty-vt/src/termio/Options.zig b/vendor/libghostty-vt/src/termio/Options.zig new file mode 100644 index 00000000..a6bf8c4d --- /dev/null +++ b/vendor/libghostty-vt/src/termio/Options.zig @@ -0,0 +1,41 @@ +//! The options that are used to configure a terminal IO implementation. + +const xev = @import("../global.zig").xev; +const apprt = @import("../apprt.zig"); +const renderer = @import("../renderer.zig"); +const Config = @import("../config.zig").Config; +const termio = @import("../termio.zig"); + +/// All size metrics for the terminal. +size: renderer.Size, + +/// The full app configuration. This is only available during initialization. +/// The memory it points to is NOT stable after the init call so any values +/// in here must be copied. +full_config: *const Config, + +/// The derived configuration for this termio implementation. +config: termio.Termio.DerivedConfig, + +/// The backend for termio that implements where reads/writes are sourced. +backend: termio.Backend, + +/// The mailbox for the terminal. This is how messages are delivered. +/// If you're using termio.Thread this MUST be "mailbox". +mailbox: termio.Mailbox, + +/// The render state. The IO implementation can modify anything here. The +/// surface thread will setup the initial "terminal" pointer but the IO impl +/// is free to change that if that is useful (i.e. doing some sort of dual +/// terminal implementation.) +renderer_state: *renderer.State, + +/// A handle to wake up the renderer. This hints to the renderer that +/// a repaint should happen. +renderer_wakeup: xev.Async, + +/// The mailbox for renderer messages. +renderer_mailbox: *renderer.Thread.Mailbox, + +/// The mailbox for sending the surface messages. +surface_mailbox: apprt.surface.Mailbox, |
