detached ece7682

terminal.pb.go RawHistoryFolder

1// Terminal I/O, UI fences, and bounded preview viewports.
2
3// Code generated by protoc-gen-go. DO NOT EDIT.
4// versions:
5// 	protoc-gen-go v1.36.12
6// 	protoc        (unknown)
7// source: terminal.proto
8
9package wire
10
11import (
12	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
13	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
14	reflect "reflect"
15	sync "sync"
16	unsafe "unsafe"
17)
18
19const (
20	// Verify that this generated code is sufficiently up-to-date.
21	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
22	// Verify that runtime/protoimpl is sufficiently up-to-date.
23	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
24)
25
26// ViewContext is the committed boundary of one output state.
27type ViewContext struct {
28	state         protoimpl.MessageState  `protogen:"open.v1"`
29	Publication   uint64                  `protobuf:"varint,1,opt,name=publication,proto3" json:"publication,omitempty"`
30	Route         *CommittedRouteIdentity `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
31	TabId         string                  `protobuf:"bytes,3,opt,name=tab_id,json=tabId,proto3" json:"tab_id,omitempty"`
32	FocusedPaneId string                  `protobuf:"bytes,4,opt,name=focused_pane_id,json=focusedPaneId,proto3" json:"focused_pane_id,omitempty"`
33	unknownFields protoimpl.UnknownFields
34	sizeCache     protoimpl.SizeCache
35}
36
37func (x *ViewContext) Reset() {
38	*x = ViewContext{}
39	mi := &file_terminal_proto_msgTypes[0]
40	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
41	ms.StoreMessageInfo(mi)
42}
43
44func (x *ViewContext) String() string {
45	return protoimpl.X.MessageStringOf(x)
46}
47
48func (*ViewContext) ProtoMessage() {}
49
50func (x *ViewContext) ProtoReflect() protoreflect.Message {
51	mi := &file_terminal_proto_msgTypes[0]
52	if x != nil {
53		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
54		if ms.LoadMessageInfo() == nil {
55			ms.StoreMessageInfo(mi)
56		}
57		return ms
58	}
59	return mi.MessageOf(x)
60}
61
62// Deprecated: Use ViewContext.ProtoReflect.Descriptor instead.
63func (*ViewContext) Descriptor() ([]byte, []int) {
64	return file_terminal_proto_rawDescGZIP(), []int{0}
65}
66
67func (x *ViewContext) GetPublication() uint64 {
68	if x != nil {
69		return x.Publication
70	}
71	return 0
72}
73
74func (x *ViewContext) GetRoute() *CommittedRouteIdentity {
75	if x != nil {
76		return x.Route
77	}
78	return nil
79}
80
81func (x *ViewContext) GetTabId() string {
82	if x != nil {
83		return x.TabId
84	}
85	return ""
86}
87
88func (x *ViewContext) GetFocusedPaneId() string {
89	if x != nil {
90		return x.FocusedPaneId
91	}
92	return ""
93}
94
95// Output is one terminal state. Terminal data uses the explicit encoding
96// enum below; converters compress only full snapshots at the frozen
97// threshold and only when smaller.
98type Output struct {
99	state        protoimpl.MessageState `protogen:"open.v1"`
100	Epoch        uint64                 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
101	Base         uint64                 `protobuf:"varint,2,opt,name=base,proto3" json:"base,omitempty"`
102	NewState     uint64                 `protobuf:"varint,3,opt,name=new_state,json=newState,proto3" json:"new_state,omitempty"`
103	Echo         uint64                 `protobuf:"varint,4,opt,name=echo,proto3" json:"echo,omitempty"`
104	ViewRevision uint64                 `protobuf:"varint,5,opt,name=view_revision,json=viewRevision,proto3" json:"view_revision,omitempty"`
105	Cols         uint32                 `protobuf:"varint,6,opt,name=cols,proto3" json:"cols,omitempty"`
106	Rows         uint32                 `protobuf:"varint,7,opt,name=rows,proto3" json:"rows,omitempty"`
107	Full         bool                   `protobuf:"varint,8,opt,name=full,proto3" json:"full,omitempty"`
108	Context      *ViewContext           `protobuf:"bytes,9,opt,name=context,proto3" json:"context,omitempty"` // optional pointer
109	// Closed encoding taxonomy: 0 = raw, 1 = zlib (full snapshots only).
110	Encoding           uint32 `protobuf:"varint,10,opt,name=encoding,proto3" json:"encoding,omitempty"`
111	UncompressedLength uint64 `protobuf:"varint,11,opt,name=uncompressed_length,json=uncompressedLength,proto3" json:"uncompressed_length,omitempty"`
112	Data               []byte `protobuf:"bytes,12,opt,name=data,proto3" json:"data,omitempty"`
113	unknownFields      protoimpl.UnknownFields
114	sizeCache          protoimpl.SizeCache
115}
116
117func (x *Output) Reset() {
118	*x = Output{}
119	mi := &file_terminal_proto_msgTypes[1]
120	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
121	ms.StoreMessageInfo(mi)
122}
123
124func (x *Output) String() string {
125	return protoimpl.X.MessageStringOf(x)
126}
127
128func (*Output) ProtoMessage() {}
129
130func (x *Output) ProtoReflect() protoreflect.Message {
131	mi := &file_terminal_proto_msgTypes[1]
132	if x != nil {
133		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
134		if ms.LoadMessageInfo() == nil {
135			ms.StoreMessageInfo(mi)
136		}
137		return ms
138	}
139	return mi.MessageOf(x)
140}
141
142// Deprecated: Use Output.ProtoReflect.Descriptor instead.
143func (*Output) Descriptor() ([]byte, []int) {
144	return file_terminal_proto_rawDescGZIP(), []int{1}
145}
146
147func (x *Output) GetEpoch() uint64 {
148	if x != nil {
149		return x.Epoch
150	}
151	return 0
152}
153
154func (x *Output) GetBase() uint64 {
155	if x != nil {
156		return x.Base
157	}
158	return 0
159}
160
161func (x *Output) GetNewState() uint64 {
162	if x != nil {
163		return x.NewState
164	}
165	return 0
166}
167
168func (x *Output) GetEcho() uint64 {
169	if x != nil {
170		return x.Echo
171	}
172	return 0
173}
174
175func (x *Output) GetViewRevision() uint64 {
176	if x != nil {
177		return x.ViewRevision
178	}
179	return 0
180}
181
182func (x *Output) GetCols() uint32 {
183	if x != nil {
184		return x.Cols
185	}
186	return 0
187}
188
189func (x *Output) GetRows() uint32 {
190	if x != nil {
191		return x.Rows
192	}
193	return 0
194}
195
196func (x *Output) GetFull() bool {
197	if x != nil {
198		return x.Full
199	}
200	return false
201}
202
203func (x *Output) GetContext() *ViewContext {
204	if x != nil {
205		return x.Context
206	}
207	return nil
208}
209
210func (x *Output) GetEncoding() uint32 {
211	if x != nil {
212		return x.Encoding
213	}
214	return 0
215}
216
217func (x *Output) GetUncompressedLength() uint64 {
218	if x != nil {
219		return x.UncompressedLength
220	}
221	return 0
222}
223
224func (x *Output) GetData() []byte {
225	if x != nil {
226		return x.Data
227	}
228	return nil
229}
230
231// Ack cumulatively acknowledges one epoch.
232type Ack struct {
233	state         protoimpl.MessageState `protogen:"open.v1"`
234	Epoch         uint64                 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
235	State         uint64                 `protobuf:"varint,2,opt,name=state,proto3" json:"state,omitempty"`
236	unknownFields protoimpl.UnknownFields
237	sizeCache     protoimpl.SizeCache
238}
239
240func (x *Ack) Reset() {
241	*x = Ack{}
242	mi := &file_terminal_proto_msgTypes[2]
243	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
244	ms.StoreMessageInfo(mi)
245}
246
247func (x *Ack) String() string {
248	return protoimpl.X.MessageStringOf(x)
249}
250
251func (*Ack) ProtoMessage() {}
252
253func (x *Ack) ProtoReflect() protoreflect.Message {
254	mi := &file_terminal_proto_msgTypes[2]
255	if x != nil {
256		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
257		if ms.LoadMessageInfo() == nil {
258			ms.StoreMessageInfo(mi)
259		}
260		return ms
261	}
262	return mi.MessageOf(x)
263}
264
265// Deprecated: Use Ack.ProtoReflect.Descriptor instead.
266func (*Ack) Descriptor() ([]byte, []int) {
267	return file_terminal_proto_rawDescGZIP(), []int{2}
268}
269
270func (x *Ack) GetEpoch() uint64 {
271	if x != nil {
272		return x.Epoch
273	}
274	return 0
275}
276
277func (x *Ack) GetState() uint64 {
278	if x != nil {
279		return x.State
280	}
281	return 0
282}
283
284// Input carries client keystrokes and pastes.
285type Input struct {
286	state         protoimpl.MessageState `protogen:"open.v1"`
287	InputSeq      uint64                 `protobuf:"varint,1,opt,name=input_seq,json=inputSeq,proto3" json:"input_seq,omitempty"`
288	ActionId      uint64                 `protobuf:"varint,2,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"`
289	Data          []byte                 `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
290	unknownFields protoimpl.UnknownFields
291	sizeCache     protoimpl.SizeCache
292}
293
294func (x *Input) Reset() {
295	*x = Input{}
296	mi := &file_terminal_proto_msgTypes[3]
297	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
298	ms.StoreMessageInfo(mi)
299}
300
301func (x *Input) String() string {
302	return protoimpl.X.MessageStringOf(x)
303}
304
305func (*Input) ProtoMessage() {}
306
307func (x *Input) ProtoReflect() protoreflect.Message {
308	mi := &file_terminal_proto_msgTypes[3]
309	if x != nil {
310		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
311		if ms.LoadMessageInfo() == nil {
312			ms.StoreMessageInfo(mi)
313		}
314		return ms
315	}
316	return mi.MessageOf(x)
317}
318
319// Deprecated: Use Input.ProtoReflect.Descriptor instead.
320func (*Input) Descriptor() ([]byte, []int) {
321	return file_terminal_proto_rawDescGZIP(), []int{3}
322}
323
324func (x *Input) GetInputSeq() uint64 {
325	if x != nil {
326		return x.InputSeq
327	}
328	return 0
329}
330
331func (x *Input) GetActionId() uint64 {
332	if x != nil {
333		return x.ActionId
334	}
335	return 0
336}
337
338func (x *Input) GetData() []byte {
339	if x != nil {
340		return x.Data
341	}
342	return nil
343}
344
345// Resize carries a geometry claim.
346type Resize struct {
347	state         protoimpl.MessageState `protogen:"open.v1"`
348	Cols          uint32                 `protobuf:"varint,1,opt,name=cols,proto3" json:"cols,omitempty"`
349	Rows          uint32                 `protobuf:"varint,2,opt,name=rows,proto3" json:"rows,omitempty"`
350	PixelWidth    uint32                 `protobuf:"varint,3,opt,name=pixel_width,json=pixelWidth,proto3" json:"pixel_width,omitempty"`
351	PixelHeight   uint32                 `protobuf:"varint,4,opt,name=pixel_height,json=pixelHeight,proto3" json:"pixel_height,omitempty"`
352	unknownFields protoimpl.UnknownFields
353	sizeCache     protoimpl.SizeCache
354}
355
356func (x *Resize) Reset() {
357	*x = Resize{}
358	mi := &file_terminal_proto_msgTypes[4]
359	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
360	ms.StoreMessageInfo(mi)
361}
362
363func (x *Resize) String() string {
364	return protoimpl.X.MessageStringOf(x)
365}
366
367func (*Resize) ProtoMessage() {}
368
369func (x *Resize) ProtoReflect() protoreflect.Message {
370	mi := &file_terminal_proto_msgTypes[4]
371	if x != nil {
372		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
373		if ms.LoadMessageInfo() == nil {
374			ms.StoreMessageInfo(mi)
375		}
376		return ms
377	}
378	return mi.MessageOf(x)
379}
380
381// Deprecated: Use Resize.ProtoReflect.Descriptor instead.
382func (*Resize) Descriptor() ([]byte, []int) {
383	return file_terminal_proto_rawDescGZIP(), []int{4}
384}
385
386func (x *Resize) GetCols() uint32 {
387	if x != nil {
388		return x.Cols
389	}
390	return 0
391}
392
393func (x *Resize) GetRows() uint32 {
394	if x != nil {
395		return x.Rows
396	}
397	return 0
398}
399
400func (x *Resize) GetPixelWidth() uint32 {
401	if x != nil {
402		return x.PixelWidth
403	}
404	return 0
405}
406
407func (x *Resize) GetPixelHeight() uint32 {
408	if x != nil {
409		return x.PixelHeight
410	}
411	return 0
412}
413
414// Theme carries the 57-byte fixed terminal theme block field by field.
415type Theme struct {
416	state         protoimpl.MessageState `protogen:"open.v1"`
417	HasForeground bool                   `protobuf:"varint,1,opt,name=has_foreground,json=hasForeground,proto3" json:"has_foreground,omitempty"`
418	Foreground    *RGB                   `protobuf:"bytes,2,opt,name=foreground,proto3" json:"foreground,omitempty"`
419	HasBackground bool                   `protobuf:"varint,3,opt,name=has_background,json=hasBackground,proto3" json:"has_background,omitempty"`
420	Background    *RGB                   `protobuf:"bytes,4,opt,name=background,proto3" json:"background,omitempty"`
421	SchemeKnown   bool                   `protobuf:"varint,6,opt,name=scheme_known,json=schemeKnown,proto3" json:"scheme_known,omitempty"`
422	Light         bool                   `protobuf:"varint,7,opt,name=light,proto3" json:"light,omitempty"`
423	PaletteKnown  uint32                 `protobuf:"varint,8,opt,name=palette_known,json=paletteKnown,proto3" json:"palette_known,omitempty"`
424	Palette       []*RGB                 `protobuf:"bytes,9,rep,name=palette,proto3" json:"palette,omitempty"` // exactly 16 entries
425	unknownFields protoimpl.UnknownFields
426	sizeCache     protoimpl.SizeCache
427}
428
429func (x *Theme) Reset() {
430	*x = Theme{}
431	mi := &file_terminal_proto_msgTypes[5]
432	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
433	ms.StoreMessageInfo(mi)
434}
435
436func (x *Theme) String() string {
437	return protoimpl.X.MessageStringOf(x)
438}
439
440func (*Theme) ProtoMessage() {}
441
442func (x *Theme) ProtoReflect() protoreflect.Message {
443	mi := &file_terminal_proto_msgTypes[5]
444	if x != nil {
445		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
446		if ms.LoadMessageInfo() == nil {
447			ms.StoreMessageInfo(mi)
448		}
449		return ms
450	}
451	return mi.MessageOf(x)
452}
453
454// Deprecated: Use Theme.ProtoReflect.Descriptor instead.
455func (*Theme) Descriptor() ([]byte, []int) {
456	return file_terminal_proto_rawDescGZIP(), []int{5}
457}
458
459func (x *Theme) GetHasForeground() bool {
460	if x != nil {
461		return x.HasForeground
462	}
463	return false
464}
465
466func (x *Theme) GetForeground() *RGB {
467	if x != nil {
468		return x.Foreground
469	}
470	return nil
471}
472
473func (x *Theme) GetHasBackground() bool {
474	if x != nil {
475		return x.HasBackground
476	}
477	return false
478}
479
480func (x *Theme) GetBackground() *RGB {
481	if x != nil {
482		return x.Background
483	}
484	return nil
485}
486
487func (x *Theme) GetSchemeKnown() bool {
488	if x != nil {
489		return x.SchemeKnown
490	}
491	return false
492}
493
494func (x *Theme) GetLight() bool {
495	if x != nil {
496		return x.Light
497	}
498	return false
499}
500
501func (x *Theme) GetPaletteKnown() uint32 {
502	if x != nil {
503		return x.PaletteKnown
504	}
505	return 0
506}
507
508func (x *Theme) GetPalette() []*RGB {
509	if x != nil {
510		return x.Palette
511	}
512	return nil
513}
514
515// ImagePush carries one Kitty graphics payload.
516type ImagePush struct {
517	state         protoimpl.MessageState `protogen:"open.v1"`
518	InputSeq      uint64                 `protobuf:"varint,1,opt,name=input_seq,json=inputSeq,proto3" json:"input_seq,omitempty"`
519	Mime          string                 `protobuf:"bytes,2,opt,name=mime,proto3" json:"mime,omitempty"`
520	Data          []byte                 `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
521	unknownFields protoimpl.UnknownFields
522	sizeCache     protoimpl.SizeCache
523}
524
525func (x *ImagePush) Reset() {
526	*x = ImagePush{}
527	mi := &file_terminal_proto_msgTypes[6]
528	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
529	ms.StoreMessageInfo(mi)
530}
531
532func (x *ImagePush) String() string {
533	return protoimpl.X.MessageStringOf(x)
534}
535
536func (*ImagePush) ProtoMessage() {}
537
538func (x *ImagePush) ProtoReflect() protoreflect.Message {
539	mi := &file_terminal_proto_msgTypes[6]
540	if x != nil {
541		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
542		if ms.LoadMessageInfo() == nil {
543			ms.StoreMessageInfo(mi)
544		}
545		return ms
546	}
547	return mi.MessageOf(x)
548}
549
550// Deprecated: Use ImagePush.ProtoReflect.Descriptor instead.
551func (*ImagePush) Descriptor() ([]byte, []int) {
552	return file_terminal_proto_rawDescGZIP(), []int{6}
553}
554
555func (x *ImagePush) GetInputSeq() uint64 {
556	if x != nil {
557		return x.InputSeq
558	}
559	return 0
560}
561
562func (x *ImagePush) GetMime() string {
563	if x != nil {
564		return x.Mime
565	}
566	return ""
567}
568
569func (x *ImagePush) GetData() []byte {
570	if x != nil {
571		return x.Data
572	}
573	return nil
574}
575
576// ClientNotice is a fixed one-byte client signal.
577type ClientNotice struct {
578	state protoimpl.MessageState `protogen:"open.v1"`
579	// Closed action taxonomy: 1 = clipboard fallback, 2 = clipboard too
580	// large, 3 = link degraded, 4 = link connected.
581	Action        uint32 `protobuf:"varint,1,opt,name=action,proto3" json:"action,omitempty"`
582	unknownFields protoimpl.UnknownFields
583	sizeCache     protoimpl.SizeCache
584}
585
586func (x *ClientNotice) Reset() {
587	*x = ClientNotice{}
588	mi := &file_terminal_proto_msgTypes[7]
589	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
590	ms.StoreMessageInfo(mi)
591}
592
593func (x *ClientNotice) String() string {
594	return protoimpl.X.MessageStringOf(x)
595}
596
597func (*ClientNotice) ProtoMessage() {}
598
599func (x *ClientNotice) ProtoReflect() protoreflect.Message {
600	mi := &file_terminal_proto_msgTypes[7]
601	if x != nil {
602		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
603		if ms.LoadMessageInfo() == nil {
604			ms.StoreMessageInfo(mi)
605		}
606		return ms
607	}
608	return mi.MessageOf(x)
609}
610
611// Deprecated: Use ClientNotice.ProtoReflect.Descriptor instead.
612func (*ClientNotice) Descriptor() ([]byte, []int) {
613	return file_terminal_proto_rawDescGZIP(), []int{7}
614}
615
616func (x *ClientNotice) GetAction() uint32 {
617	if x != nil {
618		return x.Action
619	}
620	return 0
621}
622
623// OutputResetRequest restarts the output chain. Empty marker.
624type OutputResetRequest struct {
625	state         protoimpl.MessageState `protogen:"open.v1"`
626	unknownFields protoimpl.UnknownFields
627	sizeCache     protoimpl.SizeCache
628}
629
630func (x *OutputResetRequest) Reset() {
631	*x = OutputResetRequest{}
632	mi := &file_terminal_proto_msgTypes[8]
633	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
634	ms.StoreMessageInfo(mi)
635}
636
637func (x *OutputResetRequest) String() string {
638	return protoimpl.X.MessageStringOf(x)
639}
640
641func (*OutputResetRequest) ProtoMessage() {}
642
643func (x *OutputResetRequest) ProtoReflect() protoreflect.Message {
644	mi := &file_terminal_proto_msgTypes[8]
645	if x != nil {
646		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
647		if ms.LoadMessageInfo() == nil {
648			ms.StoreMessageInfo(mi)
649		}
650		return ms
651	}
652	return mi.MessageOf(x)
653}
654
655// Deprecated: Use OutputResetRequest.ProtoReflect.Descriptor instead.
656func (*OutputResetRequest) Descriptor() ([]byte, []int) {
657	return file_terminal_proto_rawDescGZIP(), []int{8}
658}
659
660// TerminalFocus reports a focus change of the client's terminal window.
661type TerminalFocus struct {
662	state protoimpl.MessageState `protogen:"open.v1"`
663	// Closed focus taxonomy: 1 = focused, 2 = unfocused.
664	Focus         uint32 `protobuf:"varint,1,opt,name=focus,proto3" json:"focus,omitempty"`
665	unknownFields protoimpl.UnknownFields
666	sizeCache     protoimpl.SizeCache
667}
668
669func (x *TerminalFocus) Reset() {
670	*x = TerminalFocus{}
671	mi := &file_terminal_proto_msgTypes[9]
672	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
673	ms.StoreMessageInfo(mi)
674}
675
676func (x *TerminalFocus) String() string {
677	return protoimpl.X.MessageStringOf(x)
678}
679
680func (*TerminalFocus) ProtoMessage() {}
681
682func (x *TerminalFocus) ProtoReflect() protoreflect.Message {
683	mi := &file_terminal_proto_msgTypes[9]
684	if x != nil {
685		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
686		if ms.LoadMessageInfo() == nil {
687			ms.StoreMessageInfo(mi)
688		}
689		return ms
690	}
691	return mi.MessageOf(x)
692}
693
694// Deprecated: Use TerminalFocus.ProtoReflect.Descriptor instead.
695func (*TerminalFocus) Descriptor() ([]byte, []int) {
696	return file_terminal_proto_rawDescGZIP(), []int{9}
697}
698
699func (x *TerminalFocus) GetFocus() uint32 {
700	if x != nil {
701		return x.Focus
702	}
703	return 0
704}
705
706// ModifierState reports which held modifier keys the client's terminal
707// reports on their own.
708type ModifierState struct {
709	state         protoimpl.MessageState `protogen:"open.v1"`
710	Ctrl          bool                   `protobuf:"varint,1,opt,name=ctrl,proto3" json:"ctrl,omitempty"`
711	unknownFields protoimpl.UnknownFields
712	sizeCache     protoimpl.SizeCache
713}
714
715func (x *ModifierState) Reset() {
716	*x = ModifierState{}
717	mi := &file_terminal_proto_msgTypes[10]
718	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
719	ms.StoreMessageInfo(mi)
720}
721
722func (x *ModifierState) String() string {
723	return protoimpl.X.MessageStringOf(x)
724}
725
726func (*ModifierState) ProtoMessage() {}
727
728func (x *ModifierState) ProtoReflect() protoreflect.Message {
729	mi := &file_terminal_proto_msgTypes[10]
730	if x != nil {
731		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
732		if ms.LoadMessageInfo() == nil {
733			ms.StoreMessageInfo(mi)
734		}
735		return ms
736	}
737	return mi.MessageOf(x)
738}
739
740// Deprecated: Use ModifierState.ProtoReflect.Descriptor instead.
741func (*ModifierState) Descriptor() ([]byte, []int) {
742	return file_terminal_proto_rawDescGZIP(), []int{10}
743}
744
745func (x *ModifierState) GetCtrl() bool {
746	if x != nil {
747		return x.Ctrl
748	}
749	return false
750}
751
752// SelectTab shows one exact tab of the attached session on this attachment.
753type SelectTab struct {
754	state         protoimpl.MessageState `protogen:"open.v1"`
755	TabId         string                 `protobuf:"bytes,1,opt,name=tab_id,json=tabId,proto3" json:"tab_id,omitempty"`
756	unknownFields protoimpl.UnknownFields
757	sizeCache     protoimpl.SizeCache
758}
759
760func (x *SelectTab) Reset() {
761	*x = SelectTab{}
762	mi := &file_terminal_proto_msgTypes[11]
763	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
764	ms.StoreMessageInfo(mi)
765}
766
767func (x *SelectTab) String() string {
768	return protoimpl.X.MessageStringOf(x)
769}
770
771func (*SelectTab) ProtoMessage() {}
772
773func (x *SelectTab) ProtoReflect() protoreflect.Message {
774	mi := &file_terminal_proto_msgTypes[11]
775	if x != nil {
776		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
777		if ms.LoadMessageInfo() == nil {
778			ms.StoreMessageInfo(mi)
779		}
780		return ms
781	}
782	return mi.MessageOf(x)
783}
784
785// Deprecated: Use SelectTab.ProtoReflect.Descriptor instead.
786func (*SelectTab) Descriptor() ([]byte, []int) {
787	return file_terminal_proto_rawDescGZIP(), []int{11}
788}
789
790func (x *SelectTab) GetTabId() string {
791	if x != nil {
792		return x.TabId
793	}
794	return ""
795}
796
797// UIFence orders UI operations by action.
798type UIFence struct {
799	state         protoimpl.MessageState `protogen:"open.v1"`
800	ActionId      uint64                 `protobuf:"varint,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"`
801	unknownFields protoimpl.UnknownFields
802	sizeCache     protoimpl.SizeCache
803}
804
805func (x *UIFence) Reset() {
806	*x = UIFence{}
807	mi := &file_terminal_proto_msgTypes[12]
808	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
809	ms.StoreMessageInfo(mi)
810}
811
812func (x *UIFence) String() string {
813	return protoimpl.X.MessageStringOf(x)
814}
815
816func (*UIFence) ProtoMessage() {}
817
818func (x *UIFence) ProtoReflect() protoreflect.Message {
819	mi := &file_terminal_proto_msgTypes[12]
820	if x != nil {
821		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
822		if ms.LoadMessageInfo() == nil {
823			ms.StoreMessageInfo(mi)
824		}
825		return ms
826	}
827	return mi.MessageOf(x)
828}
829
830// Deprecated: Use UIFence.ProtoReflect.Descriptor instead.
831func (*UIFence) Descriptor() ([]byte, []int) {
832	return file_terminal_proto_rawDescGZIP(), []int{12}
833}
834
835func (x *UIFence) GetActionId() uint64 {
836	if x != nil {
837		return x.ActionId
838	}
839	return 0
840}
841
842// UIReceipt reports the processed output boundary.
843type UIReceipt struct {
844	state           protoimpl.MessageState `protogen:"open.v1"`
845	ActionId        uint64                 `protobuf:"varint,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"`
846	Epoch           uint64                 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"`
847	State           uint64                 `protobuf:"varint,3,opt,name=state,proto3" json:"state,omitempty"`
848	ViewPublication uint64                 `protobuf:"varint,4,opt,name=view_publication,json=viewPublication,proto3" json:"view_publication,omitempty"`
849	// Closed outcome taxonomy: 1 = processed, 2 = unavailable.
850	Outcome       uint32 `protobuf:"varint,5,opt,name=outcome,proto3" json:"outcome,omitempty"`
851	unknownFields protoimpl.UnknownFields
852	sizeCache     protoimpl.SizeCache
853}
854
855func (x *UIReceipt) Reset() {
856	*x = UIReceipt{}
857	mi := &file_terminal_proto_msgTypes[13]
858	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
859	ms.StoreMessageInfo(mi)
860}
861
862func (x *UIReceipt) String() string {
863	return protoimpl.X.MessageStringOf(x)
864}
865
866func (*UIReceipt) ProtoMessage() {}
867
868func (x *UIReceipt) ProtoReflect() protoreflect.Message {
869	mi := &file_terminal_proto_msgTypes[13]
870	if x != nil {
871		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
872		if ms.LoadMessageInfo() == nil {
873			ms.StoreMessageInfo(mi)
874		}
875		return ms
876	}
877	return mi.MessageOf(x)
878}
879
880// Deprecated: Use UIReceipt.ProtoReflect.Descriptor instead.
881func (*UIReceipt) Descriptor() ([]byte, []int) {
882	return file_terminal_proto_rawDescGZIP(), []int{13}
883}
884
885func (x *UIReceipt) GetActionId() uint64 {
886	if x != nil {
887		return x.ActionId
888	}
889	return 0
890}
891
892func (x *UIReceipt) GetEpoch() uint64 {
893	if x != nil {
894		return x.Epoch
895	}
896	return 0
897}
898
899func (x *UIReceipt) GetState() uint64 {
900	if x != nil {
901		return x.State
902	}
903	return 0
904}
905
906func (x *UIReceipt) GetViewPublication() uint64 {
907	if x != nil {
908		return x.ViewPublication
909	}
910	return 0
911}
912
913func (x *UIReceipt) GetOutcome() uint32 {
914	if x != nil {
915		return x.Outcome
916	}
917	return 0
918}
919
920// UIViewUpdate publishes a view boundary without terminal data.
921type UIViewUpdate struct {
922	state         protoimpl.MessageState `protogen:"open.v1"`
923	Epoch         uint64                 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
924	State         uint64                 `protobuf:"varint,2,opt,name=state,proto3" json:"state,omitempty"`
925	Context       *ViewContext           `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"`
926	unknownFields protoimpl.UnknownFields
927	sizeCache     protoimpl.SizeCache
928}
929
930func (x *UIViewUpdate) Reset() {
931	*x = UIViewUpdate{}
932	mi := &file_terminal_proto_msgTypes[14]
933	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
934	ms.StoreMessageInfo(mi)
935}
936
937func (x *UIViewUpdate) String() string {
938	return protoimpl.X.MessageStringOf(x)
939}
940
941func (*UIViewUpdate) ProtoMessage() {}
942
943func (x *UIViewUpdate) ProtoReflect() protoreflect.Message {
944	mi := &file_terminal_proto_msgTypes[14]
945	if x != nil {
946		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
947		if ms.LoadMessageInfo() == nil {
948			ms.StoreMessageInfo(mi)
949		}
950		return ms
951	}
952	return mi.MessageOf(x)
953}
954
955// Deprecated: Use UIViewUpdate.ProtoReflect.Descriptor instead.
956func (*UIViewUpdate) Descriptor() ([]byte, []int) {
957	return file_terminal_proto_rawDescGZIP(), []int{14}
958}
959
960func (x *UIViewUpdate) GetEpoch() uint64 {
961	if x != nil {
962		return x.Epoch
963	}
964	return 0
965}
966
967func (x *UIViewUpdate) GetState() uint64 {
968	if x != nil {
969		return x.State
970	}
971	return 0
972}
973
974func (x *UIViewUpdate) GetContext() *ViewContext {
975	if x != nil {
976		return x.Context
977	}
978	return nil
979}
980
981// RemotePreviewRequest names a bounded exact-target viewport.
982type RemotePreviewRequest struct {
983	state         protoimpl.MessageState `protogen:"open.v1"`
984	Version       uint32                 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
985	Target        *RemoteTarget          `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
986	Width         uint32                 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"`
987	Height        uint32                 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
988	unknownFields protoimpl.UnknownFields
989	sizeCache     protoimpl.SizeCache
990}
991
992func (x *RemotePreviewRequest) Reset() {
993	*x = RemotePreviewRequest{}
994	mi := &file_terminal_proto_msgTypes[15]
995	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
996	ms.StoreMessageInfo(mi)
997}
998
999func (x *RemotePreviewRequest) String() string {
1000	return protoimpl.X.MessageStringOf(x)
1001}
1002
1003func (*RemotePreviewRequest) ProtoMessage() {}
1004
1005func (x *RemotePreviewRequest) ProtoReflect() protoreflect.Message {
1006	mi := &file_terminal_proto_msgTypes[15]
1007	if x != nil {
1008		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1009		if ms.LoadMessageInfo() == nil {
1010			ms.StoreMessageInfo(mi)
1011		}
1012		return ms
1013	}
1014	return mi.MessageOf(x)
1015}
1016
1017// Deprecated: Use RemotePreviewRequest.ProtoReflect.Descriptor instead.
1018func (*RemotePreviewRequest) Descriptor() ([]byte, []int) {
1019	return file_terminal_proto_rawDescGZIP(), []int{15}
1020}
1021
1022func (x *RemotePreviewRequest) GetVersion() uint32 {
1023	if x != nil {
1024		return x.Version
1025	}
1026	return 0
1027}
1028
1029func (x *RemotePreviewRequest) GetTarget() *RemoteTarget {
1030	if x != nil {
1031		return x.Target
1032	}
1033	return nil
1034}
1035
1036func (x *RemotePreviewRequest) GetWidth() uint32 {
1037	if x != nil {
1038		return x.Width
1039	}
1040	return 0
1041}
1042
1043func (x *RemotePreviewRequest) GetHeight() uint32 {
1044	if x != nil {
1045		return x.Height
1046	}
1047	return 0
1048}
1049
1050// RemotePreviewWatch is a client first message: the server answers with a
1051// stream of RemotePreview frames, at most one per min_interval_ms, until the
1052// client closes the connection.
1053type RemotePreviewWatch struct {
1054	state   protoimpl.MessageState `protogen:"open.v1"`
1055	Request *RemotePreviewRequest  `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
1056	// Whole milliseconds inside [16, 1000].
1057	MinIntervalMs uint32 `protobuf:"varint,2,opt,name=min_interval_ms,json=minIntervalMs,proto3" json:"min_interval_ms,omitempty"`
1058	unknownFields protoimpl.UnknownFields
1059	sizeCache     protoimpl.SizeCache
1060}
1061
1062func (x *RemotePreviewWatch) Reset() {
1063	*x = RemotePreviewWatch{}
1064	mi := &file_terminal_proto_msgTypes[16]
1065	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1066	ms.StoreMessageInfo(mi)
1067}
1068
1069func (x *RemotePreviewWatch) String() string {
1070	return protoimpl.X.MessageStringOf(x)
1071}
1072
1073func (*RemotePreviewWatch) ProtoMessage() {}
1074
1075func (x *RemotePreviewWatch) ProtoReflect() protoreflect.Message {
1076	mi := &file_terminal_proto_msgTypes[16]
1077	if x != nil {
1078		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1079		if ms.LoadMessageInfo() == nil {
1080			ms.StoreMessageInfo(mi)
1081		}
1082		return ms
1083	}
1084	return mi.MessageOf(x)
1085}
1086
1087// Deprecated: Use RemotePreviewWatch.ProtoReflect.Descriptor instead.
1088func (*RemotePreviewWatch) Descriptor() ([]byte, []int) {
1089	return file_terminal_proto_rawDescGZIP(), []int{16}
1090}
1091
1092func (x *RemotePreviewWatch) GetRequest() *RemotePreviewRequest {
1093	if x != nil {
1094		return x.Request
1095	}
1096	return nil
1097}
1098
1099func (x *RemotePreviewWatch) GetMinIntervalMs() uint32 {
1100	if x != nil {
1101		return x.MinIntervalMs
1102	}
1103	return 0
1104}
1105
1106// RemotePreview is a bounded row-major styled-cell viewport.
1107type RemotePreview struct {
1108	state   protoimpl.MessageState `protogen:"open.v1"`
1109	Version uint32                 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
1110	// Closed status taxonomy: 0 = ok, 1 = unavailable, 2 = no such target,
1111	// 3 = stale, 4 = malformed, 5 = too large.
1112	Status        uint32         `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
1113	LifecycleId   *LifecycleID   `protobuf:"bytes,3,opt,name=lifecycle_id,json=lifecycleId,proto3" json:"lifecycle_id,omitempty"`
1114	TabId         string         `protobuf:"bytes,4,opt,name=tab_id,json=tabId,proto3" json:"tab_id,omitempty"`
1115	Revision      uint64         `protobuf:"varint,5,opt,name=revision,proto3" json:"revision,omitempty"`
1116	Width         uint32         `protobuf:"varint,6,opt,name=width,proto3" json:"width,omitempty"`
1117	Height        uint32         `protobuf:"varint,7,opt,name=height,proto3" json:"height,omitempty"`
1118	Cells         []*PreviewCell `protobuf:"bytes,8,rep,name=cells,proto3" json:"cells,omitempty"`
1119	unknownFields protoimpl.UnknownFields
1120	sizeCache     protoimpl.SizeCache
1121}
1122
1123func (x *RemotePreview) Reset() {
1124	*x = RemotePreview{}
1125	mi := &file_terminal_proto_msgTypes[17]
1126	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1127	ms.StoreMessageInfo(mi)
1128}
1129
1130func (x *RemotePreview) String() string {
1131	return protoimpl.X.MessageStringOf(x)
1132}
1133
1134func (*RemotePreview) ProtoMessage() {}
1135
1136func (x *RemotePreview) ProtoReflect() protoreflect.Message {
1137	mi := &file_terminal_proto_msgTypes[17]
1138	if x != nil {
1139		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1140		if ms.LoadMessageInfo() == nil {
1141			ms.StoreMessageInfo(mi)
1142		}
1143		return ms
1144	}
1145	return mi.MessageOf(x)
1146}
1147
1148// Deprecated: Use RemotePreview.ProtoReflect.Descriptor instead.
1149func (*RemotePreview) Descriptor() ([]byte, []int) {
1150	return file_terminal_proto_rawDescGZIP(), []int{17}
1151}
1152
1153func (x *RemotePreview) GetVersion() uint32 {
1154	if x != nil {
1155		return x.Version
1156	}
1157	return 0
1158}
1159
1160func (x *RemotePreview) GetStatus() uint32 {
1161	if x != nil {
1162		return x.Status
1163	}
1164	return 0
1165}
1166
1167func (x *RemotePreview) GetLifecycleId() *LifecycleID {
1168	if x != nil {
1169		return x.LifecycleId
1170	}
1171	return nil
1172}
1173
1174func (x *RemotePreview) GetTabId() string {
1175	if x != nil {
1176		return x.TabId
1177	}
1178	return ""
1179}
1180
1181func (x *RemotePreview) GetRevision() uint64 {
1182	if x != nil {
1183		return x.Revision
1184	}
1185	return 0
1186}
1187
1188func (x *RemotePreview) GetWidth() uint32 {
1189	if x != nil {
1190		return x.Width
1191	}
1192	return 0
1193}
1194
1195func (x *RemotePreview) GetHeight() uint32 {
1196	if x != nil {
1197		return x.Height
1198	}
1199	return 0
1200}
1201
1202func (x *RemotePreview) GetCells() []*PreviewCell {
1203	if x != nil {
1204		return x.Cells
1205	}
1206	return nil
1207}
1208
1209var File_terminal_proto protoreflect.FileDescriptor
1210
1211const file_terminal_proto_rawDesc = "" +
1212	"\n" +
1213	"\x0eterminal.proto\x12\vvev.wire.v1\x1a\fcommon.proto\x1a\rsession.proto\"\xa9\x01\n" +
1214	"\vViewContext\x12 \n" +
1215	"\vpublication\x18\x01 \x01(\x04R\vpublication\x129\n" +
1216	"\x05route\x18\x02 \x01(\v2#.vev.wire.v1.CommittedRouteIdentityR\x05route\x12\x15\n" +
1217	"\x06tab_id\x18\x03 \x01(\tR\x05tabId\x12&\n" +
1218	"\x0ffocused_pane_id\x18\x04 \x01(\tR\rfocusedPaneId\"\xd9\x02\n" +
1219	"\x06Output\x12\x14\n" +
1220	"\x05epoch\x18\x01 \x01(\x04R\x05epoch\x12\x12\n" +
1221	"\x04base\x18\x02 \x01(\x04R\x04base\x12\x1b\n" +
1222	"\tnew_state\x18\x03 \x01(\x04R\bnewState\x12\x12\n" +
1223	"\x04echo\x18\x04 \x01(\x04R\x04echo\x12#\n" +
1224	"\rview_revision\x18\x05 \x01(\x04R\fviewRevision\x12\x12\n" +
1225	"\x04cols\x18\x06 \x01(\rR\x04cols\x12\x12\n" +
1226	"\x04rows\x18\a \x01(\rR\x04rows\x12\x12\n" +
1227	"\x04full\x18\b \x01(\bR\x04full\x122\n" +
1228	"\acontext\x18\t \x01(\v2\x18.vev.wire.v1.ViewContextR\acontext\x12\x1a\n" +
1229	"\bencoding\x18\n" +
1230	" \x01(\rR\bencoding\x12/\n" +
1231	"\x13uncompressed_length\x18\v \x01(\x04R\x12uncompressedLength\x12\x12\n" +
1232	"\x04data\x18\f \x01(\fR\x04data\"1\n" +
1233	"\x03Ack\x12\x14\n" +
1234	"\x05epoch\x18\x01 \x01(\x04R\x05epoch\x12\x14\n" +
1235	"\x05state\x18\x02 \x01(\x04R\x05state\"U\n" +
1236	"\x05Input\x12\x1b\n" +
1237	"\tinput_seq\x18\x01 \x01(\x04R\binputSeq\x12\x1b\n" +
1238	"\taction_id\x18\x02 \x01(\x04R\bactionId\x12\x12\n" +
1239	"\x04data\x18\x03 \x01(\fR\x04data\"t\n" +
1240	"\x06Resize\x12\x12\n" +
1241	"\x04cols\x18\x01 \x01(\rR\x04cols\x12\x12\n" +
1242	"\x04rows\x18\x02 \x01(\rR\x04rows\x12\x1f\n" +
1243	"\vpixel_width\x18\x03 \x01(\rR\n" +
1244	"pixelWidth\x12!\n" +
1245	"\fpixel_height\x18\x04 \x01(\rR\vpixelHeight\"\xd5\x02\n" +
1246	"\x05Theme\x12%\n" +
1247	"\x0ehas_foreground\x18\x01 \x01(\bR\rhasForeground\x120\n" +
1248	"\n" +
1249	"foreground\x18\x02 \x01(\v2\x10.vev.wire.v1.RGBR\n" +
1250	"foreground\x12%\n" +
1251	"\x0ehas_background\x18\x03 \x01(\bR\rhasBackground\x120\n" +
1252	"\n" +
1253	"background\x18\x04 \x01(\v2\x10.vev.wire.v1.RGBR\n" +
1254	"background\x12!\n" +
1255	"\fscheme_known\x18\x06 \x01(\bR\vschemeKnown\x12\x14\n" +
1256	"\x05light\x18\a \x01(\bR\x05light\x12#\n" +
1257	"\rpalette_known\x18\b \x01(\rR\fpaletteKnown\x12*\n" +
1258	"\apalette\x18\t \x03(\v2\x10.vev.wire.v1.RGBR\apaletteJ\x04\b\x05\x10\x06R\n" +
1259	"true_color\"P\n" +
1260	"\tImagePush\x12\x1b\n" +
1261	"\tinput_seq\x18\x01 \x01(\x04R\binputSeq\x12\x12\n" +
1262	"\x04mime\x18\x02 \x01(\tR\x04mime\x12\x12\n" +
1263	"\x04data\x18\x03 \x01(\fR\x04data\"&\n" +
1264	"\fClientNotice\x12\x16\n" +
1265	"\x06action\x18\x01 \x01(\rR\x06action\"\x14\n" +
1266	"\x12OutputResetRequest\"%\n" +
1267	"\rTerminalFocus\x12\x14\n" +
1268	"\x05focus\x18\x01 \x01(\rR\x05focus\"#\n" +
1269	"\rModifierState\x12\x12\n" +
1270	"\x04ctrl\x18\x01 \x01(\bR\x04ctrl\"\"\n" +
1271	"\tSelectTab\x12\x15\n" +
1272	"\x06tab_id\x18\x01 \x01(\tR\x05tabId\"&\n" +
1273	"\aUIFence\x12\x1b\n" +
1274	"\taction_id\x18\x01 \x01(\x04R\bactionId\"\x99\x01\n" +
1275	"\tUIReceipt\x12\x1b\n" +
1276	"\taction_id\x18\x01 \x01(\x04R\bactionId\x12\x14\n" +
1277	"\x05epoch\x18\x02 \x01(\x04R\x05epoch\x12\x14\n" +
1278	"\x05state\x18\x03 \x01(\x04R\x05state\x12)\n" +
1279	"\x10view_publication\x18\x04 \x01(\x04R\x0fviewPublication\x12\x18\n" +
1280	"\aoutcome\x18\x05 \x01(\rR\aoutcome\"n\n" +
1281	"\fUIViewUpdate\x12\x14\n" +
1282	"\x05epoch\x18\x01 \x01(\x04R\x05epoch\x12\x14\n" +
1283	"\x05state\x18\x02 \x01(\x04R\x05state\x122\n" +
1284	"\acontext\x18\x03 \x01(\v2\x18.vev.wire.v1.ViewContextR\acontext\"\x91\x01\n" +
1285	"\x14RemotePreviewRequest\x12\x18\n" +
1286	"\aversion\x18\x01 \x01(\rR\aversion\x121\n" +
1287	"\x06target\x18\x02 \x01(\v2\x19.vev.wire.v1.RemoteTargetR\x06target\x12\x14\n" +
1288	"\x05width\x18\x03 \x01(\rR\x05width\x12\x16\n" +
1289	"\x06height\x18\x04 \x01(\rR\x06height\"y\n" +
1290	"\x12RemotePreviewWatch\x12;\n" +
1291	"\arequest\x18\x01 \x01(\v2!.vev.wire.v1.RemotePreviewRequestR\arequest\x12&\n" +
1292	"\x0fmin_interval_ms\x18\x02 \x01(\rR\rminIntervalMs\"\x8f\x02\n" +
1293	"\rRemotePreview\x12\x18\n" +
1294	"\aversion\x18\x01 \x01(\rR\aversion\x12\x16\n" +
1295	"\x06status\x18\x02 \x01(\rR\x06status\x12;\n" +
1296	"\flifecycle_id\x18\x03 \x01(\v2\x18.vev.wire.v1.LifecycleIDR\vlifecycleId\x12\x15\n" +
1297	"\x06tab_id\x18\x04 \x01(\tR\x05tabId\x12\x1a\n" +
1298	"\brevision\x18\x05 \x01(\x04R\brevision\x12\x14\n" +
1299	"\x05width\x18\x06 \x01(\rR\x05width\x12\x16\n" +
1300	"\x06height\x18\a \x01(\rR\x06height\x12.\n" +
1301	"\x05cells\x18\b \x03(\v2\x18.vev.wire.v1.PreviewCellR\x05cellsB-Z+github.com/bnema/vev/internal/protocol/wireb\x06proto3"
1302
1303var (
1304	file_terminal_proto_rawDescOnce sync.Once
1305	file_terminal_proto_rawDescData []byte
1306)
1307
1308func file_terminal_proto_rawDescGZIP() []byte {
1309	file_terminal_proto_rawDescOnce.Do(func() {
1310		file_terminal_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_terminal_proto_rawDesc), len(file_terminal_proto_rawDesc)))
1311	})
1312	return file_terminal_proto_rawDescData
1313}
1314
1315var file_terminal_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
1316var file_terminal_proto_goTypes = []any{
1317	(*ViewContext)(nil),            // 0: vev.wire.v1.ViewContext
1318	(*Output)(nil),                 // 1: vev.wire.v1.Output
1319	(*Ack)(nil),                    // 2: vev.wire.v1.Ack
1320	(*Input)(nil),                  // 3: vev.wire.v1.Input
1321	(*Resize)(nil),                 // 4: vev.wire.v1.Resize
1322	(*Theme)(nil),                  // 5: vev.wire.v1.Theme
1323	(*ImagePush)(nil),              // 6: vev.wire.v1.ImagePush
1324	(*ClientNotice)(nil),           // 7: vev.wire.v1.ClientNotice
1325	(*OutputResetRequest)(nil),     // 8: vev.wire.v1.OutputResetRequest
1326	(*TerminalFocus)(nil),          // 9: vev.wire.v1.TerminalFocus
1327	(*ModifierState)(nil),          // 10: vev.wire.v1.ModifierState
1328	(*SelectTab)(nil),              // 11: vev.wire.v1.SelectTab
1329	(*UIFence)(nil),                // 12: vev.wire.v1.UIFence
1330	(*UIReceipt)(nil),              // 13: vev.wire.v1.UIReceipt
1331	(*UIViewUpdate)(nil),           // 14: vev.wire.v1.UIViewUpdate
1332	(*RemotePreviewRequest)(nil),   // 15: vev.wire.v1.RemotePreviewRequest
1333	(*RemotePreviewWatch)(nil),     // 16: vev.wire.v1.RemotePreviewWatch
1334	(*RemotePreview)(nil),          // 17: vev.wire.v1.RemotePreview
1335	(*CommittedRouteIdentity)(nil), // 18: vev.wire.v1.CommittedRouteIdentity
1336	(*RGB)(nil),                    // 19: vev.wire.v1.RGB
1337	(*RemoteTarget)(nil),           // 20: vev.wire.v1.RemoteTarget
1338	(*LifecycleID)(nil),            // 21: vev.wire.v1.LifecycleID
1339	(*PreviewCell)(nil),            // 22: vev.wire.v1.PreviewCell
1340}
1341var file_terminal_proto_depIdxs = []int32{
1342	18, // 0: vev.wire.v1.ViewContext.route:type_name -> vev.wire.v1.CommittedRouteIdentity
1343	0,  // 1: vev.wire.v1.Output.context:type_name -> vev.wire.v1.ViewContext
1344	19, // 2: vev.wire.v1.Theme.foreground:type_name -> vev.wire.v1.RGB
1345	19, // 3: vev.wire.v1.Theme.background:type_name -> vev.wire.v1.RGB
1346	19, // 4: vev.wire.v1.Theme.palette:type_name -> vev.wire.v1.RGB
1347	0,  // 5: vev.wire.v1.UIViewUpdate.context:type_name -> vev.wire.v1.ViewContext
1348	20, // 6: vev.wire.v1.RemotePreviewRequest.target:type_name -> vev.wire.v1.RemoteTarget
1349	15, // 7: vev.wire.v1.RemotePreviewWatch.request:type_name -> vev.wire.v1.RemotePreviewRequest
1350	21, // 8: vev.wire.v1.RemotePreview.lifecycle_id:type_name -> vev.wire.v1.LifecycleID
1351	22, // 9: vev.wire.v1.RemotePreview.cells:type_name -> vev.wire.v1.PreviewCell
1352	10, // [10:10] is the sub-list for method output_type
1353	10, // [10:10] is the sub-list for method input_type
1354	10, // [10:10] is the sub-list for extension type_name
1355	10, // [10:10] is the sub-list for extension extendee
1356	0,  // [0:10] is the sub-list for field type_name
1357}
1358
1359func init() { file_terminal_proto_init() }
1360func file_terminal_proto_init() {
1361	if File_terminal_proto != nil {
1362		return
1363	}
1364	file_common_proto_init()
1365	file_session_proto_init()
1366	type x struct{}
1367	out := protoimpl.TypeBuilder{
1368		File: protoimpl.DescBuilder{
1369			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1370			RawDescriptor: unsafe.Slice(unsafe.StringData(file_terminal_proto_rawDesc), len(file_terminal_proto_rawDesc)),
1371			NumEnums:      0,
1372			NumMessages:   18,
1373			NumExtensions: 0,
1374			NumServices:   0,
1375		},
1376		GoTypes:           file_terminal_proto_goTypes,
1377		DependencyIndexes: file_terminal_proto_depIdxs,
1378		MessageInfos:      file_terminal_proto_msgTypes,
1379	}.Build()
1380	File_terminal_proto = out.File
1381	file_terminal_proto_goTypes = nil
1382	file_terminal_proto_depIdxs = nil
1383}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 12

Tags 11

↑↓ moveenter openesc close