v0.7.0 4c16dd8

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// SelectTab shows one exact tab of the attached session on this attachment.
707type SelectTab struct {
708	state         protoimpl.MessageState `protogen:"open.v1"`
709	TabId         string                 `protobuf:"bytes,1,opt,name=tab_id,json=tabId,proto3" json:"tab_id,omitempty"`
710	unknownFields protoimpl.UnknownFields
711	sizeCache     protoimpl.SizeCache
712}
713
714func (x *SelectTab) Reset() {
715	*x = SelectTab{}
716	mi := &file_terminal_proto_msgTypes[10]
717	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
718	ms.StoreMessageInfo(mi)
719}
720
721func (x *SelectTab) String() string {
722	return protoimpl.X.MessageStringOf(x)
723}
724
725func (*SelectTab) ProtoMessage() {}
726
727func (x *SelectTab) ProtoReflect() protoreflect.Message {
728	mi := &file_terminal_proto_msgTypes[10]
729	if x != nil {
730		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
731		if ms.LoadMessageInfo() == nil {
732			ms.StoreMessageInfo(mi)
733		}
734		return ms
735	}
736	return mi.MessageOf(x)
737}
738
739// Deprecated: Use SelectTab.ProtoReflect.Descriptor instead.
740func (*SelectTab) Descriptor() ([]byte, []int) {
741	return file_terminal_proto_rawDescGZIP(), []int{10}
742}
743
744func (x *SelectTab) GetTabId() string {
745	if x != nil {
746		return x.TabId
747	}
748	return ""
749}
750
751// UIFence orders UI operations by action.
752type UIFence struct {
753	state         protoimpl.MessageState `protogen:"open.v1"`
754	ActionId      uint64                 `protobuf:"varint,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"`
755	unknownFields protoimpl.UnknownFields
756	sizeCache     protoimpl.SizeCache
757}
758
759func (x *UIFence) Reset() {
760	*x = UIFence{}
761	mi := &file_terminal_proto_msgTypes[11]
762	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
763	ms.StoreMessageInfo(mi)
764}
765
766func (x *UIFence) String() string {
767	return protoimpl.X.MessageStringOf(x)
768}
769
770func (*UIFence) ProtoMessage() {}
771
772func (x *UIFence) ProtoReflect() protoreflect.Message {
773	mi := &file_terminal_proto_msgTypes[11]
774	if x != nil {
775		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
776		if ms.LoadMessageInfo() == nil {
777			ms.StoreMessageInfo(mi)
778		}
779		return ms
780	}
781	return mi.MessageOf(x)
782}
783
784// Deprecated: Use UIFence.ProtoReflect.Descriptor instead.
785func (*UIFence) Descriptor() ([]byte, []int) {
786	return file_terminal_proto_rawDescGZIP(), []int{11}
787}
788
789func (x *UIFence) GetActionId() uint64 {
790	if x != nil {
791		return x.ActionId
792	}
793	return 0
794}
795
796// UIReceipt reports the processed output boundary.
797type UIReceipt struct {
798	state           protoimpl.MessageState `protogen:"open.v1"`
799	ActionId        uint64                 `protobuf:"varint,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"`
800	Epoch           uint64                 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"`
801	State           uint64                 `protobuf:"varint,3,opt,name=state,proto3" json:"state,omitempty"`
802	ViewPublication uint64                 `protobuf:"varint,4,opt,name=view_publication,json=viewPublication,proto3" json:"view_publication,omitempty"`
803	// Closed outcome taxonomy: 1 = processed, 2 = unavailable.
804	Outcome       uint32 `protobuf:"varint,5,opt,name=outcome,proto3" json:"outcome,omitempty"`
805	unknownFields protoimpl.UnknownFields
806	sizeCache     protoimpl.SizeCache
807}
808
809func (x *UIReceipt) Reset() {
810	*x = UIReceipt{}
811	mi := &file_terminal_proto_msgTypes[12]
812	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
813	ms.StoreMessageInfo(mi)
814}
815
816func (x *UIReceipt) String() string {
817	return protoimpl.X.MessageStringOf(x)
818}
819
820func (*UIReceipt) ProtoMessage() {}
821
822func (x *UIReceipt) ProtoReflect() protoreflect.Message {
823	mi := &file_terminal_proto_msgTypes[12]
824	if x != nil {
825		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
826		if ms.LoadMessageInfo() == nil {
827			ms.StoreMessageInfo(mi)
828		}
829		return ms
830	}
831	return mi.MessageOf(x)
832}
833
834// Deprecated: Use UIReceipt.ProtoReflect.Descriptor instead.
835func (*UIReceipt) Descriptor() ([]byte, []int) {
836	return file_terminal_proto_rawDescGZIP(), []int{12}
837}
838
839func (x *UIReceipt) GetActionId() uint64 {
840	if x != nil {
841		return x.ActionId
842	}
843	return 0
844}
845
846func (x *UIReceipt) GetEpoch() uint64 {
847	if x != nil {
848		return x.Epoch
849	}
850	return 0
851}
852
853func (x *UIReceipt) GetState() uint64 {
854	if x != nil {
855		return x.State
856	}
857	return 0
858}
859
860func (x *UIReceipt) GetViewPublication() uint64 {
861	if x != nil {
862		return x.ViewPublication
863	}
864	return 0
865}
866
867func (x *UIReceipt) GetOutcome() uint32 {
868	if x != nil {
869		return x.Outcome
870	}
871	return 0
872}
873
874// UIViewUpdate publishes a view boundary without terminal data.
875type UIViewUpdate struct {
876	state         protoimpl.MessageState `protogen:"open.v1"`
877	Epoch         uint64                 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
878	State         uint64                 `protobuf:"varint,2,opt,name=state,proto3" json:"state,omitempty"`
879	Context       *ViewContext           `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"`
880	unknownFields protoimpl.UnknownFields
881	sizeCache     protoimpl.SizeCache
882}
883
884func (x *UIViewUpdate) Reset() {
885	*x = UIViewUpdate{}
886	mi := &file_terminal_proto_msgTypes[13]
887	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
888	ms.StoreMessageInfo(mi)
889}
890
891func (x *UIViewUpdate) String() string {
892	return protoimpl.X.MessageStringOf(x)
893}
894
895func (*UIViewUpdate) ProtoMessage() {}
896
897func (x *UIViewUpdate) ProtoReflect() protoreflect.Message {
898	mi := &file_terminal_proto_msgTypes[13]
899	if x != nil {
900		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
901		if ms.LoadMessageInfo() == nil {
902			ms.StoreMessageInfo(mi)
903		}
904		return ms
905	}
906	return mi.MessageOf(x)
907}
908
909// Deprecated: Use UIViewUpdate.ProtoReflect.Descriptor instead.
910func (*UIViewUpdate) Descriptor() ([]byte, []int) {
911	return file_terminal_proto_rawDescGZIP(), []int{13}
912}
913
914func (x *UIViewUpdate) GetEpoch() uint64 {
915	if x != nil {
916		return x.Epoch
917	}
918	return 0
919}
920
921func (x *UIViewUpdate) GetState() uint64 {
922	if x != nil {
923		return x.State
924	}
925	return 0
926}
927
928func (x *UIViewUpdate) GetContext() *ViewContext {
929	if x != nil {
930		return x.Context
931	}
932	return nil
933}
934
935// RemotePreviewRequest names a bounded exact-target viewport.
936type RemotePreviewRequest struct {
937	state         protoimpl.MessageState `protogen:"open.v1"`
938	Version       uint32                 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
939	Target        *RemoteTarget          `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
940	Width         uint32                 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"`
941	Height        uint32                 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
942	unknownFields protoimpl.UnknownFields
943	sizeCache     protoimpl.SizeCache
944}
945
946func (x *RemotePreviewRequest) Reset() {
947	*x = RemotePreviewRequest{}
948	mi := &file_terminal_proto_msgTypes[14]
949	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
950	ms.StoreMessageInfo(mi)
951}
952
953func (x *RemotePreviewRequest) String() string {
954	return protoimpl.X.MessageStringOf(x)
955}
956
957func (*RemotePreviewRequest) ProtoMessage() {}
958
959func (x *RemotePreviewRequest) ProtoReflect() protoreflect.Message {
960	mi := &file_terminal_proto_msgTypes[14]
961	if x != nil {
962		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963		if ms.LoadMessageInfo() == nil {
964			ms.StoreMessageInfo(mi)
965		}
966		return ms
967	}
968	return mi.MessageOf(x)
969}
970
971// Deprecated: Use RemotePreviewRequest.ProtoReflect.Descriptor instead.
972func (*RemotePreviewRequest) Descriptor() ([]byte, []int) {
973	return file_terminal_proto_rawDescGZIP(), []int{14}
974}
975
976func (x *RemotePreviewRequest) GetVersion() uint32 {
977	if x != nil {
978		return x.Version
979	}
980	return 0
981}
982
983func (x *RemotePreviewRequest) GetTarget() *RemoteTarget {
984	if x != nil {
985		return x.Target
986	}
987	return nil
988}
989
990func (x *RemotePreviewRequest) GetWidth() uint32 {
991	if x != nil {
992		return x.Width
993	}
994	return 0
995}
996
997func (x *RemotePreviewRequest) GetHeight() uint32 {
998	if x != nil {
999		return x.Height
1000	}
1001	return 0
1002}
1003
1004// RemotePreviewWatch is a client first message: the server answers with a
1005// stream of RemotePreview frames, at most one per min_interval_ms, until the
1006// client closes the connection.
1007type RemotePreviewWatch struct {
1008	state   protoimpl.MessageState `protogen:"open.v1"`
1009	Request *RemotePreviewRequest  `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
1010	// Whole milliseconds inside [16, 1000].
1011	MinIntervalMs uint32 `protobuf:"varint,2,opt,name=min_interval_ms,json=minIntervalMs,proto3" json:"min_interval_ms,omitempty"`
1012	unknownFields protoimpl.UnknownFields
1013	sizeCache     protoimpl.SizeCache
1014}
1015
1016func (x *RemotePreviewWatch) Reset() {
1017	*x = RemotePreviewWatch{}
1018	mi := &file_terminal_proto_msgTypes[15]
1019	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1020	ms.StoreMessageInfo(mi)
1021}
1022
1023func (x *RemotePreviewWatch) String() string {
1024	return protoimpl.X.MessageStringOf(x)
1025}
1026
1027func (*RemotePreviewWatch) ProtoMessage() {}
1028
1029func (x *RemotePreviewWatch) ProtoReflect() protoreflect.Message {
1030	mi := &file_terminal_proto_msgTypes[15]
1031	if x != nil {
1032		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1033		if ms.LoadMessageInfo() == nil {
1034			ms.StoreMessageInfo(mi)
1035		}
1036		return ms
1037	}
1038	return mi.MessageOf(x)
1039}
1040
1041// Deprecated: Use RemotePreviewWatch.ProtoReflect.Descriptor instead.
1042func (*RemotePreviewWatch) Descriptor() ([]byte, []int) {
1043	return file_terminal_proto_rawDescGZIP(), []int{15}
1044}
1045
1046func (x *RemotePreviewWatch) GetRequest() *RemotePreviewRequest {
1047	if x != nil {
1048		return x.Request
1049	}
1050	return nil
1051}
1052
1053func (x *RemotePreviewWatch) GetMinIntervalMs() uint32 {
1054	if x != nil {
1055		return x.MinIntervalMs
1056	}
1057	return 0
1058}
1059
1060// RemotePreview is a bounded row-major styled-cell viewport.
1061type RemotePreview struct {
1062	state   protoimpl.MessageState `protogen:"open.v1"`
1063	Version uint32                 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
1064	// Closed status taxonomy: 0 = ok, 1 = unavailable, 2 = no such target,
1065	// 3 = stale, 4 = malformed, 5 = too large.
1066	Status        uint32         `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
1067	LifecycleId   *LifecycleID   `protobuf:"bytes,3,opt,name=lifecycle_id,json=lifecycleId,proto3" json:"lifecycle_id,omitempty"`
1068	TabId         string         `protobuf:"bytes,4,opt,name=tab_id,json=tabId,proto3" json:"tab_id,omitempty"`
1069	Revision      uint64         `protobuf:"varint,5,opt,name=revision,proto3" json:"revision,omitempty"`
1070	Width         uint32         `protobuf:"varint,6,opt,name=width,proto3" json:"width,omitempty"`
1071	Height        uint32         `protobuf:"varint,7,opt,name=height,proto3" json:"height,omitempty"`
1072	Cells         []*PreviewCell `protobuf:"bytes,8,rep,name=cells,proto3" json:"cells,omitempty"`
1073	unknownFields protoimpl.UnknownFields
1074	sizeCache     protoimpl.SizeCache
1075}
1076
1077func (x *RemotePreview) Reset() {
1078	*x = RemotePreview{}
1079	mi := &file_terminal_proto_msgTypes[16]
1080	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1081	ms.StoreMessageInfo(mi)
1082}
1083
1084func (x *RemotePreview) String() string {
1085	return protoimpl.X.MessageStringOf(x)
1086}
1087
1088func (*RemotePreview) ProtoMessage() {}
1089
1090func (x *RemotePreview) ProtoReflect() protoreflect.Message {
1091	mi := &file_terminal_proto_msgTypes[16]
1092	if x != nil {
1093		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1094		if ms.LoadMessageInfo() == nil {
1095			ms.StoreMessageInfo(mi)
1096		}
1097		return ms
1098	}
1099	return mi.MessageOf(x)
1100}
1101
1102// Deprecated: Use RemotePreview.ProtoReflect.Descriptor instead.
1103func (*RemotePreview) Descriptor() ([]byte, []int) {
1104	return file_terminal_proto_rawDescGZIP(), []int{16}
1105}
1106
1107func (x *RemotePreview) GetVersion() uint32 {
1108	if x != nil {
1109		return x.Version
1110	}
1111	return 0
1112}
1113
1114func (x *RemotePreview) GetStatus() uint32 {
1115	if x != nil {
1116		return x.Status
1117	}
1118	return 0
1119}
1120
1121func (x *RemotePreview) GetLifecycleId() *LifecycleID {
1122	if x != nil {
1123		return x.LifecycleId
1124	}
1125	return nil
1126}
1127
1128func (x *RemotePreview) GetTabId() string {
1129	if x != nil {
1130		return x.TabId
1131	}
1132	return ""
1133}
1134
1135func (x *RemotePreview) GetRevision() uint64 {
1136	if x != nil {
1137		return x.Revision
1138	}
1139	return 0
1140}
1141
1142func (x *RemotePreview) GetWidth() uint32 {
1143	if x != nil {
1144		return x.Width
1145	}
1146	return 0
1147}
1148
1149func (x *RemotePreview) GetHeight() uint32 {
1150	if x != nil {
1151		return x.Height
1152	}
1153	return 0
1154}
1155
1156func (x *RemotePreview) GetCells() []*PreviewCell {
1157	if x != nil {
1158		return x.Cells
1159	}
1160	return nil
1161}
1162
1163var File_terminal_proto protoreflect.FileDescriptor
1164
1165const file_terminal_proto_rawDesc = "" +
1166	"\n" +
1167	"\x0eterminal.proto\x12\vvev.wire.v1\x1a\fcommon.proto\x1a\rsession.proto\"\xa9\x01\n" +
1168	"\vViewContext\x12 \n" +
1169	"\vpublication\x18\x01 \x01(\x04R\vpublication\x129\n" +
1170	"\x05route\x18\x02 \x01(\v2#.vev.wire.v1.CommittedRouteIdentityR\x05route\x12\x15\n" +
1171	"\x06tab_id\x18\x03 \x01(\tR\x05tabId\x12&\n" +
1172	"\x0ffocused_pane_id\x18\x04 \x01(\tR\rfocusedPaneId\"\xd9\x02\n" +
1173	"\x06Output\x12\x14\n" +
1174	"\x05epoch\x18\x01 \x01(\x04R\x05epoch\x12\x12\n" +
1175	"\x04base\x18\x02 \x01(\x04R\x04base\x12\x1b\n" +
1176	"\tnew_state\x18\x03 \x01(\x04R\bnewState\x12\x12\n" +
1177	"\x04echo\x18\x04 \x01(\x04R\x04echo\x12#\n" +
1178	"\rview_revision\x18\x05 \x01(\x04R\fviewRevision\x12\x12\n" +
1179	"\x04cols\x18\x06 \x01(\rR\x04cols\x12\x12\n" +
1180	"\x04rows\x18\a \x01(\rR\x04rows\x12\x12\n" +
1181	"\x04full\x18\b \x01(\bR\x04full\x122\n" +
1182	"\acontext\x18\t \x01(\v2\x18.vev.wire.v1.ViewContextR\acontext\x12\x1a\n" +
1183	"\bencoding\x18\n" +
1184	" \x01(\rR\bencoding\x12/\n" +
1185	"\x13uncompressed_length\x18\v \x01(\x04R\x12uncompressedLength\x12\x12\n" +
1186	"\x04data\x18\f \x01(\fR\x04data\"1\n" +
1187	"\x03Ack\x12\x14\n" +
1188	"\x05epoch\x18\x01 \x01(\x04R\x05epoch\x12\x14\n" +
1189	"\x05state\x18\x02 \x01(\x04R\x05state\"U\n" +
1190	"\x05Input\x12\x1b\n" +
1191	"\tinput_seq\x18\x01 \x01(\x04R\binputSeq\x12\x1b\n" +
1192	"\taction_id\x18\x02 \x01(\x04R\bactionId\x12\x12\n" +
1193	"\x04data\x18\x03 \x01(\fR\x04data\"t\n" +
1194	"\x06Resize\x12\x12\n" +
1195	"\x04cols\x18\x01 \x01(\rR\x04cols\x12\x12\n" +
1196	"\x04rows\x18\x02 \x01(\rR\x04rows\x12\x1f\n" +
1197	"\vpixel_width\x18\x03 \x01(\rR\n" +
1198	"pixelWidth\x12!\n" +
1199	"\fpixel_height\x18\x04 \x01(\rR\vpixelHeight\"\xd5\x02\n" +
1200	"\x05Theme\x12%\n" +
1201	"\x0ehas_foreground\x18\x01 \x01(\bR\rhasForeground\x120\n" +
1202	"\n" +
1203	"foreground\x18\x02 \x01(\v2\x10.vev.wire.v1.RGBR\n" +
1204	"foreground\x12%\n" +
1205	"\x0ehas_background\x18\x03 \x01(\bR\rhasBackground\x120\n" +
1206	"\n" +
1207	"background\x18\x04 \x01(\v2\x10.vev.wire.v1.RGBR\n" +
1208	"background\x12!\n" +
1209	"\fscheme_known\x18\x06 \x01(\bR\vschemeKnown\x12\x14\n" +
1210	"\x05light\x18\a \x01(\bR\x05light\x12#\n" +
1211	"\rpalette_known\x18\b \x01(\rR\fpaletteKnown\x12*\n" +
1212	"\apalette\x18\t \x03(\v2\x10.vev.wire.v1.RGBR\apaletteJ\x04\b\x05\x10\x06R\n" +
1213	"true_color\"P\n" +
1214	"\tImagePush\x12\x1b\n" +
1215	"\tinput_seq\x18\x01 \x01(\x04R\binputSeq\x12\x12\n" +
1216	"\x04mime\x18\x02 \x01(\tR\x04mime\x12\x12\n" +
1217	"\x04data\x18\x03 \x01(\fR\x04data\"&\n" +
1218	"\fClientNotice\x12\x16\n" +
1219	"\x06action\x18\x01 \x01(\rR\x06action\"\x14\n" +
1220	"\x12OutputResetRequest\"%\n" +
1221	"\rTerminalFocus\x12\x14\n" +
1222	"\x05focus\x18\x01 \x01(\rR\x05focus\"\"\n" +
1223	"\tSelectTab\x12\x15\n" +
1224	"\x06tab_id\x18\x01 \x01(\tR\x05tabId\"&\n" +
1225	"\aUIFence\x12\x1b\n" +
1226	"\taction_id\x18\x01 \x01(\x04R\bactionId\"\x99\x01\n" +
1227	"\tUIReceipt\x12\x1b\n" +
1228	"\taction_id\x18\x01 \x01(\x04R\bactionId\x12\x14\n" +
1229	"\x05epoch\x18\x02 \x01(\x04R\x05epoch\x12\x14\n" +
1230	"\x05state\x18\x03 \x01(\x04R\x05state\x12)\n" +
1231	"\x10view_publication\x18\x04 \x01(\x04R\x0fviewPublication\x12\x18\n" +
1232	"\aoutcome\x18\x05 \x01(\rR\aoutcome\"n\n" +
1233	"\fUIViewUpdate\x12\x14\n" +
1234	"\x05epoch\x18\x01 \x01(\x04R\x05epoch\x12\x14\n" +
1235	"\x05state\x18\x02 \x01(\x04R\x05state\x122\n" +
1236	"\acontext\x18\x03 \x01(\v2\x18.vev.wire.v1.ViewContextR\acontext\"\x91\x01\n" +
1237	"\x14RemotePreviewRequest\x12\x18\n" +
1238	"\aversion\x18\x01 \x01(\rR\aversion\x121\n" +
1239	"\x06target\x18\x02 \x01(\v2\x19.vev.wire.v1.RemoteTargetR\x06target\x12\x14\n" +
1240	"\x05width\x18\x03 \x01(\rR\x05width\x12\x16\n" +
1241	"\x06height\x18\x04 \x01(\rR\x06height\"y\n" +
1242	"\x12RemotePreviewWatch\x12;\n" +
1243	"\arequest\x18\x01 \x01(\v2!.vev.wire.v1.RemotePreviewRequestR\arequest\x12&\n" +
1244	"\x0fmin_interval_ms\x18\x02 \x01(\rR\rminIntervalMs\"\x8f\x02\n" +
1245	"\rRemotePreview\x12\x18\n" +
1246	"\aversion\x18\x01 \x01(\rR\aversion\x12\x16\n" +
1247	"\x06status\x18\x02 \x01(\rR\x06status\x12;\n" +
1248	"\flifecycle_id\x18\x03 \x01(\v2\x18.vev.wire.v1.LifecycleIDR\vlifecycleId\x12\x15\n" +
1249	"\x06tab_id\x18\x04 \x01(\tR\x05tabId\x12\x1a\n" +
1250	"\brevision\x18\x05 \x01(\x04R\brevision\x12\x14\n" +
1251	"\x05width\x18\x06 \x01(\rR\x05width\x12\x16\n" +
1252	"\x06height\x18\a \x01(\rR\x06height\x12.\n" +
1253	"\x05cells\x18\b \x03(\v2\x18.vev.wire.v1.PreviewCellR\x05cellsB-Z+github.com/bnema/vev/internal/protocol/wireb\x06proto3"
1254
1255var (
1256	file_terminal_proto_rawDescOnce sync.Once
1257	file_terminal_proto_rawDescData []byte
1258)
1259
1260func file_terminal_proto_rawDescGZIP() []byte {
1261	file_terminal_proto_rawDescOnce.Do(func() {
1262		file_terminal_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_terminal_proto_rawDesc), len(file_terminal_proto_rawDesc)))
1263	})
1264	return file_terminal_proto_rawDescData
1265}
1266
1267var file_terminal_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
1268var file_terminal_proto_goTypes = []any{
1269	(*ViewContext)(nil),            // 0: vev.wire.v1.ViewContext
1270	(*Output)(nil),                 // 1: vev.wire.v1.Output
1271	(*Ack)(nil),                    // 2: vev.wire.v1.Ack
1272	(*Input)(nil),                  // 3: vev.wire.v1.Input
1273	(*Resize)(nil),                 // 4: vev.wire.v1.Resize
1274	(*Theme)(nil),                  // 5: vev.wire.v1.Theme
1275	(*ImagePush)(nil),              // 6: vev.wire.v1.ImagePush
1276	(*ClientNotice)(nil),           // 7: vev.wire.v1.ClientNotice
1277	(*OutputResetRequest)(nil),     // 8: vev.wire.v1.OutputResetRequest
1278	(*TerminalFocus)(nil),          // 9: vev.wire.v1.TerminalFocus
1279	(*SelectTab)(nil),              // 10: vev.wire.v1.SelectTab
1280	(*UIFence)(nil),                // 11: vev.wire.v1.UIFence
1281	(*UIReceipt)(nil),              // 12: vev.wire.v1.UIReceipt
1282	(*UIViewUpdate)(nil),           // 13: vev.wire.v1.UIViewUpdate
1283	(*RemotePreviewRequest)(nil),   // 14: vev.wire.v1.RemotePreviewRequest
1284	(*RemotePreviewWatch)(nil),     // 15: vev.wire.v1.RemotePreviewWatch
1285	(*RemotePreview)(nil),          // 16: vev.wire.v1.RemotePreview
1286	(*CommittedRouteIdentity)(nil), // 17: vev.wire.v1.CommittedRouteIdentity
1287	(*RGB)(nil),                    // 18: vev.wire.v1.RGB
1288	(*RemoteTarget)(nil),           // 19: vev.wire.v1.RemoteTarget
1289	(*LifecycleID)(nil),            // 20: vev.wire.v1.LifecycleID
1290	(*PreviewCell)(nil),            // 21: vev.wire.v1.PreviewCell
1291}
1292var file_terminal_proto_depIdxs = []int32{
1293	17, // 0: vev.wire.v1.ViewContext.route:type_name -> vev.wire.v1.CommittedRouteIdentity
1294	0,  // 1: vev.wire.v1.Output.context:type_name -> vev.wire.v1.ViewContext
1295	18, // 2: vev.wire.v1.Theme.foreground:type_name -> vev.wire.v1.RGB
1296	18, // 3: vev.wire.v1.Theme.background:type_name -> vev.wire.v1.RGB
1297	18, // 4: vev.wire.v1.Theme.palette:type_name -> vev.wire.v1.RGB
1298	0,  // 5: vev.wire.v1.UIViewUpdate.context:type_name -> vev.wire.v1.ViewContext
1299	19, // 6: vev.wire.v1.RemotePreviewRequest.target:type_name -> vev.wire.v1.RemoteTarget
1300	14, // 7: vev.wire.v1.RemotePreviewWatch.request:type_name -> vev.wire.v1.RemotePreviewRequest
1301	20, // 8: vev.wire.v1.RemotePreview.lifecycle_id:type_name -> vev.wire.v1.LifecycleID
1302	21, // 9: vev.wire.v1.RemotePreview.cells:type_name -> vev.wire.v1.PreviewCell
1303	10, // [10:10] is the sub-list for method output_type
1304	10, // [10:10] is the sub-list for method input_type
1305	10, // [10:10] is the sub-list for extension type_name
1306	10, // [10:10] is the sub-list for extension extendee
1307	0,  // [0:10] is the sub-list for field type_name
1308}
1309
1310func init() { file_terminal_proto_init() }
1311func file_terminal_proto_init() {
1312	if File_terminal_proto != nil {
1313		return
1314	}
1315	file_common_proto_init()
1316	file_session_proto_init()
1317	type x struct{}
1318	out := protoimpl.TypeBuilder{
1319		File: protoimpl.DescBuilder{
1320			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1321			RawDescriptor: unsafe.Slice(unsafe.StringData(file_terminal_proto_rawDesc), len(file_terminal_proto_rawDesc)),
1322			NumEnums:      0,
1323			NumMessages:   17,
1324			NumExtensions: 0,
1325			NumServices:   0,
1326		},
1327		GoTypes:           file_terminal_proto_goTypes,
1328		DependencyIndexes: file_terminal_proto_depIdxs,
1329		MessageInfos:      file_terminal_proto_msgTypes,
1330	}.Build()
1331	File_terminal_proto = out.File
1332	file_terminal_proto_goTypes = nil
1333	file_terminal_proto_depIdxs = nil
1334}

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