v0.5.0 ad674f5

wlrforeigntoplevel.go RawHistoryFolder

1// Code generated by wlgen; DO NOT EDIT.
2package wlrforeigntoplevel
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 ZwlrForeignToplevelManagerV1Interface *server.Interface
12var ZwlrForeignToplevelHandleV1Interface *server.Interface
13
14func init() {
15	ZwlrForeignToplevelManagerV1Interface = &server.Interface{Name: "zwlr_foreign_toplevel_manager_v1", Version: 3}
16	ZwlrForeignToplevelHandleV1Interface = &server.Interface{Name: "zwlr_foreign_toplevel_handle_v1", Version: 3}
17	ZwlrForeignToplevelManagerV1Interface.Requests = []server.Message{
18		{Name: "stop", Signature: "", Types: []*server.Interface{}},
19	}
20	ZwlrForeignToplevelManagerV1Interface.Events = []server.Message{
21		{Name: "toplevel", Signature: "n", Types: []*server.Interface{ZwlrForeignToplevelHandleV1Interface}},
22		{Name: "finished", Signature: "", Types: []*server.Interface{}},
23	}
24	ZwlrForeignToplevelHandleV1Interface.Requests = []server.Message{
25		{Name: "set_maximized", Signature: "", Types: []*server.Interface{}},
26		{Name: "unset_maximized", Signature: "", Types: []*server.Interface{}},
27		{Name: "set_minimized", Signature: "", Types: []*server.Interface{}},
28		{Name: "unset_minimized", Signature: "", Types: []*server.Interface{}},
29		{Name: "activate", Signature: "o", Types: []*server.Interface{wayland.SeatInterface}},
30		{Name: "close", Signature: "", Types: []*server.Interface{}},
31		{Name: "set_rectangle", Signature: "oiiii", Types: []*server.Interface{wayland.SurfaceInterface, nil, nil, nil, nil}},
32		{Name: "destroy", Signature: "", Types: []*server.Interface{}},
33		{Name: "set_fullscreen", Signature: "2?o", Types: []*server.Interface{wayland.OutputInterface}},
34		{Name: "unset_fullscreen", Signature: "2", Types: []*server.Interface{}},
35	}
36	ZwlrForeignToplevelHandleV1Interface.Events = []server.Message{
37		{Name: "title", Signature: "s", Types: []*server.Interface{nil}},
38		{Name: "app_id", Signature: "s", Types: []*server.Interface{nil}},
39		{Name: "output_enter", Signature: "o", Types: []*server.Interface{wayland.OutputInterface}},
40		{Name: "output_leave", Signature: "o", Types: []*server.Interface{wayland.OutputInterface}},
41		{Name: "state", Signature: "a", Types: []*server.Interface{nil}},
42		{Name: "done", Signature: "", Types: []*server.Interface{}},
43		{Name: "closed", Signature: "", Types: []*server.Interface{}},
44		{Name: "parent", Signature: "3?o", Types: []*server.Interface{ZwlrForeignToplevelHandleV1Interface}},
45	}
46	if err := server.NewInterfaces(ZwlrForeignToplevelManagerV1Interface, ZwlrForeignToplevelHandleV1Interface); err != nil {
47		panic(err)
48	}
49}
50
51// ZwlrForeignToplevelManagerV1 list and control opened apps.
52type ZwlrForeignToplevelManagerV1 struct{ *server.Resource }
53
54func WrapZwlrForeignToplevelManagerV1(r *server.Resource) *ZwlrForeignToplevelManagerV1 {
55	if r == nil {
56		return nil
57	}
58	return &ZwlrForeignToplevelManagerV1{r}
59}
60
61const ZwlrForeignToplevelManagerV1RequestStop uint32 = 0
62const ZwlrForeignToplevelManagerV1EventToplevel uint32 = 0
63const ZwlrForeignToplevelManagerV1EventFinished uint32 = 1
64
65// ZwlrForeignToplevelManagerV1Handler handles zwlr_foreign_toplevel_manager_v1 requests.
66type ZwlrForeignToplevelManagerV1Handler interface {
67	Stop(self *ZwlrForeignToplevelManagerV1)
68}
69
70func NewZwlrForeignToplevelManagerV1(c server.Client, version int32, id uint32, h ZwlrForeignToplevelManagerV1Handler) (*ZwlrForeignToplevelManagerV1, error) {
71	if h == nil {
72		return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_foreign_toplevel_manager_v1")
73	}
74	var self *ZwlrForeignToplevelManagerV1
75	r, err := c.CreateResource(ZwlrForeignToplevelManagerV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
76		switch opcode {
77		case 0:
78			h.Stop(self)
79		}
80	})
81	if err != nil {
82		return nil, err
83	}
84	self = WrapZwlrForeignToplevelManagerV1(r)
85	r.Data = self
86	return self, nil
87}
88
89// SendToplevel a toplevel has been created.
90func (self *ZwlrForeignToplevelManagerV1) SendToplevel(toplevel *ZwlrForeignToplevelHandleV1) {
91	self.PostEvent(ZwlrForeignToplevelManagerV1EventToplevel, server.NewID(resourceOf(toplevel)))
92}
93
94// SendFinished the compositor has finished with the toplevel manager.
95func (self *ZwlrForeignToplevelManagerV1) SendFinished() {
96	self.PostEvent(ZwlrForeignToplevelManagerV1EventFinished)
97}
98func NewZwlrForeignToplevelManagerV1Global(d *server.Display, version int32, bind server.BindFunc) error {
99	return d.CreateGlobal(ZwlrForeignToplevelManagerV1Interface, version, bind)
100}
101
102// ZwlrForeignToplevelHandleV1 an opened toplevel.
103type ZwlrForeignToplevelHandleV1 struct{ *server.Resource }
104
105func WrapZwlrForeignToplevelHandleV1(r *server.Resource) *ZwlrForeignToplevelHandleV1 {
106	if r == nil {
107		return nil
108	}
109	return &ZwlrForeignToplevelHandleV1{r}
110}
111
112const ZwlrForeignToplevelHandleV1RequestSetMaximized uint32 = 0
113const ZwlrForeignToplevelHandleV1RequestUnsetMaximized uint32 = 1
114const ZwlrForeignToplevelHandleV1RequestSetMinimized uint32 = 2
115const ZwlrForeignToplevelHandleV1RequestUnsetMinimized uint32 = 3
116const ZwlrForeignToplevelHandleV1RequestActivate uint32 = 4
117const ZwlrForeignToplevelHandleV1RequestClose uint32 = 5
118const ZwlrForeignToplevelHandleV1RequestSetRectangle uint32 = 6
119const ZwlrForeignToplevelHandleV1RequestDestroy uint32 = 7
120const ZwlrForeignToplevelHandleV1RequestSetFullscreen uint32 = 8
121const ZwlrForeignToplevelHandleV1RequestUnsetFullscreen uint32 = 9
122const ZwlrForeignToplevelHandleV1EventTitle uint32 = 0
123const ZwlrForeignToplevelHandleV1EventAppId uint32 = 1
124const ZwlrForeignToplevelHandleV1EventOutputEnter uint32 = 2
125const ZwlrForeignToplevelHandleV1EventOutputLeave uint32 = 3
126const ZwlrForeignToplevelHandleV1EventState uint32 = 4
127const ZwlrForeignToplevelHandleV1EventDone uint32 = 5
128const ZwlrForeignToplevelHandleV1EventClosed uint32 = 6
129const ZwlrForeignToplevelHandleV1EventParent uint32 = 7
130
131// ZwlrForeignToplevelHandleV1State types of states on the toplevel.
132type ZwlrForeignToplevelHandleV1State uint32
133
134const (
135	ZwlrForeignToplevelHandleV1StateMaximized  ZwlrForeignToplevelHandleV1State = 0
136	ZwlrForeignToplevelHandleV1StateMinimized  ZwlrForeignToplevelHandleV1State = 1
137	ZwlrForeignToplevelHandleV1StateActivated  ZwlrForeignToplevelHandleV1State = 2
138	ZwlrForeignToplevelHandleV1StateFullscreen ZwlrForeignToplevelHandleV1State = 3
139)
140
141// ZwlrForeignToplevelHandleV1Error .
142type ZwlrForeignToplevelHandleV1Error uint32
143
144const (
145	ZwlrForeignToplevelHandleV1ErrorInvalidRectangle ZwlrForeignToplevelHandleV1Error = 0
146)
147
148// ZwlrForeignToplevelHandleV1Handler handles zwlr_foreign_toplevel_handle_v1 requests.
149type ZwlrForeignToplevelHandleV1Handler interface {
150	SetMaximized(self *ZwlrForeignToplevelHandleV1)
151	UnsetMaximized(self *ZwlrForeignToplevelHandleV1)
152	SetMinimized(self *ZwlrForeignToplevelHandleV1)
153	UnsetMinimized(self *ZwlrForeignToplevelHandleV1)
154	Activate(self *ZwlrForeignToplevelHandleV1, seat *wayland.Seat)
155	Close(self *ZwlrForeignToplevelHandleV1)
156	SetRectangle(self *ZwlrForeignToplevelHandleV1, surface *wayland.Surface, x int32, y int32, width int32, height int32)
157	Destroy(self *ZwlrForeignToplevelHandleV1)
158	SetFullscreen(self *ZwlrForeignToplevelHandleV1, output *wayland.Output)
159	UnsetFullscreen(self *ZwlrForeignToplevelHandleV1)
160}
161
162func NewZwlrForeignToplevelHandleV1(c server.Client, version int32, id uint32, h ZwlrForeignToplevelHandleV1Handler) (*ZwlrForeignToplevelHandleV1, error) {
163	if h == nil {
164		return nil, fmt.Errorf("purego-libwayland: nil handler for zwlr_foreign_toplevel_handle_v1")
165	}
166	var self *ZwlrForeignToplevelHandleV1
167	r, err := c.CreateResource(ZwlrForeignToplevelHandleV1Interface, version, id, func(_ *server.Resource, opcode uint32, args []server.Arg) {
168		switch opcode {
169		case 0:
170			h.SetMaximized(self)
171		case 1:
172			h.UnsetMaximized(self)
173		case 2:
174			h.SetMinimized(self)
175		case 3:
176			h.UnsetMinimized(self)
177		case 4:
178			h.Activate(self, wayland.WrapSeat(args[0].Resource()))
179		case 5:
180			h.Close(self)
181		case 6:
182			h.SetRectangle(self, wayland.WrapSurface(args[0].Resource()), args[1].Int(), args[2].Int(), args[3].Int(), args[4].Int())
183		case 7:
184			h.Destroy(self)
185			self.Destroy()
186		case 8:
187			h.SetFullscreen(self, wayland.WrapOutput(args[0].Resource()))
188		case 9:
189			h.UnsetFullscreen(self)
190		}
191	})
192	if err != nil {
193		return nil, err
194	}
195	self = WrapZwlrForeignToplevelHandleV1(r)
196	r.Data = self
197	return self, nil
198}
199
200// SendTitle title change.
201func (self *ZwlrForeignToplevelHandleV1) SendTitle(title string) {
202	var p runtime.Pinner
203	defer p.Unpin()
204	self.PostEvent(ZwlrForeignToplevelHandleV1EventTitle, server.String(&p, title, false))
205}
206
207// SendAppId app-id change.
208func (self *ZwlrForeignToplevelHandleV1) SendAppId(appId string) {
209	var p runtime.Pinner
210	defer p.Unpin()
211	self.PostEvent(ZwlrForeignToplevelHandleV1EventAppId, server.String(&p, appId, false))
212}
213
214// SendOutputEnter toplevel entered an output.
215func (self *ZwlrForeignToplevelHandleV1) SendOutputEnter(output *wayland.Output) {
216	self.PostEvent(ZwlrForeignToplevelHandleV1EventOutputEnter, server.Object(resourceOf(output)))
217}
218
219// SendOutputLeave toplevel left an output.
220func (self *ZwlrForeignToplevelHandleV1) SendOutputLeave(output *wayland.Output) {
221	self.PostEvent(ZwlrForeignToplevelHandleV1EventOutputLeave, server.Object(resourceOf(output)))
222}
223
224// SendState the toplevel state changed.
225func (self *ZwlrForeignToplevelHandleV1) SendState(state []byte) {
226	var p runtime.Pinner
227	defer p.Unpin()
228	self.PostEvent(ZwlrForeignToplevelHandleV1EventState, server.Array(&p, state))
229}
230
231// SendDone all information about the toplevel has been sent.
232func (self *ZwlrForeignToplevelHandleV1) SendDone() {
233	self.PostEvent(ZwlrForeignToplevelHandleV1EventDone)
234}
235
236// SendClosed this toplevel has been destroyed.
237func (self *ZwlrForeignToplevelHandleV1) SendClosed() {
238	self.PostEvent(ZwlrForeignToplevelHandleV1EventClosed)
239}
240
241// SendParent parent change (since version 3).
242func (self *ZwlrForeignToplevelHandleV1) SendParent(parent *ZwlrForeignToplevelHandleV1) {
243	self.PostEvent(ZwlrForeignToplevelHandleV1EventParent, server.Object(resourceOf(parent)))
244}
245func NewZwlrForeignToplevelHandleV1Global(d *server.Display, version int32, bind server.BindFunc) error {
246	return d.CreateGlobal(ZwlrForeignToplevelHandleV1Interface, version, bind)
247}
248func resourceOf(v interface{ GetResource() *server.Resource }) *server.Resource {
249	if v == nil {
250		return nil
251	}
252	return v.GetResource()
253}
254func (self *ZwlrForeignToplevelManagerV1) GetResource() *server.Resource {
255	if self == nil {
256		return nil
257	}
258	return self.Resource
259}
260func (self *ZwlrForeignToplevelHandleV1) GetResource() *server.Resource {
261	if self == nil {
262		return nil
263	}
264	return self.Resource
265}

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