v0.5.0 ad674f5

textinput.go RawHistoryFolder

1// Code generated by wlgen; DO NOT EDIT.
2package textinput
3
4import (
5	"fmt"
6	wayland "github.com/bnema/purego-libwayland/protocol/wayland"
7	"github.com/bnema/purego-libwayland/server"
8	"runtime"
9)
10
11var ZwpTextInputV3Interface *server.Interface
12var ZwpTextInputManagerV3Interface *server.Interface
13
14func init() {
15	ZwpTextInputV3Interface = &server.Interface{Name: "zwp_text_input_v3", Version: 2}
16	ZwpTextInputManagerV3Interface = &server.Interface{Name: "zwp_text_input_manager_v3", Version: 2}
17	ZwpTextInputV3Interface.Requests = []server.Message{
18		{Name: "destroy", Signature: "", Types: []*server.Interface{}},
19		{Name: "enable", Signature: "", Types: []*server.Interface{}},
20		{Name: "disable", Signature: "", Types: []*server.Interface{}},
21		{Name: "set_surrounding_text", Signature: "sii", Types: []*server.Interface{nil, nil, nil}},
22		{Name: "set_text_change_cause", Signature: "u", Types: []*server.Interface{nil}},
23		{Name: "set_content_type", Signature: "uu", Types: []*server.Interface{nil, nil}},
24		{Name: "set_cursor_rectangle", Signature: "iiii", Types: []*server.Interface{nil, nil, nil, nil}},
25		{Name: "commit", Signature: "", Types: []*server.Interface{}},
26		{Name: "set_available_actions", Signature: "2a", Types: []*server.Interface{nil}},
27		{Name: "show_input_panel", Signature: "2", Types: []*server.Interface{}},
28		{Name: "hide_input_panel", Signature: "2", Types: []*server.Interface{}},
29	}
30	ZwpTextInputV3Interface.Events = []server.Message{
31		{Name: "enter", Signature: "o", Types: []*server.Interface{wayland.SurfaceInterface}},
32		{Name: "leave", Signature: "o", Types: []*server.Interface{wayland.SurfaceInterface}},
33		{Name: "preedit_string", Signature: "?sii", Types: []*server.Interface{nil, nil, nil}},
34		{Name: "commit_string", Signature: "?s", Types: []*server.Interface{nil}},
35		{Name: "delete_surrounding_text", Signature: "uu", Types: []*server.Interface{nil, nil}},
36		{Name: "done", Signature: "u", Types: []*server.Interface{nil}},
37		{Name: "action", Signature: "2uu", Types: []*server.Interface{nil, nil}},
38		{Name: "language", Signature: "2s", Types: []*server.Interface{nil}},
39		{Name: "preedit_hint", Signature: "2uuu", Types: []*server.Interface{nil, nil, nil}},
40	}
41	ZwpTextInputManagerV3Interface.Requests = []server.Message{
42		{Name: "destroy", Signature: "", Types: []*server.Interface{}},
43		{Name: "get_text_input", Signature: "no", Types: []*server.Interface{ZwpTextInputV3Interface, wayland.SeatInterface}},
44	}
45	ZwpTextInputManagerV3Interface.Events = []server.Message{}
46	if err := server.NewInterfaces(ZwpTextInputV3Interface, ZwpTextInputManagerV3Interface); err != nil {
47		panic(err)
48	}
49}
50
51// ZwpTextInputV3 text input.
52type ZwpTextInputV3 struct{ *server.Resource }
53
54func WrapZwpTextInputV3(r *server.Resource) *ZwpTextInputV3 {
55	if r == nil {
56		return nil
57	}
58	return &ZwpTextInputV3{r}
59}
60
61const ZwpTextInputV3RequestDestroy uint32 = 0
62const ZwpTextInputV3RequestEnable uint32 = 1
63const ZwpTextInputV3RequestDisable uint32 = 2
64const ZwpTextInputV3RequestSetSurroundingText uint32 = 3
65const ZwpTextInputV3RequestSetTextChangeCause uint32 = 4
66const ZwpTextInputV3RequestSetContentType uint32 = 5
67const ZwpTextInputV3RequestSetCursorRectangle uint32 = 6
68const ZwpTextInputV3RequestCommit uint32 = 7
69const ZwpTextInputV3RequestSetAvailableActions uint32 = 8
70const ZwpTextInputV3RequestShowInputPanel uint32 = 9
71const ZwpTextInputV3RequestHideInputPanel uint32 = 10
72const ZwpTextInputV3EventEnter uint32 = 0
73const ZwpTextInputV3EventLeave uint32 = 1
74const ZwpTextInputV3EventPreeditString uint32 = 2
75const ZwpTextInputV3EventCommitString uint32 = 3
76const ZwpTextInputV3EventDeleteSurroundingText uint32 = 4
77const ZwpTextInputV3EventDone uint32 = 5
78const ZwpTextInputV3EventAction uint32 = 6
79const ZwpTextInputV3EventLanguage uint32 = 7
80const ZwpTextInputV3EventPreeditHint uint32 = 8
81
82// ZwpTextInputV3ChangeCause text change reason.
83type ZwpTextInputV3ChangeCause uint32
84
85const (
86	ZwpTextInputV3ChangeCauseInputMethod ZwpTextInputV3ChangeCause = 0
87	ZwpTextInputV3ChangeCauseOther       ZwpTextInputV3ChangeCause = 1
88)
89
90// ZwpTextInputV3ContentHint content hint (bitfield).
91type ZwpTextInputV3ContentHint uint32
92
93const (
94	ZwpTextInputV3ContentHintNone                  ZwpTextInputV3ContentHint = 0x0
95	ZwpTextInputV3ContentHintCompletion            ZwpTextInputV3ContentHint = 0x1
96	ZwpTextInputV3ContentHintSpellcheck            ZwpTextInputV3ContentHint = 0x2
97	ZwpTextInputV3ContentHintAutoCapitalization    ZwpTextInputV3ContentHint = 0x4
98	ZwpTextInputV3ContentHintLowercase             ZwpTextInputV3ContentHint = 0x8
99	ZwpTextInputV3ContentHintUppercase             ZwpTextInputV3ContentHint = 0x10
100	ZwpTextInputV3ContentHintTitlecase             ZwpTextInputV3ContentHint = 0x20
101	ZwpTextInputV3ContentHintHiddenText            ZwpTextInputV3ContentHint = 0x40
102	ZwpTextInputV3ContentHintSensitiveData         ZwpTextInputV3ContentHint = 0x80
103	ZwpTextInputV3ContentHintLatin                 ZwpTextInputV3ContentHint = 0x100
104	ZwpTextInputV3ContentHintMultiline             ZwpTextInputV3ContentHint = 0x200
105	ZwpTextInputV3ContentHintOnScreenInputProvided ZwpTextInputV3ContentHint = 0x400
106	ZwpTextInputV3ContentHintNoEmoji               ZwpTextInputV3ContentHint = 0x800
107	ZwpTextInputV3ContentHintPreeditShown          ZwpTextInputV3ContentHint = 0x1000
108)
109
110// ZwpTextInputV3ContentPurpose content purpose.
111type ZwpTextInputV3ContentPurpose uint32
112
113const (
114	ZwpTextInputV3ContentPurposeNormal   ZwpTextInputV3ContentPurpose = 0
115	ZwpTextInputV3ContentPurposeAlpha    ZwpTextInputV3ContentPurpose = 1
116	ZwpTextInputV3ContentPurposeDigits   ZwpTextInputV3ContentPurpose = 2
117	ZwpTextInputV3ContentPurposeNumber   ZwpTextInputV3ContentPurpose = 3
118	ZwpTextInputV3ContentPurposePhone    ZwpTextInputV3ContentPurpose = 4
119	ZwpTextInputV3ContentPurposeUrl      ZwpTextInputV3ContentPurpose = 5
120	ZwpTextInputV3ContentPurposeEmail    ZwpTextInputV3ContentPurpose = 6
121	ZwpTextInputV3ContentPurposeName     ZwpTextInputV3ContentPurpose = 7
122	ZwpTextInputV3ContentPurposePassword ZwpTextInputV3ContentPurpose = 8
123	ZwpTextInputV3ContentPurposePin      ZwpTextInputV3ContentPurpose = 9
124	ZwpTextInputV3ContentPurposeDate     ZwpTextInputV3ContentPurpose = 10
125	ZwpTextInputV3ContentPurposeTime     ZwpTextInputV3ContentPurpose = 11
126	ZwpTextInputV3ContentPurposeDatetime ZwpTextInputV3ContentPurpose = 12
127	ZwpTextInputV3ContentPurposeTerminal ZwpTextInputV3ContentPurpose = 13
128)
129
130// ZwpTextInputV3Error .
131type ZwpTextInputV3Error uint32
132
133const (
134	ZwpTextInputV3ErrorInvalidAction ZwpTextInputV3Error = 0
135)
136
137// ZwpTextInputV3Action action.
138type ZwpTextInputV3Action uint32
139
140const (
141	ZwpTextInputV3ActionNone   ZwpTextInputV3Action = 0
142	ZwpTextInputV3ActionSubmit ZwpTextInputV3Action = 1
143)
144
145// ZwpTextInputV3PreeditHint preedit style hint.
146type ZwpTextInputV3PreeditHint uint32
147
148const (
149	ZwpTextInputV3PreeditHintWhole         ZwpTextInputV3PreeditHint = 1
150	ZwpTextInputV3PreeditHintSelection     ZwpTextInputV3PreeditHint = 2
151	ZwpTextInputV3PreeditHintPrediction    ZwpTextInputV3PreeditHint = 3
152	ZwpTextInputV3PreeditHintPrefix        ZwpTextInputV3PreeditHint = 4
153	ZwpTextInputV3PreeditHintSuffix        ZwpTextInputV3PreeditHint = 5
154	ZwpTextInputV3PreeditHintSpellingError ZwpTextInputV3PreeditHint = 6
155	ZwpTextInputV3PreeditHintComposeError  ZwpTextInputV3PreeditHint = 7
156)
157
158// ZwpTextInputV3Handler handles zwp_text_input_v3 requests.
159type ZwpTextInputV3Handler interface {
160	Destroy(self *ZwpTextInputV3)
161	Enable(self *ZwpTextInputV3)
162	Disable(self *ZwpTextInputV3)
163	SetSurroundingText(self *ZwpTextInputV3, text string, cursor int32, anchor int32)
164	SetTextChangeCause(self *ZwpTextInputV3, cause uint32)
165	SetContentType(self *ZwpTextInputV3, hint uint32, purpose uint32)
166	SetCursorRectangle(self *ZwpTextInputV3, x int32, y int32, width int32, height int32)
167	Commit(self *ZwpTextInputV3)
168	SetAvailableActions(self *ZwpTextInputV3, availableActions []byte)
169	ShowInputPanel(self *ZwpTextInputV3)
170	HideInputPanel(self *ZwpTextInputV3)
171}
172
173func NewZwpTextInputV3(c server.Client, version int32, id uint32, h ZwpTextInputV3Handler) (*ZwpTextInputV3, error) {
174	if h == nil {
175		return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_text_input_v3")
176	}
177	var self *ZwpTextInputV3
178	r, err := c.CreateResource(ZwpTextInputV3Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
179		switch opcode {
180		case 0:
181			h.Destroy(self)
182			self.Destroy()
183		case 1:
184			h.Enable(self)
185		case 2:
186			h.Disable(self)
187		case 3:
188			h.SetSurroundingText(self, args[0].String(), args[1].Int(), args[2].Int())
189		case 4:
190			h.SetTextChangeCause(self, args[0].Uint())
191		case 5:
192			h.SetContentType(self, args[0].Uint(), args[1].Uint())
193		case 6:
194			h.SetCursorRectangle(self, args[0].Int(), args[1].Int(), args[2].Int(), args[3].Int())
195		case 7:
196			h.Commit(self)
197		case 8:
198			h.SetAvailableActions(self, args[0].Array())
199		case 9:
200			h.ShowInputPanel(self)
201		case 10:
202			h.HideInputPanel(self)
203		}
204	})
205	if err != nil {
206		return nil, err
207	}
208	self = WrapZwpTextInputV3(r)
209	r.Data = self
210	return self, nil
211}
212
213// SendEnter enter event.
214func (self *ZwpTextInputV3) SendEnter(surface *wayland.Surface) {
215	self.PostEvent(ZwpTextInputV3EventEnter, server.Object(resourceOf(surface)))
216}
217
218// SendLeave leave event.
219func (self *ZwpTextInputV3) SendLeave(surface *wayland.Surface) {
220	self.PostEvent(ZwpTextInputV3EventLeave, server.Object(resourceOf(surface)))
221}
222
223// SendPreeditString pre-edit.
224func (self *ZwpTextInputV3) SendPreeditString(text string, cursorBegin int32, cursorEnd int32) {
225	var p runtime.Pinner
226	defer p.Unpin()
227	self.PostEvent(ZwpTextInputV3EventPreeditString, server.String(&p, text, true), server.Int(cursorBegin), server.Int(cursorEnd))
228}
229
230// SendCommitString text commit.
231func (self *ZwpTextInputV3) SendCommitString(text string) {
232	var p runtime.Pinner
233	defer p.Unpin()
234	self.PostEvent(ZwpTextInputV3EventCommitString, server.String(&p, text, true))
235}
236
237// SendDeleteSurroundingText delete surrounding text.
238func (self *ZwpTextInputV3) SendDeleteSurroundingText(beforeLength uint32, afterLength uint32) {
239	self.PostEvent(ZwpTextInputV3EventDeleteSurroundingText, server.Uint(beforeLength), server.Uint(afterLength))
240}
241
242// SendDone apply changes.
243func (self *ZwpTextInputV3) SendDone(serial uint32) {
244	self.PostEvent(ZwpTextInputV3EventDone, server.Uint(serial))
245}
246
247// SendAction action performed (since version 2).
248func (self *ZwpTextInputV3) SendAction(action uint32, serial uint32) {
249	self.PostEvent(ZwpTextInputV3EventAction, server.Uint(action), server.Uint(serial))
250}
251
252// SendLanguage notify of language selection (since version 2).
253func (self *ZwpTextInputV3) SendLanguage(language string) {
254	var p runtime.Pinner
255	defer p.Unpin()
256	self.PostEvent(ZwpTextInputV3EventLanguage, server.String(&p, language, false))
257}
258
259// SendPreeditHint pre-edit (since version 2).
260func (self *ZwpTextInputV3) SendPreeditHint(start uint32, end uint32, hint uint32) {
261	self.PostEvent(ZwpTextInputV3EventPreeditHint, server.Uint(start), server.Uint(end), server.Uint(hint))
262}
263func NewZwpTextInputV3Global(d *server.Display, version int32, bind server.BindFunc) error {
264	return d.CreateGlobal(ZwpTextInputV3Interface, version, bind)
265}
266
267// ZwpTextInputManagerV3 text input manager.
268type ZwpTextInputManagerV3 struct{ *server.Resource }
269
270func WrapZwpTextInputManagerV3(r *server.Resource) *ZwpTextInputManagerV3 {
271	if r == nil {
272		return nil
273	}
274	return &ZwpTextInputManagerV3{r}
275}
276
277const ZwpTextInputManagerV3RequestDestroy uint32 = 0
278const ZwpTextInputManagerV3RequestGetTextInput uint32 = 1
279
280// ZwpTextInputManagerV3Handler handles zwp_text_input_manager_v3 requests.
281type ZwpTextInputManagerV3Handler interface {
282	Destroy(self *ZwpTextInputManagerV3)
283	GetTextInput(self *ZwpTextInputManagerV3, id uint32, seat *wayland.Seat)
284}
285
286func NewZwpTextInputManagerV3(c server.Client, version int32, id uint32, h ZwpTextInputManagerV3Handler) (*ZwpTextInputManagerV3, error) {
287	if h == nil {
288		return nil, fmt.Errorf("purego-libwayland: nil handler for zwp_text_input_manager_v3")
289	}
290	var self *ZwpTextInputManagerV3
291	r, err := c.CreateResource(ZwpTextInputManagerV3Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
292		switch opcode {
293		case 0:
294			h.Destroy(self)
295			self.Destroy()
296		case 1:
297			h.GetTextInput(self, args[0].NewID(), wayland.WrapSeat(args[1].Resource()))
298		}
299	})
300	if err != nil {
301		return nil, err
302	}
303	self = WrapZwpTextInputManagerV3(r)
304	r.Data = self
305	return self, nil
306}
307func NewZwpTextInputManagerV3Global(d *server.Display, version int32, bind server.BindFunc) error {
308	return d.CreateGlobal(ZwpTextInputManagerV3Interface, version, bind)
309}
310func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
311	if v == nil {
312		return nil
313	}
314	return v.GetResource()
315}
316func (self *ZwpTextInputV3) GetResource() *server.Resource {
317	if self == nil {
318		return nil
319	}
320	return self.Resource
321}
322func (self *ZwpTextInputManagerV3) GetResource() *server.Resource {
323	if self == nil {
324		return nil
325	}
326	return self.Resource
327}

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 1

Tags 14

↑↓ moveenter openesc close