detached 8dd5ed7

fix(gen): keep upstream license in server bindings and harden generator tests

commit
8dd5ed7d5cd84f37fe989d8096fc57c26ca04620
author
brice · · 2026-10-01 03:56 UTC
parent
c133d59
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
83 files · +1842 -567
M README.md +5 -0
@@ -111,6 +111,11 @@ env CGO_ENABLED=0 go test ./...
111111 go test -race ./... # needs libwayland-server installed
112112 ```
113113
114+The end-to-end tests in `internal/e2e` (and the race run) need
115+`libwayland-server.so.0`, which the server runtime loads at run time. Without
116+it those tests are skipped, with the reason shown by `go test -v`; any other
117+server start failure still fails them.
118+
114119 Two environment variables enable tests that are skipped by default:
115120
116121 - `WLTURBO_HEADLESS`: path to a headless compositor binary (NeferWL) for the
@@ -111,6 +111,11 @@ env CGO_ENABLED=0 go test ./...
111 go test -race ./... # needs libwayland-server installed111 go test -race ./... # needs libwayland-server installed
112 ```112 ```
113 113
114+The end-to-end tests in `internal/e2e` (and the race run) need
115+`libwayland-server.so.0`, which the server runtime loads at run time. Without
116+it those tests are skipped, with the reason shown by `go test -v`; any other
117+server start failure still fails them.
118+
114 Two environment variables enable tests that are skipped by default:119 Two environment variables enable tests that are skipped by default:
115 120
116 - `WLTURBO_HEADLESS`: path to a headless compositor binary (NeferWL) for the121 - `WLTURBO_HEADLESS`: path to a headless compositor binary (NeferWL) for the
M cmd/wlbgen/main.go +32 -13
@@ -75,7 +75,7 @@ func run(args []string, stderr io.Writer) error {
7575 if fs.NArg() != 0 || *side != "" || *pkg != "" || *out != "" || len(imports) != 0 {
7676 return fmt.Errorf("-all takes no other arguments except -root")
7777 }
78- return generateAll(m, spec.Open, *root)
78+ return generateAll(m, m.Open, *root)
7979 }
8080 if fs.NArg() != 1 {
8181 return fmt.Errorf("want -all, or -side/-package/-out and one XML file")
@@ -108,12 +108,18 @@ func generatedPath(root, side, pkg string) string {
108108 return filepath.Join(root, side, pkg, pkg+"_generated.go")
109109 }
110110
111+// generated is one rendered output file.
112+type generated struct {
113+ path string
114+ data []byte
115+}
116+
111117 // generateAll writes every package of m below root and removes stale output.
118+// Everything is rendered in memory first, so an error leaves the tree as it
119+// was.
112120 func generateAll(m *spec.Manifest, open func(string) ([]byte, error), root string) error {
113- if err := removeStale(m, root); err != nil {
114- return err
115- }
116121 owners := m.Owners()
122+ var files []generated
117123 for _, e := range m.Protocols {
118124 data, err := open(e.Package)
119125 if err != nil {
@@ -126,9 +132,11 @@ func generateAll(m *spec.Manifest, open func(string) ([]byte, error), root strin
126132
127133 s := client.NewScanner()
128134 s.Tool = tool
135+ spdx := ""
129136 if e.License != "" && e.License != "MIT" {
130- s.SPDXLicense = e.License
137+ spdx = e.License
131138 }
139+ s.SPDXLicense = spdx
132140 s.CrossPackage = map[string]string{}
133141 for iface, owner := range owners {
134142 if owner != e.Package {
@@ -142,11 +150,12 @@ func generateAll(m *spec.Manifest, open func(string) ([]byte, error), root strin
142150 if err != nil {
143151 return fmt.Errorf("client/%s: %w", e.Package, err)
144152 }
145- if err := writeFile(generatedPath(root, "client", e.Package), src); err != nil {
146- return err
147- }
153+ files = append(files, generated{generatedPath(root, "client", e.Package), src})
148154
149- opts := server.Options{Package: e.Package, Imports: map[string]string{}, Owners: map[string]string{}, Tool: tool}
155+ opts := server.Options{
156+ Package: e.Package, Imports: map[string]string{}, Owners: map[string]string{}, Tool: tool,
157+ Copyright: p.Copyright, SPDX: spdx,
158+ }
150159 for iface, owner := range owners {
151160 if owner != e.Package {
152161 opts.Owners[iface] = owner
@@ -161,7 +170,13 @@ func generateAll(m *spec.Manifest, open func(string) ([]byte, error), root strin
161170 if err != nil {
162171 return fmt.Errorf("server/%s: %w", e.Package, err)
163172 }
164- if err := writeFile(generatedPath(root, "server", e.Package), src); err != nil {
173+ files = append(files, generated{generatedPath(root, "server", e.Package), src})
174+ }
175+ if err := removeStale(m, root); err != nil {
176+ return err
177+ }
178+ for _, f := range files {
179+ if err := writeFile(f.path, f.data); err != nil {
165180 return err
166181 }
167182 }
@@ -256,6 +271,7 @@ func generateCustom(m *spec.Manifest, side, pkg, source string, data []byte, ove
256271 return nil, fmt.Errorf("%s: %w", source, err)
257272 }
258273 foreign := foreignInterfaces(p)
274+ owners := m.Owners()
259275 switch side {
260276 case "client":
261277 s := client.NewScanner()
@@ -264,7 +280,7 @@ func generateCustom(m *spec.Manifest, side, pkg, source string, data []byte, ove
264280 for _, iface := range foreign {
265281 if p, ok := overrides[iface]; ok {
266282 s.CrossPackage[iface] = p
267- } else if owner, ok := m.Lookup(iface); ok {
283+ } else if owner, ok := owners[iface]; ok {
268284 s.CrossPackage[iface] = clientImport(owner)
269285 }
270286 // Unresolved interfaces are reported by the generator unless
@@ -275,12 +291,15 @@ func generateCustom(m *spec.Manifest, side, pkg, source string, data []byte, ove
275291 }
276292 return s.Generate(pkg)
277293 case "server":
278- opts := server.Options{Package: pkg, Imports: map[string]string{}, Owners: map[string]string{}, Tool: tool}
294+ opts := server.Options{
295+ Package: pkg, Imports: map[string]string{}, Owners: map[string]string{}, Tool: tool,
296+ Copyright: p.Copyright,
297+ }
279298 for _, iface := range foreign {
280299 var alias, importPath string
281300 if p, ok := overrides[iface]; ok {
282301 alias, importPath = importAlias(p), p
283- } else if owner, ok := m.Lookup(iface); ok {
302+ } else if owner, ok := owners[iface]; ok {
284303 alias, importPath = owner, serverImport(owner)
285304 } else {
286305 return nil, fmt.Errorf("unresolved interface %q: not in the manifest; add -import %s=<importpath>", iface, iface)
@@ -75,7 +75,7 @@ func run(args []string, stderr io.Writer) error {
75 if fs.NArg() != 0 || *side != "" || *pkg != "" || *out != "" || len(imports) != 0 {75 if fs.NArg() != 0 || *side != "" || *pkg != "" || *out != "" || len(imports) != 0 {
76 return fmt.Errorf("-all takes no other arguments except -root")76 return fmt.Errorf("-all takes no other arguments except -root")
77 }77 }
78- return generateAll(m, spec.Open, *root)78+ return generateAll(m, m.Open, *root)
79 }79 }
80 if fs.NArg() != 1 {80 if fs.NArg() != 1 {
81 return fmt.Errorf("want -all, or -side/-package/-out and one XML file")81 return fmt.Errorf("want -all, or -side/-package/-out and one XML file")
@@ -108,12 +108,18 @@ func generatedPath(root, side, pkg string) string {
108 return filepath.Join(root, side, pkg, pkg+"_generated.go")108 return filepath.Join(root, side, pkg, pkg+"_generated.go")
109 }109 }
110 110
111+// generated is one rendered output file.
112+type generated struct {
113+ path string
114+ data []byte
115+}
116+
111 // generateAll writes every package of m below root and removes stale output.117 // generateAll writes every package of m below root and removes stale output.
118+// Everything is rendered in memory first, so an error leaves the tree as it
119+// was.
112 func generateAll(m *spec.Manifest, open func(string) ([]byte, error), root string) error {120 func generateAll(m *spec.Manifest, open func(string) ([]byte, error), root string) error {
113- if err := removeStale(m, root); err != nil {
114- return err
115- }
116 owners := m.Owners()121 owners := m.Owners()
122+ var files []generated
117 for _, e := range m.Protocols {123 for _, e := range m.Protocols {
118 data, err := open(e.Package)124 data, err := open(e.Package)
119 if err != nil {125 if err != nil {
@@ -126,9 +132,11 @@ func generateAll(m *spec.Manifest, open func(string) ([]byte, error), root strin
126 132
127 s := client.NewScanner()133 s := client.NewScanner()
128 s.Tool = tool134 s.Tool = tool
135+ spdx := ""
129 if e.License != "" && e.License != "MIT" {136 if e.License != "" && e.License != "MIT" {
130- s.SPDXLicense = e.License137+ spdx = e.License
131 }138 }
139+ s.SPDXLicense = spdx
132 s.CrossPackage = map[string]string{}140 s.CrossPackage = map[string]string{}
133 for iface, owner := range owners {141 for iface, owner := range owners {
134 if owner != e.Package {142 if owner != e.Package {
@@ -142,11 +150,12 @@ func generateAll(m *spec.Manifest, open func(string) ([]byte, error), root strin
142 if err != nil {150 if err != nil {
143 return fmt.Errorf("client/%s: %w", e.Package, err)151 return fmt.Errorf("client/%s: %w", e.Package, err)
144 }152 }
145- if err := writeFile(generatedPath(root, "client", e.Package), src); err != nil {153+ files = append(files, generated{generatedPath(root, "client", e.Package), src})
146- return err
147- }
148 154
149- opts := server.Options{Package: e.Package, Imports: map[string]string{}, Owners: map[string]string{}, Tool: tool}155+ opts := server.Options{
156+ Package: e.Package, Imports: map[string]string{}, Owners: map[string]string{}, Tool: tool,
157+ Copyright: p.Copyright, SPDX: spdx,
158+ }
150 for iface, owner := range owners {159 for iface, owner := range owners {
151 if owner != e.Package {160 if owner != e.Package {
152 opts.Owners[iface] = owner161 opts.Owners[iface] = owner
@@ -161,7 +170,13 @@ func generateAll(m *spec.Manifest, open func(string) ([]byte, error), root strin
161 if err != nil {170 if err != nil {
162 return fmt.Errorf("server/%s: %w", e.Package, err)171 return fmt.Errorf("server/%s: %w", e.Package, err)
163 }172 }
164- if err := writeFile(generatedPath(root, "server", e.Package), src); err != nil {173+ files = append(files, generated{generatedPath(root, "server", e.Package), src})
174+ }
175+ if err := removeStale(m, root); err != nil {
176+ return err
177+ }
178+ for _, f := range files {
179+ if err := writeFile(f.path, f.data); err != nil {
165 return err180 return err
166 }181 }
167 }182 }
@@ -256,6 +271,7 @@ func generateCustom(m *spec.Manifest, side, pkg, source string, data []byte, ove
256 return nil, fmt.Errorf("%s: %w", source, err)271 return nil, fmt.Errorf("%s: %w", source, err)
257 }272 }
258 foreign := foreignInterfaces(p)273 foreign := foreignInterfaces(p)
274+ owners := m.Owners()
259 switch side {275 switch side {
260 case "client":276 case "client":
261 s := client.NewScanner()277 s := client.NewScanner()
@@ -264,7 +280,7 @@ func generateCustom(m *spec.Manifest, side, pkg, source string, data []byte, ove
264 for _, iface := range foreign {280 for _, iface := range foreign {
265 if p, ok := overrides[iface]; ok {281 if p, ok := overrides[iface]; ok {
266 s.CrossPackage[iface] = p282 s.CrossPackage[iface] = p
267- } else if owner, ok := m.Lookup(iface); ok {283+ } else if owner, ok := owners[iface]; ok {
268 s.CrossPackage[iface] = clientImport(owner)284 s.CrossPackage[iface] = clientImport(owner)
269 }285 }
270 // Unresolved interfaces are reported by the generator unless286 // Unresolved interfaces are reported by the generator unless
@@ -275,12 +291,15 @@ func generateCustom(m *spec.Manifest, side, pkg, source string, data []byte, ove
275 }291 }
276 return s.Generate(pkg)292 return s.Generate(pkg)
277 case "server":293 case "server":
278- opts := server.Options{Package: pkg, Imports: map[string]string{}, Owners: map[string]string{}, Tool: tool}294+ opts := server.Options{
295+ Package: pkg, Imports: map[string]string{}, Owners: map[string]string{}, Tool: tool,
296+ Copyright: p.Copyright,
297+ }
279 for _, iface := range foreign {298 for _, iface := range foreign {
280 var alias, importPath string299 var alias, importPath string
281 if p, ok := overrides[iface]; ok {300 if p, ok := overrides[iface]; ok {
282 alias, importPath = importAlias(p), p301 alias, importPath = importAlias(p), p
283- } else if owner, ok := m.Lookup(iface); ok {302+ } else if owner, ok := owners[iface]; ok {
284 alias, importPath = owner, serverImport(owner)303 alias, importPath = owner, serverImport(owner)
285 } else {304 } else {
286 return nil, fmt.Errorf("unresolved interface %q: not in the manifest; add -import %s=<importpath>", iface, iface)305 return nil, fmt.Errorf("unresolved interface %q: not in the manifest; add -import %s=<importpath>", iface, iface)
M cmd/wlbgen/main_test.go +37 -2
@@ -52,6 +52,9 @@ func TestCustomResolvesFromManifest(t *testing.T) {
5252 if !strings.Contains(string(b), "Code generated by wlbgen") {
5353 t.Error("header does not name wlbgen")
5454 }
55+ if !strings.Contains(string(b), "// Test copyright.\n") || strings.Contains(string(b), "SPDX") {
56+ t.Errorf("custom output must keep the XML copyright and add no SPDX line:\n%s", b[:300])
57+ }
5558 })
5659 }
5760 }
@@ -167,8 +170,40 @@ func TestAllSourceNameAndLicense(t *testing.T) {
167170 t.Errorf("client header lacks %q", want)
168171 }
169172 }
170- if _, err := os.Stat(filepath.Join(root, "server", "custom", "custom_generated.go")); err != nil {
171- t.Error(err)
173+ sb, err := os.ReadFile(filepath.Join(root, "server", "custom", "custom_generated.go"))
174+ if err != nil {
175+ t.Fatal(err)
176+ }
177+ for _, want := range []string{"SPDX-License-Identifier: LGPL-2.1-or-later", "Upstream protocol copyright and license:", "// Test copyright."} {
178+ if !strings.Contains(string(sb), want) {
179+ t.Errorf("server header lacks %q", want)
180+ }
181+ }
182+}
183+
184+func TestAllErrorLeavesTreeUntouched(t *testing.T) {
185+ root := t.TempDir()
186+ m, open := smallManifest()
187+ m.Protocols = append(m.Protocols, spec.ProtocolEntry{Package: "broken", XML: "broken.xml", Path: "broken.xml"})
188+ failing := func(pkg string) ([]byte, error) {
189+ if pkg == "broken" {
190+ return []byte(`<protocol name="broken"><interface name="b" version="1"><event name="e"><arg name="o" type="object" interface="nowhere"/></event></interface></protocol>`), nil
191+ }
192+ return open(pkg)
193+ }
194+ stale := filepath.Join(root, "client", "gone")
195+ if err := os.MkdirAll(stale, 0o755); err != nil {
196+ t.Fatal(err)
197+ }
198+ if err := os.WriteFile(filepath.Join(stale, "gone_generated.go"), []byte("package gone\n"), 0o600); err != nil {
199+ t.Fatal(err)
200+ }
201+ if err := generateAll(m, failing, root); err == nil {
202+ t.Fatal("expected error")
203+ }
204+ got := snapshot(t, root)
205+ if len(got) != 1 {
206+ t.Fatalf("tree changed on error: %v", got)
172207 }
173208 }
174209
@@ -52,6 +52,9 @@ func TestCustomResolvesFromManifest(t *testing.T) {
52 if !strings.Contains(string(b), "Code generated by wlbgen") {52 if !strings.Contains(string(b), "Code generated by wlbgen") {
53 t.Error("header does not name wlbgen")53 t.Error("header does not name wlbgen")
54 }54 }
55+ if !strings.Contains(string(b), "// Test copyright.\n") || strings.Contains(string(b), "SPDX") {
56+ t.Errorf("custom output must keep the XML copyright and add no SPDX line:\n%s", b[:300])
57+ }
55 })58 })
56 }59 }
57 }60 }
@@ -167,8 +170,40 @@ func TestAllSourceNameAndLicense(t *testing.T) {
167 t.Errorf("client header lacks %q", want)170 t.Errorf("client header lacks %q", want)
168 }171 }
169 }172 }
170- if _, err := os.Stat(filepath.Join(root, "server", "custom", "custom_generated.go")); err != nil {173+ sb, err := os.ReadFile(filepath.Join(root, "server", "custom", "custom_generated.go"))
171- t.Error(err)174+ if err != nil {
175+ t.Fatal(err)
176+ }
177+ for _, want := range []string{"SPDX-License-Identifier: LGPL-2.1-or-later", "Upstream protocol copyright and license:", "// Test copyright."} {
178+ if !strings.Contains(string(sb), want) {
179+ t.Errorf("server header lacks %q", want)
180+ }
181+ }
182+}
183+
184+func TestAllErrorLeavesTreeUntouched(t *testing.T) {
185+ root := t.TempDir()
186+ m, open := smallManifest()
187+ m.Protocols = append(m.Protocols, spec.ProtocolEntry{Package: "broken", XML: "broken.xml", Path: "broken.xml"})
188+ failing := func(pkg string) ([]byte, error) {
189+ if pkg == "broken" {
190+ return []byte(`<protocol name="broken"><interface name="b" version="1"><event name="e"><arg name="o" type="object" interface="nowhere"/></event></interface></protocol>`), nil
191+ }
192+ return open(pkg)
193+ }
194+ stale := filepath.Join(root, "client", "gone")
195+ if err := os.MkdirAll(stale, 0o755); err != nil {
196+ t.Fatal(err)
197+ }
198+ if err := os.WriteFile(filepath.Join(stale, "gone_generated.go"), []byte("package gone\n"), 0o600); err != nil {
199+ t.Fatal(err)
200+ }
201+ if err := generateAll(m, failing, root); err == nil {
202+ t.Fatal("expected error")
203+ }
204+ got := snapshot(t, root)
205+ if len(got) != 1 {
206+ t.Fatalf("tree changed on error: %v", got)
172 }207 }
173 }208 }
174 209
M internal/e2e/args_test.go +3 -1
@@ -185,7 +185,9 @@ func TestArgumentRoundtripAndPostError(t *testing.T) {
185185 c.Context().Register(p)
186186 // wlturbo rejects events without a declared signature; these hand-written
187187 // proxies declare theirs explicitly.
188- c.RegisterEventSignature(id, uint16(wayland.SeatEventName), "string,")
188+ if name == "wl_seat" {
189+ c.RegisterEventSignature(id, uint16(wayland.SeatEventName), "string,")
190+ }
189191 return id, p
190192 }
191193 manager, _ := bind("wl_data_device_manager")
@@ -185,7 +185,9 @@ func TestArgumentRoundtripAndPostError(t *testing.T) {
185 c.Context().Register(p)185 c.Context().Register(p)
186 // wlturbo rejects events without a declared signature; these hand-written186 // wlturbo rejects events without a declared signature; these hand-written
187 // proxies declare theirs explicitly.187 // proxies declare theirs explicitly.
188- c.RegisterEventSignature(id, uint16(wayland.SeatEventName), "string,")188+ if name == "wl_seat" {
189+ c.RegisterEventSignature(id, uint16(wayland.SeatEventName), "string,")
190+ }
189 return id, p191 return id, p
190 }192 }
191 manager, _ := bind("wl_data_device_manager")193 manager, _ := bind("wl_data_device_manager")
M internal/e2e/feasibility_test.go +6 -0
@@ -21,6 +21,12 @@ func startServer(t *testing.T, captured ...chan *server.Resource) (socket string
2121 t.Helper()
2222 d, err := server.NewDisplay()
2323 if err != nil {
24+ // purego-libwayland reports a missing shared library as
25+ // "open libwayland-server.so.0: ..."; it has no typed error. Only that
26+ // case skips: any other failure is a real one.
27+ if strings.Contains(err.Error(), "open libwayland-server.so.0") {
28+ t.Skipf("libwayland-server.so.0 not available: %v", err)
29+ }
2430 t.Fatal(err)
2531 }
2632 socket = filepath.Join(t.TempDir(), "wayland-test")
@@ -21,6 +21,12 @@ func startServer(t *testing.T, captured ...chan *server.Resource) (socket string
21 t.Helper()21 t.Helper()
22 d, err := server.NewDisplay()22 d, err := server.NewDisplay()
23 if err != nil {23 if err != nil {
24+ // purego-libwayland reports a missing shared library as
25+ // "open libwayland-server.so.0: ..."; it has no typed error. Only that
26+ // case skips: any other failure is a real one.
27+ if strings.Contains(err.Error(), "open libwayland-server.so.0") {
28+ t.Skipf("libwayland-server.so.0 not available: %v", err)
29+ }
24 t.Fatal(err)30 t.Fatal(err)
25 }31 }
26 socket = filepath.Join(t.TempDir(), "wayland-test")32 socket = filepath.Join(t.TempDir(), "wayland-test")
M internal/gen/client/license_test.go +15 -6
@@ -6,6 +6,8 @@ import (
66 "os"
77 "strings"
88 "testing"
9+
10+ "github.com/bnema/go-wayland-bindings/spec"
911 )
1012
1113 func TestIncludedLGPLLicense(t *testing.T) {
@@ -20,14 +22,18 @@ func TestIncludedLGPLLicense(t *testing.T) {
2022 }
2123
2224 func TestGeneratedSourceRetainsProtocolLicense(t *testing.T) {
23- for _, source := range []string{
24- "testdata/server-decoration.xml",
25- "testdata/wlr-layer-shell-unstable-v1.xml",
26- "../../../spec/testdata/wayland.xml",
25+ for _, c := range []struct{ pkg, source string }{
26+ {"serverdecoration", "server-decoration.xml"},
27+ {"wlrlayershell", "wlr-layer-shell-unstable-v1.xml"},
28+ {"wayland", "wayland.xml"},
2729 } {
28- t.Run(source, func(t *testing.T) {
30+ t.Run(c.pkg, func(t *testing.T) {
31+ data, err := spec.Open(c.pkg)
32+ if err != nil {
33+ t.Fatal(err)
34+ }
2935 s := NewScanner()
30- if err := s.ParseXML(source); err != nil {
36+ if err := s.Load(data, c.source); err != nil {
3137 t.Fatal(err)
3238 }
3339 s.CrossPackage = map[string]string{
@@ -43,6 +49,9 @@ func TestGeneratedSourceRetainsProtocolLicense(t *testing.T) {
4349 if !ok {
4450 t.Fatal("package declaration missing")
4551 }
52+ if !strings.Contains(header, "// Source: "+c.source+"\n") {
53+ t.Errorf("source name missing from header:\n%s", header)
54+ }
4655 for _, line := range strings.Split(strings.TrimSpace(s.protocol.Copyright), "\n") {
4756 if text := strings.TrimSpace(line); text != "" && !strings.Contains(header, text) {
4857 t.Errorf("upstream license line missing from header: %q", text)
@@ -6,6 +6,8 @@ import (
6 "os"6 "os"
7 "strings"7 "strings"
8 "testing"8 "testing"
9+
10+ "github.com/bnema/go-wayland-bindings/spec"
9 )11 )
10 12
11 func TestIncludedLGPLLicense(t *testing.T) {13 func TestIncludedLGPLLicense(t *testing.T) {
@@ -20,14 +22,18 @@ func TestIncludedLGPLLicense(t *testing.T) {
20 }22 }
21 23
22 func TestGeneratedSourceRetainsProtocolLicense(t *testing.T) {24 func TestGeneratedSourceRetainsProtocolLicense(t *testing.T) {
23- for _, source := range []string{25+ for _, c := range []struct{ pkg, source string }{
24- "testdata/server-decoration.xml",26+ {"serverdecoration", "server-decoration.xml"},
25- "testdata/wlr-layer-shell-unstable-v1.xml",27+ {"wlrlayershell", "wlr-layer-shell-unstable-v1.xml"},
26- "../../../spec/testdata/wayland.xml",28+ {"wayland", "wayland.xml"},
27 } {29 } {
28- t.Run(source, func(t *testing.T) {30+ t.Run(c.pkg, func(t *testing.T) {
31+ data, err := spec.Open(c.pkg)
32+ if err != nil {
33+ t.Fatal(err)
34+ }
29 s := NewScanner()35 s := NewScanner()
30- if err := s.ParseXML(source); err != nil {36+ if err := s.Load(data, c.source); err != nil {
31 t.Fatal(err)37 t.Fatal(err)
32 }38 }
33 s.CrossPackage = map[string]string{39 s.CrossPackage = map[string]string{
@@ -43,6 +49,9 @@ func TestGeneratedSourceRetainsProtocolLicense(t *testing.T) {
43 if !ok {49 if !ok {
44 t.Fatal("package declaration missing")50 t.Fatal("package declaration missing")
45 }51 }
52+ if !strings.Contains(header, "// Source: "+c.source+"\n") {
53+ t.Errorf("source name missing from header:\n%s", header)
54+ }
46 for _, line := range strings.Split(strings.TrimSpace(s.protocol.Copyright), "\n") {55 for _, line := range strings.Split(strings.TrimSpace(s.protocol.Copyright), "\n") {
47 if text := strings.TrimSpace(line); text != "" && !strings.Contains(header, text) {56 if text := strings.TrimSpace(line); text != "" && !strings.Contains(header, text) {
48 t.Errorf("upstream license line missing from header: %q", text)57 t.Errorf("upstream license line missing from header: %q", text)
M internal/gen/client/requestargs_test.go +1 -1
@@ -72,7 +72,7 @@ func TestGeneratedRequestsWireAndAllocations(t *testing.T) {
7272 }
7373 }
7474 write("args.go", generateArgsFixture(t))
75- writeTempModule(t, dir, "example.com/argsfix")
75+ writeTempModule(t, dir, "example.com/argsfix", false)
7676 write("args_test.go", `package argsfix
7777
7878 import (
@@ -72,7 +72,7 @@ func TestGeneratedRequestsWireAndAllocations(t *testing.T) {
72 }72 }
73 }73 }
74 write("args.go", generateArgsFixture(t))74 write("args.go", generateArgsFixture(t))
75- writeTempModule(t, dir, "example.com/argsfix")75+ writeTempModule(t, dir, "example.com/argsfix", false)
76 write("args_test.go", `package argsfix76 write("args_test.go", `package argsfix
77 77
78 import (78 import (
M internal/gen/client/scanner.go +10 -22
@@ -18,6 +18,7 @@ import (
1818 "strings"
1919 "text/template"
2020
21+ "github.com/bnema/go-wayland-bindings/internal/gen/genutil"
2122 "github.com/bnema/go-wayland-bindings/spec"
2223 )
2324
@@ -207,27 +208,8 @@ func (s *Scanner) prepareTemplateData(packageName string) (templateData, error)
207208 if data.Tool == "" {
208209 data.Tool = DefaultTool
209210 }
210- if notice := strings.TrimSpace(s.protocol.Copyright); notice != "" {
211- var comment strings.Builder
212- for _, line := range strings.Split(notice, "\n") {
213- comment.WriteString("// ")
214- comment.WriteString(strings.TrimSpace(line))
215- comment.WriteByte('\n')
216- }
217- data.Copyright = comment.String()
218- }
219- if id := strings.TrimSpace(s.SPDXLicense); id != "" {
220- line := "SPDX-License-Identifier: " + id
221- retained := false
222- for _, l := range strings.Split(s.protocol.Copyright, "\n") {
223- if strings.TrimSpace(l) == line {
224- retained = true
225- }
226- }
227- if !retained {
228- data.SPDX = id
229- }
230- }
211+ data.Copyright = genutil.CommentBlock(s.protocol.Copyright)
212+ data.SPDX = genutil.SPDXID(s.SPDXLicense, s.protocol.Copyright)
231213
232214 imports := []string{TransportImport}
233215 usedCross := make(map[string]bool)
@@ -547,7 +529,13 @@ func (s *Scanner) processEvent(event spec.Message, opcode int) (eventData, error
547529
548530 case "object":
549531 // Object references are reported as raw object IDs: the generated
550- // layer does not own a registry of foreign proxies.
532+ // layer does not own a registry of foreign proxies. A declared
533+ // interface must still resolve, so typos fail like in requests.
534+ if arg.Interface != "" {
535+ if _, err := s.goTypeForInterface(arg.Interface); err != nil {
536+ return data, fmt.Errorf("%s.%s: %w", event.Name, arg.Name, err)
537+ }
538+ }
551539 data.DecodeLines = append(data.DecodeLines, fmt.Sprintf("%sID := event.Uint32()", name))
552540 params = append(params, name+"ID uint32")
553541 args = append(args, name+"ID")
@@ -18,6 +18,7 @@ import (
18 "strings"18 "strings"
19 "text/template"19 "text/template"
20 20
21+ "github.com/bnema/go-wayland-bindings/internal/gen/genutil"
21 "github.com/bnema/go-wayland-bindings/spec"22 "github.com/bnema/go-wayland-bindings/spec"
22 )23 )
23 24
@@ -207,27 +208,8 @@ func (s *Scanner) prepareTemplateData(packageName string) (templateData, error)
207 if data.Tool == "" {208 if data.Tool == "" {
208 data.Tool = DefaultTool209 data.Tool = DefaultTool
209 }210 }
210- if notice := strings.TrimSpace(s.protocol.Copyright); notice != "" {211+ data.Copyright = genutil.CommentBlock(s.protocol.Copyright)
211- var comment strings.Builder212+ data.SPDX = genutil.SPDXID(s.SPDXLicense, s.protocol.Copyright)
212- for _, line := range strings.Split(notice, "\n") {
213- comment.WriteString("// ")
214- comment.WriteString(strings.TrimSpace(line))
215- comment.WriteByte('\n')
216- }
217- data.Copyright = comment.String()
218- }
219- if id := strings.TrimSpace(s.SPDXLicense); id != "" {
220- line := "SPDX-License-Identifier: " + id
221- retained := false
222- for _, l := range strings.Split(s.protocol.Copyright, "\n") {
223- if strings.TrimSpace(l) == line {
224- retained = true
225- }
226- }
227- if !retained {
228- data.SPDX = id
229- }
230- }
231 213
232 imports := []string{TransportImport}214 imports := []string{TransportImport}
233 usedCross := make(map[string]bool)215 usedCross := make(map[string]bool)
@@ -547,7 +529,13 @@ func (s *Scanner) processEvent(event spec.Message, opcode int) (eventData, error
547 529
548 case "object":530 case "object":
549 // Object references are reported as raw object IDs: the generated531 // Object references are reported as raw object IDs: the generated
550- // layer does not own a registry of foreign proxies.532+ // layer does not own a registry of foreign proxies. A declared
533+ // interface must still resolve, so typos fail like in requests.
534+ if arg.Interface != "" {
535+ if _, err := s.goTypeForInterface(arg.Interface); err != nil {
536+ return data, fmt.Errorf("%s.%s: %w", event.Name, arg.Name, err)
537+ }
538+ }
551 data.DecodeLines = append(data.DecodeLines, fmt.Sprintf("%sID := event.Uint32()", name))539 data.DecodeLines = append(data.DecodeLines, fmt.Sprintf("%sID := event.Uint32()", name))
552 params = append(params, name+"ID uint32")540 params = append(params, name+"ID uint32")
553 args = append(args, name+"ID")541 args = append(args, name+"ID")
M internal/gen/client/scanner_test.go +29 -6
@@ -6,6 +6,8 @@ import (
66 "path/filepath"
77 "strings"
88 "testing"
9+
10+ "github.com/bnema/go-wayland-bindings/spec"
911 )
1012
1113 func TestResolution(t *testing.T) {
@@ -29,8 +31,12 @@ func TestResolution(t *testing.T) {
2931 }
3032 }
3133 func TestCoreGeneration(t *testing.T) {
34+ data, err := spec.Open("wayland")
35+ if err != nil {
36+ t.Fatal(err)
37+ }
3238 s := NewScanner()
33- if err := s.ParseXML("../../../spec/testdata/wayland.xml"); err != nil {
39+ if err := s.Load(data, "wayland.xml"); err != nil {
3440 t.Fatal(err)
3541 }
3642 b, err := s.Generate("wayland")
@@ -105,7 +111,7 @@ func TestMappedExtensionCompilesAndDispatchesChild(t *testing.T) {
105111 if err := s.ParseXML(path); err != nil {
106112 t.Fatal(err)
107113 }
108- s.CrossPackage = map[string]string{"wl_buffer": "github.com/bnema/wlturbo/protocol/core"}
114+ s.CrossPackage = map[string]string{"wl_buffer": "github.com/bnema/go-wayland-bindings/client/wayland"}
109115 generated, err := s.Generate("ext")
110116 if err != nil {
111117 t.Fatal(err)
@@ -113,7 +119,7 @@ func TestMappedExtensionCompilesAndDispatchesChild(t *testing.T) {
113119 if err := os.WriteFile(filepath.Join(dir, "ext.go"), generated, 0600); err != nil {
114120 t.Fatal(err)
115121 }
116- writeTempModule(t, dir, "example.com/ext")
122+ writeTempModule(t, dir, "example.com/ext", true)
117123 test := `package ext
118124 import (
119125 "encoding/binary"
@@ -121,7 +127,7 @@ import (
121127 "os"
122128 "testing"
123129 "github.com/bnema/wlturbo"
124- "github.com/bnema/wlturbo/protocol/core"
130+ "github.com/bnema/go-wayland-bindings/client/wayland"
125131 "golang.org/x/sys/unix"
126132 )
127133 func TestTypedChild(t *testing.T) {
@@ -131,8 +137,8 @@ func TestTypedChild(t *testing.T) {
131137 p, err := net.FileConn(b); b.Close(); if err != nil { t.Fatal(err) }; defer p.Close()
132138 d, err := wlturbo.ConnectFromConn(c); if err != nil { t.Fatal(err) }; defer d.Close()
133139 parent := NewExtParent(d.Context()); parent.SetID(d.AllocateID()); d.Context().Register(parent)
134- var child *core.Buffer
135- parent.OnChild(func(b *core.Buffer) { child = b })
140+ var child *wayland.Buffer
141+ parent.OnChild(func(b *wayland.Buffer) { child = b })
136142 frame := make([]byte, 12); binary.LittleEndian.PutUint32(frame, parent.ID()); binary.LittleEndian.PutUint32(frame[4:], 12<<16); binary.LittleEndian.PutUint32(frame[8:], 0xff000001)
137143 if _, err := p.Write(frame); err != nil { t.Fatal(err) }
138144 if err := d.Dispatch(); err != nil { t.Fatal(err) }
@@ -154,3 +160,20 @@ func TestTypedChild(t *testing.T) {
154160 t.Fatalf("generated extension test: %v\n%s", err, out)
155161 }
156162 }
163+
164+// An event object argument that names an interface nobody maps is an error,
165+// as it is for requests, even though the event only reports the object ID.
166+func TestUnresolvedEventObjectInterface(t *testing.T) {
167+ xml := `<protocol name="ext"><interface name="ext_parent" version="1"><event name="focus"><arg name="surface" type="object" interface="wl_surfce"/></event></interface></protocol>`
168+ s := NewScanner()
169+ if err := s.Load([]byte(xml), "ext.xml"); err != nil {
170+ t.Fatal(err)
171+ }
172+ if _, err := s.Generate("ext"); err == nil || !strings.Contains(err.Error(), "wl_surfce") {
173+ t.Fatalf("unresolved event object interface: %v", err)
174+ }
175+ s.CrossPackage = map[string]string{"wl_surfce": spec.ModulePath + "/client/wayland"}
176+ if _, err := s.Generate("ext"); err != nil {
177+ t.Fatalf("mapped interface: %v", err)
178+ }
179+}
@@ -6,6 +6,8 @@ import (
6 "path/filepath"6 "path/filepath"
7 "strings"7 "strings"
8 "testing"8 "testing"
9+
10+ "github.com/bnema/go-wayland-bindings/spec"
9 )11 )
10 12
11 func TestResolution(t *testing.T) {13 func TestResolution(t *testing.T) {
@@ -29,8 +31,12 @@ func TestResolution(t *testing.T) {
29 }31 }
30 }32 }
31 func TestCoreGeneration(t *testing.T) {33 func TestCoreGeneration(t *testing.T) {
34+ data, err := spec.Open("wayland")
35+ if err != nil {
36+ t.Fatal(err)
37+ }
32 s := NewScanner()38 s := NewScanner()
33- if err := s.ParseXML("../../../spec/testdata/wayland.xml"); err != nil {39+ if err := s.Load(data, "wayland.xml"); err != nil {
34 t.Fatal(err)40 t.Fatal(err)
35 }41 }
36 b, err := s.Generate("wayland")42 b, err := s.Generate("wayland")
@@ -105,7 +111,7 @@ func TestMappedExtensionCompilesAndDispatchesChild(t *testing.T) {
105 if err := s.ParseXML(path); err != nil {111 if err := s.ParseXML(path); err != nil {
106 t.Fatal(err)112 t.Fatal(err)
107 }113 }
108- s.CrossPackage = map[string]string{"wl_buffer": "github.com/bnema/wlturbo/protocol/core"}114+ s.CrossPackage = map[string]string{"wl_buffer": "github.com/bnema/go-wayland-bindings/client/wayland"}
109 generated, err := s.Generate("ext")115 generated, err := s.Generate("ext")
110 if err != nil {116 if err != nil {
111 t.Fatal(err)117 t.Fatal(err)
@@ -113,7 +119,7 @@ func TestMappedExtensionCompilesAndDispatchesChild(t *testing.T) {
113 if err := os.WriteFile(filepath.Join(dir, "ext.go"), generated, 0600); err != nil {119 if err := os.WriteFile(filepath.Join(dir, "ext.go"), generated, 0600); err != nil {
114 t.Fatal(err)120 t.Fatal(err)
115 }121 }
116- writeTempModule(t, dir, "example.com/ext")122+ writeTempModule(t, dir, "example.com/ext", true)
117 test := `package ext123 test := `package ext
118 import (124 import (
119 "encoding/binary"125 "encoding/binary"
@@ -121,7 +127,7 @@ import (
121 "os"127 "os"
122 "testing"128 "testing"
123 "github.com/bnema/wlturbo"129 "github.com/bnema/wlturbo"
124- "github.com/bnema/wlturbo/protocol/core"130+ "github.com/bnema/go-wayland-bindings/client/wayland"
125 "golang.org/x/sys/unix"131 "golang.org/x/sys/unix"
126 )132 )
127 func TestTypedChild(t *testing.T) {133 func TestTypedChild(t *testing.T) {
@@ -131,8 +137,8 @@ func TestTypedChild(t *testing.T) {
131 p, err := net.FileConn(b); b.Close(); if err != nil { t.Fatal(err) }; defer p.Close()137 p, err := net.FileConn(b); b.Close(); if err != nil { t.Fatal(err) }; defer p.Close()
132 d, err := wlturbo.ConnectFromConn(c); if err != nil { t.Fatal(err) }; defer d.Close()138 d, err := wlturbo.ConnectFromConn(c); if err != nil { t.Fatal(err) }; defer d.Close()
133 parent := NewExtParent(d.Context()); parent.SetID(d.AllocateID()); d.Context().Register(parent)139 parent := NewExtParent(d.Context()); parent.SetID(d.AllocateID()); d.Context().Register(parent)
134- var child *core.Buffer140+ var child *wayland.Buffer
135- parent.OnChild(func(b *core.Buffer) { child = b })141+ parent.OnChild(func(b *wayland.Buffer) { child = b })
136 frame := make([]byte, 12); binary.LittleEndian.PutUint32(frame, parent.ID()); binary.LittleEndian.PutUint32(frame[4:], 12<<16); binary.LittleEndian.PutUint32(frame[8:], 0xff000001)142 frame := make([]byte, 12); binary.LittleEndian.PutUint32(frame, parent.ID()); binary.LittleEndian.PutUint32(frame[4:], 12<<16); binary.LittleEndian.PutUint32(frame[8:], 0xff000001)
137 if _, err := p.Write(frame); err != nil { t.Fatal(err) }143 if _, err := p.Write(frame); err != nil { t.Fatal(err) }
138 if err := d.Dispatch(); err != nil { t.Fatal(err) }144 if err := d.Dispatch(); err != nil { t.Fatal(err) }
@@ -154,3 +160,20 @@ func TestTypedChild(t *testing.T) {
154 t.Fatalf("generated extension test: %v\n%s", err, out)160 t.Fatalf("generated extension test: %v\n%s", err, out)
155 }161 }
156 }162 }
163+
164+// An event object argument that names an interface nobody maps is an error,
165+// as it is for requests, even though the event only reports the object ID.
166+func TestUnresolvedEventObjectInterface(t *testing.T) {
167+ xml := `<protocol name="ext"><interface name="ext_parent" version="1"><event name="focus"><arg name="surface" type="object" interface="wl_surfce"/></event></interface></protocol>`
168+ s := NewScanner()
169+ if err := s.Load([]byte(xml), "ext.xml"); err != nil {
170+ t.Fatal(err)
171+ }
172+ if _, err := s.Generate("ext"); err == nil || !strings.Contains(err.Error(), "wl_surfce") {
173+ t.Fatalf("unresolved event object interface: %v", err)
174+ }
175+ s.CrossPackage = map[string]string{"wl_surfce": spec.ModulePath + "/client/wayland"}
176+ if _, err := s.Generate("ext"); err != nil {
177+ t.Fatalf("mapped interface: %v", err)
178+ }
179+}
M internal/gen/client/tempmodule_test.go +38 -7
@@ -3,25 +3,56 @@ package client
33 import (
44 "os"
55 "path/filepath"
6+ "strings"
67 "testing"
8+
9+ "github.com/bnema/go-wayland-bindings/spec"
710 )
811
9-// runtimeVersion is the wlturbo release that temp-module tests compile the
10-// generated bindings against. It is resolved from the module cache.
11-const runtimeVersion = "v0.5.0"
12+// repoRoot is the repository root relative to this package.
13+const repoRoot = "../../.."
14+
15+// rootRequirement returns the version of module required by the repository's
16+// own go.mod, so the temp modules compile against the pinned release.
17+func rootRequirement(t *testing.T, module string) string {
18+ t.Helper()
19+ b, err := os.ReadFile(filepath.Join(repoRoot, "go.mod"))
20+ if err != nil {
21+ t.Fatal(err)
22+ }
23+ for _, line := range strings.Split(string(b), "\n") {
24+ f := strings.Fields(strings.TrimPrefix(strings.TrimSpace(line), "require "))
25+ if len(f) >= 2 && f[0] == module {
26+ return f[1]
27+ }
28+ }
29+ t.Fatalf("go.mod has no requirement on %s", module)
30+ return ""
31+}
1232
1333 // writeTempModule writes go.mod and go.sum for a throwaway module that
14-// requires the published wlturbo runtime. go.sum starts from the repository's
34+// requires the wlturbo runtime and golang.org/x/sys at the versions pinned in
35+// the repository's go.mod. With selfReplace, the module also requires this
36+// repository and replaces it with the working tree, so generated code may
37+// import the generated client packages. go.sum starts from the repository's
1538 // own go.sum; tempModuleEnv lets the go command complete it offline from the
1639 // module cache.
17-func writeTempModule(t *testing.T, dir, module string) {
40+func writeTempModule(t *testing.T, dir, module string, selfReplace bool) {
1841 t.Helper()
1942 mod := "module " + module + "\n\ngo 1.27\n\n" +
20- "require (\n\tgithub.com/bnema/wlturbo " + runtimeVersion + "\n\tgolang.org/x/sys v0.48.0\n)\n"
43+ "require (\n\tgithub.com/bnema/wlturbo " + rootRequirement(t, "github.com/bnema/wlturbo") +
44+ "\n\tgolang.org/x/sys " + rootRequirement(t, "golang.org/x/sys") + "\n)\n"
45+ if selfReplace {
46+ root, err := filepath.Abs(repoRoot)
47+ if err != nil {
48+ t.Fatal(err)
49+ }
50+ mod += "\nrequire " + spec.ModulePath + " v0.0.0\n\nreplace " + spec.ModulePath + " => " + root + "\n"
51+ }
2152 if err := os.WriteFile(filepath.Join(dir, "go.mod"), []byte(mod), 0o600); err != nil {
2253 t.Fatal(err)
2354 }
24- sum, err := os.ReadFile(filepath.Join("..", "..", "..", "go.sum"))
55+ sum, err := os.ReadFile(filepath.Join(repoRoot, "go.sum"))
2556 if err != nil {
2657 t.Fatal(err)
2758 }
@@ -3,25 +3,56 @@ package client
3 import (3 import (
4 "os"4 "os"
5 "path/filepath"5 "path/filepath"
6+ "strings"
6 "testing"7 "testing"
8+
9+ "github.com/bnema/go-wayland-bindings/spec"
7 )10 )
8 11
9-// runtimeVersion is the wlturbo release that temp-module tests compile the12+// repoRoot is the repository root relative to this package.
10-// generated bindings against. It is resolved from the module cache.13+const repoRoot = "../../.."
11-const runtimeVersion = "v0.5.0"14+
15+// rootRequirement returns the version of module required by the repository's
16+// own go.mod, so the temp modules compile against the pinned release.
17+func rootRequirement(t *testing.T, module string) string {
18+ t.Helper()
19+ b, err := os.ReadFile(filepath.Join(repoRoot, "go.mod"))
20+ if err != nil {
21+ t.Fatal(err)
22+ }
23+ for _, line := range strings.Split(string(b), "\n") {
24+ f := strings.Fields(strings.TrimPrefix(strings.TrimSpace(line), "require "))
25+ if len(f) >= 2 && f[0] == module {
26+ return f[1]
27+ }
28+ }
29+ t.Fatalf("go.mod has no requirement on %s", module)
30+ return ""
31+}
12 32
13 // writeTempModule writes go.mod and go.sum for a throwaway module that33 // writeTempModule writes go.mod and go.sum for a throwaway module that
14-// requires the published wlturbo runtime. go.sum starts from the repository's34+// requires the wlturbo runtime and golang.org/x/sys at the versions pinned in
35+// the repository's go.mod. With selfReplace, the module also requires this
36+// repository and replaces it with the working tree, so generated code may
37+// import the generated client packages. go.sum starts from the repository's
15 // own go.sum; tempModuleEnv lets the go command complete it offline from the38 // own go.sum; tempModuleEnv lets the go command complete it offline from the
16 // module cache.39 // module cache.
17-func writeTempModule(t *testing.T, dir, module string) {40+func writeTempModule(t *testing.T, dir, module string, selfReplace bool) {
18 t.Helper()41 t.Helper()
19 mod := "module " + module + "\n\ngo 1.27\n\n" +42 mod := "module " + module + "\n\ngo 1.27\n\n" +
20- "require (\n\tgithub.com/bnema/wlturbo " + runtimeVersion + "\n\tgolang.org/x/sys v0.48.0\n)\n"43+ "require (\n\tgithub.com/bnema/wlturbo " + rootRequirement(t, "github.com/bnema/wlturbo") +
44+ "\n\tgolang.org/x/sys " + rootRequirement(t, "golang.org/x/sys") + "\n)\n"
45+ if selfReplace {
46+ root, err := filepath.Abs(repoRoot)
47+ if err != nil {
48+ t.Fatal(err)
49+ }
50+ mod += "\nrequire " + spec.ModulePath + " v0.0.0\n\nreplace " + spec.ModulePath + " => " + root + "\n"
51+ }
21 if err := os.WriteFile(filepath.Join(dir, "go.mod"), []byte(mod), 0o600); err != nil {52 if err := os.WriteFile(filepath.Join(dir, "go.mod"), []byte(mod), 0o600); err != nil {
22 t.Fatal(err)53 t.Fatal(err)
23 }54 }
24- sum, err := os.ReadFile(filepath.Join("..", "..", "..", "go.sum"))55+ sum, err := os.ReadFile(filepath.Join(repoRoot, "go.sum"))
25 if err != nil {56 if err != nil {
26 t.Fatal(err)57 t.Fatal(err)
27 }58 }
D internal/gen/client/testdata/server-decoration.xml +0 -85
@@ -1,85 +0,0 @@
1-<?xml version="1.0" encoding="UTF-8"?>
2-<protocol name="server_decoration">
3- <copyright><![CDATA[
4- SPDX-FileCopyrightText: 2015 Martin Gräßlin
5-
6- SPDX-License-Identifier: LGPL-2.1-or-later
7- ]]></copyright>
8- <interface name="org_kde_kwin_server_decoration_manager" version="1">
9- <description summary="Server side window decoration manager">
10- This interface allows to coordinate whether the server should create
11- a server-side window decoration around a wl_surface representing a
12- shell surface (wl_shell_surface or similar). By announcing support
13- for this interface the server indicates that it supports server
14- side decorations.
15-
16- Use in conjunction with zxdg_decoration_manager_v1 is undefined.
17- </description>
18- <request name="create">
19- <description summary="Create a server-side decoration object for a given surface">
20- When a client creates a server-side decoration object it indicates
21- that it supports the protocol. The client is supposed to tell the
22- server whether it wants server-side decorations or will provide
23- client-side decorations.
24-
25- If the client does not create a server-side decoration object for
26- a surface the server interprets this as lack of support for this
27- protocol and considers it as client-side decorated. Nevertheless a
28- client-side decorated surface should use this protocol to indicate
29- to the server that it does not want a server-side deco.
30- </description>
31- <arg name="id" type="new_id" interface="org_kde_kwin_server_decoration"/>
32- <arg name="surface" type="object" interface="wl_surface"/>
33- </request>
34- <enum name="mode">
35- <description summary="Possible values to use in request_mode and the event mode."/>
36- <entry name="None" value="0" summary="Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated."/>
37- <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
38- <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
39- </enum>
40- <event name="default_mode">
41- <description summary="The default mode used on the server">
42- This event is emitted directly after binding the interface. It contains
43- the default mode for the decoration. When a new server decoration object
44- is created this new object will be in the default mode until the first
45- request_mode is requested.
46-
47- The server may change the default mode at any time.
48- </description>
49- <arg name="mode" type="uint" summary="The default decoration mode applied to newly created server decorations."/>
50- </event>
51- </interface>
52- <interface name="org_kde_kwin_server_decoration" version="1">
53- <request name="release" type="destructor">
54- <description summary="release the server decoration object"/>
55- </request>
56- <enum name="mode">
57- <description summary="Possible values to use in request_mode and the event mode."/>
58- <entry name="None" value="0" summary="Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated."/>
59- <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
60- <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
61- </enum>
62- <request name="request_mode">
63- <description summary="The decoration mode the surface wants to use."/>
64- <arg name="mode" type="uint" summary="The mode this surface wants to use."/>
65- </request>
66- <event name="mode">
67- <description summary="The new decoration mode applied by the server">
68- This event is emitted directly after the decoration is created and
69- represents the base decoration policy by the server. E.g. a server
70- which wants all surfaces to be client-side decorated will send Client,
71- a server which wants server-side decoration will send Server.
72-
73- The client can request a different mode through the decoration request.
74- The server will acknowledge this by another event with the same mode. So
75- even if a server prefers server-side decoration it's possible to force a
76- client-side decoration.
77-
78- The server may emit this event at any time. In this case the client can
79- again request a different mode. It's the responsibility of the server to
80- prevent a feedback loop.
81- </description>
82- <arg name="mode" type="uint" summary="The decoration mode applied to the surface by the server."/>
83- </event>
84- </interface>
85-</protocol>
@@ -1,85 +0,0 @@
1-<?xml version="1.0" encoding="UTF-8"?>
2-<protocol name="server_decoration">
3- <copyright><![CDATA[
4- SPDX-FileCopyrightText: 2015 Martin Gräßlin
5-
6- SPDX-License-Identifier: LGPL-2.1-or-later
7- ]]></copyright>
8- <interface name="org_kde_kwin_server_decoration_manager" version="1">
9- <description summary="Server side window decoration manager">
10- This interface allows to coordinate whether the server should create
11- a server-side window decoration around a wl_surface representing a
12- shell surface (wl_shell_surface or similar). By announcing support
13- for this interface the server indicates that it supports server
14- side decorations.
15-
16- Use in conjunction with zxdg_decoration_manager_v1 is undefined.
17- </description>
18- <request name="create">
19- <description summary="Create a server-side decoration object for a given surface">
20- When a client creates a server-side decoration object it indicates
21- that it supports the protocol. The client is supposed to tell the
22- server whether it wants server-side decorations or will provide
23- client-side decorations.
24-
25- If the client does not create a server-side decoration object for
26- a surface the server interprets this as lack of support for this
27- protocol and considers it as client-side decorated. Nevertheless a
28- client-side decorated surface should use this protocol to indicate
29- to the server that it does not want a server-side deco.
30- </description>
31- <arg name="id" type="new_id" interface="org_kde_kwin_server_decoration"/>
32- <arg name="surface" type="object" interface="wl_surface"/>
33- </request>
34- <enum name="mode">
35- <description summary="Possible values to use in request_mode and the event mode."/>
36- <entry name="None" value="0" summary="Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated."/>
37- <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
38- <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
39- </enum>
40- <event name="default_mode">
41- <description summary="The default mode used on the server">
42- This event is emitted directly after binding the interface. It contains
43- the default mode for the decoration. When a new server decoration object
44- is created this new object will be in the default mode until the first
45- request_mode is requested.
46-
47- The server may change the default mode at any time.
48- </description>
49- <arg name="mode" type="uint" summary="The default decoration mode applied to newly created server decorations."/>
50- </event>
51- </interface>
52- <interface name="org_kde_kwin_server_decoration" version="1">
53- <request name="release" type="destructor">
54- <description summary="release the server decoration object"/>
55- </request>
56- <enum name="mode">
57- <description summary="Possible values to use in request_mode and the event mode."/>
58- <entry name="None" value="0" summary="Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated."/>
59- <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
60- <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
61- </enum>
62- <request name="request_mode">
63- <description summary="The decoration mode the surface wants to use."/>
64- <arg name="mode" type="uint" summary="The mode this surface wants to use."/>
65- </request>
66- <event name="mode">
67- <description summary="The new decoration mode applied by the server">
68- This event is emitted directly after the decoration is created and
69- represents the base decoration policy by the server. E.g. a server
70- which wants all surfaces to be client-side decorated will send Client,
71- a server which wants server-side decoration will send Server.
72-
73- The client can request a different mode through the decoration request.
74- The server will acknowledge this by another event with the same mode. So
75- even if a server prefers server-side decoration it's possible to force a
76- client-side decoration.
77-
78- The server may emit this event at any time. In this case the client can
79- again request a different mode. It's the responsibility of the server to
80- prevent a feedback loop.
81- </description>
82- <arg name="mode" type="uint" summary="The decoration mode applied to the surface by the server."/>
83- </event>
84- </interface>
85-</protocol>
D internal/gen/client/testdata/wlr-layer-shell-unstable-v1.xml +0 -407
@@ -1,407 +0,0 @@
1-<?xml version="1.0" encoding="UTF-8"?>
2-<protocol name="wlr_layer_shell_unstable_v1">
3- <copyright>
4- Copyright © 2017 Drew DeVault
5-
6- Permission to use, copy, modify, distribute, and sell this
7- software and its documentation for any purpose is hereby granted
8- without fee, provided that the above copyright notice appear in
9- all copies and that both that copyright notice and this permission
10- notice appear in supporting documentation, and that the name of
11- the copyright holders not be used in advertising or publicity
12- pertaining to distribution of the software without specific,
13- written prior permission. The copyright holders make no
14- representations about the suitability of this software for any
15- purpose. It is provided "as is" without express or implied
16- warranty.
17-
18- THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19- SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20- FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21- SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23- AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25- THIS SOFTWARE.
26- </copyright>
27-
28- <interface name="zwlr_layer_shell_v1" version="5">
29- <description summary="create surfaces that are layers of the desktop">
30- Clients can use this interface to assign the surface_layer role to
31- wl_surfaces. Such surfaces are assigned to a "layer" of the output and
32- rendered with a defined z-depth respective to each other. They may also be
33- anchored to the edges and corners of a screen and specify input handling
34- semantics. This interface should be suitable for the implementation of
35- many desktop shell components, and a broad number of other applications
36- that interact with the desktop.
37- </description>
38-
39- <request name="get_layer_surface">
40- <description summary="create a layer_surface from a surface">
41- Create a layer surface for an existing surface. This assigns the role of
42- layer_surface, or raises a protocol error if another role is already
43- assigned.
44-
45- Creating a layer surface from a wl_surface which has a buffer attached
46- or committed is a client error, and any attempts by a client to attach
47- or manipulate a buffer prior to the first layer_surface.configure call
48- must also be treated as errors.
49-
50- After creating a layer_surface object and setting it up, the client
51- must perform an initial commit without any buffer attached.
52- The compositor will reply with a layer_surface.configure event.
53- The client must acknowledge it and is then allowed to attach a buffer
54- to map the surface.
55-
56- You may pass NULL for output to allow the compositor to decide which
57- output to use. Generally this will be the one that the user most
58- recently interacted with.
59-
60- Clients can specify a namespace that defines the purpose of the layer
61- surface.
62- </description>
63- <arg name="id" type="new_id" interface="zwlr_layer_surface_v1"/>
64- <arg name="surface" type="object" interface="wl_surface"/>
65- <arg name="output" type="object" interface="wl_output" allow-null="true"/>
66- <arg name="layer" type="uint" enum="layer" summary="layer to add this surface to"/>
67- <arg name="namespace" type="string" summary="namespace for the layer surface"/>
68- </request>
69-
70- <enum name="error">
71- <entry name="role" value="0" summary="wl_surface has another role"/>
72- <entry name="invalid_layer" value="1" summary="layer value is invalid"/>
73- <entry name="already_constructed" value="2" summary="wl_surface has a buffer attached or committed"/>
74- </enum>
75-
76- <enum name="layer">
77- <description summary="available layers for surfaces">
78- These values indicate which layers a surface can be rendered in. They
79- are ordered by z depth, bottom-most first. Traditional shell surfaces
80- will typically be rendered between the bottom and top layers.
81- Fullscreen shell surfaces are typically rendered at the top layer.
82- Multiple surfaces can share a single layer, and ordering within a
83- single layer is undefined.
84- </description>
85-
86- <entry name="background" value="0"/>
87- <entry name="bottom" value="1"/>
88- <entry name="top" value="2"/>
89- <entry name="overlay" value="3"/>
90- </enum>
91-
92- <!-- Version 3 additions -->
93-
94- <request name="destroy" type="destructor" since="3">
95- <description summary="destroy the layer_shell object">
96- This request indicates that the client will not use the layer_shell
97- object any more. Objects that have been created through this instance
98- are not affected.
99- </description>
100- </request>
101- </interface>
102-
103- <interface name="zwlr_layer_surface_v1" version="5">
104- <description summary="layer metadata interface">
105- An interface that may be implemented by a wl_surface, for surfaces that
106- are designed to be rendered as a layer of a stacked desktop-like
107- environment.
108-
109- Layer surface state (layer, size, anchor, exclusive zone,
110- margin, interactivity) is double-buffered, and will be applied at the
111- time wl_surface.commit of the corresponding wl_surface is called.
112-
113- Attaching a null buffer to a layer surface unmaps it.
114-
115- Unmapping a layer_surface means that the surface cannot be shown by the
116- compositor until it is explicitly mapped again. The layer_surface
117- returns to the state it had right after layer_shell.get_layer_surface.
118- The client can re-map the surface by performing a commit without any
119- buffer attached, waiting for a configure event and handling it as usual.
120- </description>
121-
122- <request name="set_size">
123- <description summary="sets the size of the surface">
124- Sets the size of the surface in surface-local coordinates. The
125- compositor will display the surface centered with respect to its
126- anchors.
127-
128- If you pass 0 for either value, the compositor will assign it and
129- inform you of the assignment in the configure event. You must set your
130- anchor to opposite edges in the dimensions you omit; not doing so is a
131- protocol error. Both values are 0 by default.
132-
133- Size is double-buffered, see wl_surface.commit.
134- </description>
135- <arg name="width" type="uint"/>
136- <arg name="height" type="uint"/>
137- </request>
138-
139- <request name="set_anchor">
140- <description summary="configures the anchor point of the surface">
141- Requests that the compositor anchor the surface to the specified edges
142- and corners. If two orthogonal edges are specified (e.g. 'top' and
143- 'left'), then the anchor point will be the intersection of the edges
144- (e.g. the top left corner of the output); otherwise the anchor point
145- will be centered on that edge, or in the center if none is specified.
146-
147- Anchor is double-buffered, see wl_surface.commit.
148- </description>
149- <arg name="anchor" type="uint" enum="anchor"/>
150- </request>
151-
152- <request name="set_exclusive_zone">
153- <description summary="configures the exclusive geometry of this surface">
154- Requests that the compositor avoids occluding an area with other
155- surfaces. The compositor's use of this information is
156- implementation-dependent - do not assume that this region will not
157- actually be occluded.
158-
159- A positive value is only meaningful if the surface is anchored to one
160- edge or an edge and both perpendicular edges. If the surface is not
161- anchored, anchored to only two perpendicular edges (a corner), anchored
162- to only two parallel edges or anchored to all edges, a positive value
163- will be treated the same as zero.
164-
165- A positive zone is the distance from the edge in surface-local
166- coordinates to consider exclusive.
167-
168- Surfaces that do not wish to have an exclusive zone may instead specify
169- how they should interact with surfaces that do. If set to zero, the
170- surface indicates that it would like to be moved to avoid occluding
171- surfaces with a positive exclusive zone. If set to -1, the surface
172- indicates that it would not like to be moved to accommodate for other
173- surfaces, and the compositor should extend it all the way to the edges
174- it is anchored to.
175-
176- For example, a panel might set its exclusive zone to 10, so that
177- maximized shell surfaces are not shown on top of it. A notification
178- might set its exclusive zone to 0, so that it is moved to avoid
179- occluding the panel, but shell surfaces are shown underneath it. A
180- wallpaper or lock screen might set their exclusive zone to -1, so that
181- they stretch below or over the panel.
182-
183- The default value is 0.
184-
185- Exclusive zone is double-buffered, see wl_surface.commit.
186- </description>
187- <arg name="zone" type="int"/>
188- </request>
189-
190- <request name="set_margin">
191- <description summary="sets a margin from the anchor point">
192- Requests that the surface be placed some distance away from the anchor
193- point on the output, in surface-local coordinates. Setting this value
194- for edges you are not anchored to has no effect.
195-
196- The exclusive zone includes the margin.
197-
198- Margin is double-buffered, see wl_surface.commit.
199- </description>
200- <arg name="top" type="int"/>
201- <arg name="right" type="int"/>
202- <arg name="bottom" type="int"/>
203- <arg name="left" type="int"/>
204- </request>
205-
206- <enum name="keyboard_interactivity">
207- <description summary="types of keyboard interaction possible for a layer shell surface">
208- Types of keyboard interaction possible for layer shell surfaces. The
209- rationale for this is twofold: (1) some applications are not interested
210- in keyboard events and not allowing them to be focused can improve the
211- desktop experience; (2) some applications will want to take exclusive
212- keyboard focus.
213- </description>
214-
215- <entry name="none" value="0">
216- <description summary="no keyboard focus is possible">
217- This value indicates that this surface is not interested in keyboard
218- events and the compositor should never assign it the keyboard focus.
219-
220- This is the default value, set for newly created layer shell surfaces.
221-
222- This is useful for e.g. desktop widgets that display information or
223- only have interaction with non-keyboard input devices.
224- </description>
225- </entry>
226- <entry name="exclusive" value="1">
227- <description summary="request exclusive keyboard focus">
228- Request exclusive keyboard focus if this surface is above the shell surface layer.
229-
230- For the top and overlay layers, the seat will always give
231- exclusive keyboard focus to the top-most layer which has keyboard
232- interactivity set to exclusive. If this layer contains multiple
233- surfaces with keyboard interactivity set to exclusive, the compositor
234- determines the one receiving keyboard events in an implementation-
235- defined manner. In this case, no guarantee is made when this surface
236- will receive keyboard focus (if ever).
237-
238- For the bottom and background layers, the compositor is allowed to use
239- normal focus semantics.
240-
241- This setting is mainly intended for applications that need to ensure
242- they receive all keyboard events, such as a lock screen or a password
243- prompt.
244- </description>
245- </entry>
246- <entry name="on_demand" value="2" since="4">
247- <description summary="request regular keyboard focus semantics">
248- This requests the compositor to allow this surface to be focused and
249- unfocused by the user in an implementation-defined manner. The user
250- should be able to unfocus this surface even regardless of the layer
251- it is on.
252-
253- Typically, the compositor will want to use its normal mechanism to
254- manage keyboard focus between layer shell surfaces with this setting
255- and regular toplevels on the desktop layer (e.g. click to focus).
256- Nevertheless, it is possible for a compositor to require a special
257- interaction to focus or unfocus layer shell surfaces (e.g. requiring
258- a click even if focus follows the mouse normally, or providing a
259- keybinding to switch focus between layers).
260-
261- This setting is mainly intended for desktop shell components (e.g.
262- panels) that allow keyboard interaction. Using this option can allow
263- implementing a desktop shell that can be fully usable without the
264- mouse.
265- </description>
266- </entry>
267- </enum>
268-
269- <request name="set_keyboard_interactivity">
270- <description summary="requests keyboard events">
271- Set how keyboard events are delivered to this surface. By default,
272- layer shell surfaces do not receive keyboard events; this request can
273- be used to change this.
274-
275- This setting is inherited by child surfaces set by the get_popup
276- request.
277-
278- Layer surfaces receive pointer, touch, and tablet events normally. If
279- you do not want to receive them, set the input region on your surface
280- to an empty region.
281-
282- Keyboard interactivity is double-buffered, see wl_surface.commit.
283- </description>
284- <arg name="keyboard_interactivity" type="uint" enum="keyboard_interactivity"/>
285- </request>
286-
287- <request name="get_popup">
288- <description summary="assign this layer_surface as an xdg_popup parent">
289- This assigns an xdg_popup's parent to this layer_surface. This popup
290- should have been created via xdg_surface::get_popup with the parent set
291- to NULL, and this request must be invoked before committing the popup's
292- initial state.
293-
294- See the documentation of xdg_popup for more details about what an
295- xdg_popup is and how it is used.
296- </description>
297- <arg name="popup" type="object" interface="xdg_popup"/>
298- </request>
299-
300- <request name="ack_configure">
301- <description summary="ack a configure event">
302- When a configure event is received, if a client commits the
303- surface in response to the configure event, then the client
304- must make an ack_configure request sometime before the commit
305- request, passing along the serial of the configure event.
306-
307- If the client receives multiple configure events before it
308- can respond to one, it only has to ack the last configure event.
309-
310- A client is not required to commit immediately after sending
311- an ack_configure request - it may even ack_configure several times
312- before its next surface commit.
313-
314- A client may send multiple ack_configure requests before committing, but
315- only the last request sent before a commit indicates which configure
316- event the client really is responding to.
317- </description>
318- <arg name="serial" type="uint" summary="the serial from the configure event"/>
319- </request>
320-
321- <request name="destroy" type="destructor">
322- <description summary="destroy the layer_surface">
323- This request destroys the layer surface.
324- </description>
325- </request>
326-
327- <event name="configure">
328- <description summary="suggest a surface change">
329- The configure event asks the client to resize its surface.
330-
331- Clients should arrange their surface for the new states, and then send
332- an ack_configure request with the serial sent in this configure event at
333- some point before committing the new surface.
334-
335- The client is free to dismiss all but the last configure event it
336- received.
337-
338- The width and height arguments specify the size of the window in
339- surface-local coordinates.
340-
341- The size is a hint, in the sense that the client is free to ignore it if
342- it doesn't resize, pick a smaller size (to satisfy aspect ratio or
343- resize in steps of NxM pixels). If the client picks a smaller size and
344- is anchored to two opposite anchors (e.g. 'top' and 'bottom'), the
345- surface will be centered on this axis.
346-
347- If the width or height arguments are zero, it means the client should
348- decide its own window dimension.
349- </description>
350- <arg name="serial" type="uint"/>
351- <arg name="width" type="uint"/>
352- <arg name="height" type="uint"/>
353- </event>
354-
355- <event name="closed">
356- <description summary="surface should be closed">
357- The closed event is sent by the compositor when the surface will no
358- longer be shown. The output may have been destroyed or the user may
359- have asked for it to be removed. Further changes to the surface will be
360- ignored. The client should destroy the resource after receiving this
361- event, and create a new surface if they so choose.
362- </description>
363- </event>
364-
365- <enum name="error">
366- <entry name="invalid_surface_state" value="0" summary="provided surface state is invalid"/>
367- <entry name="invalid_size" value="1" summary="size is invalid"/>
368- <entry name="invalid_anchor" value="2" summary="anchor bitfield is invalid"/>
369- <entry name="invalid_keyboard_interactivity" value="3" summary="keyboard interactivity is invalid"/>
370- <entry name="invalid_exclusive_edge" value="4" summary="exclusive edge is invalid given the surface anchors"/>
371- </enum>
372-
373- <enum name="anchor" bitfield="true">
374- <entry name="top" value="1" summary="the top edge of the anchor rectangle"/>
375- <entry name="bottom" value="2" summary="the bottom edge of the anchor rectangle"/>
376- <entry name="left" value="4" summary="the left edge of the anchor rectangle"/>
377- <entry name="right" value="8" summary="the right edge of the anchor rectangle"/>
378- </enum>
379-
380- <!-- Version 2 additions -->
381-
382- <request name="set_layer" since="2">
383- <description summary="change the layer of the surface">
384- Change the layer that the surface is rendered on.
385-
386- Layer is double-buffered, see wl_surface.commit.
387- </description>
388- <arg name="layer" type="uint" enum="zwlr_layer_shell_v1.layer" summary="layer to move this surface to"/>
389- </request>
390-
391- <!-- Version 5 additions -->
392-
393- <request name="set_exclusive_edge" since="5">
394- <description summary="set the edge the exclusive zone will be applied to">
395- Requests an edge for the exclusive zone to apply. The exclusive
396- edge will be automatically deduced from anchor points when possible,
397- but when the surface is anchored to a corner, it will be necessary
398- to set it explicitly to disambiguate, as it is not possible to deduce
399- which one of the two corner edges should be used.
400-
401- The edge must be one the surface is anchored to, otherwise the
402- invalid_exclusive_edge protocol error will be raised.
403- </description>
404- <arg name="edge" type="uint" enum="anchor"/>
405- </request>
406- </interface>
407-</protocol>
@@ -1,407 +0,0 @@
1-<?xml version="1.0" encoding="UTF-8"?>
2-<protocol name="wlr_layer_shell_unstable_v1">
3- <copyright>
4- Copyright © 2017 Drew DeVault
5-
6- Permission to use, copy, modify, distribute, and sell this
7- software and its documentation for any purpose is hereby granted
8- without fee, provided that the above copyright notice appear in
9- all copies and that both that copyright notice and this permission
10- notice appear in supporting documentation, and that the name of
11- the copyright holders not be used in advertising or publicity
12- pertaining to distribution of the software without specific,
13- written prior permission. The copyright holders make no
14- representations about the suitability of this software for any
15- purpose. It is provided "as is" without express or implied
16- warranty.
17-
18- THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19- SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20- FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21- SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23- AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25- THIS SOFTWARE.
26- </copyright>
27-
28- <interface name="zwlr_layer_shell_v1" version="5">
29- <description summary="create surfaces that are layers of the desktop">
30- Clients can use this interface to assign the surface_layer role to
31- wl_surfaces. Such surfaces are assigned to a "layer" of the output and
32- rendered with a defined z-depth respective to each other. They may also be
33- anchored to the edges and corners of a screen and specify input handling
34- semantics. This interface should be suitable for the implementation of
35- many desktop shell components, and a broad number of other applications
36- that interact with the desktop.
37- </description>
38-
39- <request name="get_layer_surface">
40- <description summary="create a layer_surface from a surface">
41- Create a layer surface for an existing surface. This assigns the role of
42- layer_surface, or raises a protocol error if another role is already
43- assigned.
44-
45- Creating a layer surface from a wl_surface which has a buffer attached
46- or committed is a client error, and any attempts by a client to attach
47- or manipulate a buffer prior to the first layer_surface.configure call
48- must also be treated as errors.
49-
50- After creating a layer_surface object and setting it up, the client
51- must perform an initial commit without any buffer attached.
52- The compositor will reply with a layer_surface.configure event.
53- The client must acknowledge it and is then allowed to attach a buffer
54- to map the surface.
55-
56- You may pass NULL for output to allow the compositor to decide which
57- output to use. Generally this will be the one that the user most
58- recently interacted with.
59-
60- Clients can specify a namespace that defines the purpose of the layer
61- surface.
62- </description>
63- <arg name="id" type="new_id" interface="zwlr_layer_surface_v1"/>
64- <arg name="surface" type="object" interface="wl_surface"/>
65- <arg name="output" type="object" interface="wl_output" allow-null="true"/>
66- <arg name="layer" type="uint" enum="layer" summary="layer to add this surface to"/>
67- <arg name="namespace" type="string" summary="namespace for the layer surface"/>
68- </request>
69-
70- <enum name="error">
71- <entry name="role" value="0" summary="wl_surface has another role"/>
72- <entry name="invalid_layer" value="1" summary="layer value is invalid"/>
73- <entry name="already_constructed" value="2" summary="wl_surface has a buffer attached or committed"/>
74- </enum>
75-
76- <enum name="layer">
77- <description summary="available layers for surfaces">
78- These values indicate which layers a surface can be rendered in. They
79- are ordered by z depth, bottom-most first. Traditional shell surfaces
80- will typically be rendered between the bottom and top layers.
81- Fullscreen shell surfaces are typically rendered at the top layer.
82- Multiple surfaces can share a single layer, and ordering within a
83- single layer is undefined.
84- </description>
85-
86- <entry name="background" value="0"/>
87- <entry name="bottom" value="1"/>
88- <entry name="top" value="2"/>
89- <entry name="overlay" value="3"/>
90- </enum>
91-
92- <!-- Version 3 additions -->
93-
94- <request name="destroy" type="destructor" since="3">
95- <description summary="destroy the layer_shell object">
96- This request indicates that the client will not use the layer_shell
97- object any more. Objects that have been created through this instance
98- are not affected.
99- </description>
100- </request>
101- </interface>
102-
103- <interface name="zwlr_layer_surface_v1" version="5">
104- <description summary="layer metadata interface">
105- An interface that may be implemented by a wl_surface, for surfaces that
106- are designed to be rendered as a layer of a stacked desktop-like
107- environment.
108-
109- Layer surface state (layer, size, anchor, exclusive zone,
110- margin, interactivity) is double-buffered, and will be applied at the
111- time wl_surface.commit of the corresponding wl_surface is called.
112-
113- Attaching a null buffer to a layer surface unmaps it.
114-
115- Unmapping a layer_surface means that the surface cannot be shown by the
116- compositor until it is explicitly mapped again. The layer_surface
117- returns to the state it had right after layer_shell.get_layer_surface.
118- The client can re-map the surface by performing a commit without any
119- buffer attached, waiting for a configure event and handling it as usual.
120- </description>
121-
122- <request name="set_size">
123- <description summary="sets the size of the surface">
124- Sets the size of the surface in surface-local coordinates. The
125- compositor will display the surface centered with respect to its
126- anchors.
127-
128- If you pass 0 for either value, the compositor will assign it and
129- inform you of the assignment in the configure event. You must set your
130- anchor to opposite edges in the dimensions you omit; not doing so is a
131- protocol error. Both values are 0 by default.
132-
133- Size is double-buffered, see wl_surface.commit.
134- </description>
135- <arg name="width" type="uint"/>
136- <arg name="height" type="uint"/>
137- </request>
138-
139- <request name="set_anchor">
140- <description summary="configures the anchor point of the surface">
141- Requests that the compositor anchor the surface to the specified edges
142- and corners. If two orthogonal edges are specified (e.g. 'top' and
143- 'left'), then the anchor point will be the intersection of the edges
144- (e.g. the top left corner of the output); otherwise the anchor point
145- will be centered on that edge, or in the center if none is specified.
146-
147- Anchor is double-buffered, see wl_surface.commit.
148- </description>
149- <arg name="anchor" type="uint" enum="anchor"/>
150- </request>
151-
152- <request name="set_exclusive_zone">
153- <description summary="configures the exclusive geometry of this surface">
154- Requests that the compositor avoids occluding an area with other
155- surfaces. The compositor's use of this information is
156- implementation-dependent - do not assume that this region will not
157- actually be occluded.
158-
159- A positive value is only meaningful if the surface is anchored to one
160- edge or an edge and both perpendicular edges. If the surface is not
161- anchored, anchored to only two perpendicular edges (a corner), anchored
162- to only two parallel edges or anchored to all edges, a positive value
163- will be treated the same as zero.
164-
165- A positive zone is the distance from the edge in surface-local
166- coordinates to consider exclusive.
167-
168- Surfaces that do not wish to have an exclusive zone may instead specify
169- how they should interact with surfaces that do. If set to zero, the
170- surface indicates that it would like to be moved to avoid occluding
171- surfaces with a positive exclusive zone. If set to -1, the surface
172- indicates that it would not like to be moved to accommodate for other
173- surfaces, and the compositor should extend it all the way to the edges
174- it is anchored to.
175-
176- For example, a panel might set its exclusive zone to 10, so that
177- maximized shell surfaces are not shown on top of it. A notification
178- might set its exclusive zone to 0, so that it is moved to avoid
179- occluding the panel, but shell surfaces are shown underneath it. A
180- wallpaper or lock screen might set their exclusive zone to -1, so that
181- they stretch below or over the panel.
182-
183- The default value is 0.
184-
185- Exclusive zone is double-buffered, see wl_surface.commit.
186- </description>
187- <arg name="zone" type="int"/>
188- </request>
189-
190- <request name="set_margin">
191- <description summary="sets a margin from the anchor point">
192- Requests that the surface be placed some distance away from the anchor
193- point on the output, in surface-local coordinates. Setting this value
194- for edges you are not anchored to has no effect.
195-
196- The exclusive zone includes the margin.
197-
198- Margin is double-buffered, see wl_surface.commit.
199- </description>
200- <arg name="top" type="int"/>
201- <arg name="right" type="int"/>
202- <arg name="bottom" type="int"/>
203- <arg name="left" type="int"/>
204- </request>
205-
206- <enum name="keyboard_interactivity">
207- <description summary="types of keyboard interaction possible for a layer shell surface">
208- Types of keyboard interaction possible for layer shell surfaces. The
209- rationale for this is twofold: (1) some applications are not interested
210- in keyboard events and not allowing them to be focused can improve the
211- desktop experience; (2) some applications will want to take exclusive
212- keyboard focus.
213- </description>
214-
215- <entry name="none" value="0">
216- <description summary="no keyboard focus is possible">
217- This value indicates that this surface is not interested in keyboard
218- events and the compositor should never assign it the keyboard focus.
219-
220- This is the default value, set for newly created layer shell surfaces.
221-
222- This is useful for e.g. desktop widgets that display information or
223- only have interaction with non-keyboard input devices.
224- </description>
225- </entry>
226- <entry name="exclusive" value="1">
227- <description summary="request exclusive keyboard focus">
228- Request exclusive keyboard focus if this surface is above the shell surface layer.
229-
230- For the top and overlay layers, the seat will always give
231- exclusive keyboard focus to the top-most layer which has keyboard
232- interactivity set to exclusive. If this layer contains multiple
233- surfaces with keyboard interactivity set to exclusive, the compositor
234- determines the one receiving keyboard events in an implementation-
235- defined manner. In this case, no guarantee is made when this surface
236- will receive keyboard focus (if ever).
237-
238- For the bottom and background layers, the compositor is allowed to use
239- normal focus semantics.
240-
241- This setting is mainly intended for applications that need to ensure
242- they receive all keyboard events, such as a lock screen or a password
243- prompt.
244- </description>
245- </entry>
246- <entry name="on_demand" value="2" since="4">
247- <description summary="request regular keyboard focus semantics">
248- This requests the compositor to allow this surface to be focused and
249- unfocused by the user in an implementation-defined manner. The user
250- should be able to unfocus this surface even regardless of the layer
251- it is on.
252-
253- Typically, the compositor will want to use its normal mechanism to
254- manage keyboard focus between layer shell surfaces with this setting
255- and regular toplevels on the desktop layer (e.g. click to focus).
256- Nevertheless, it is possible for a compositor to require a special
257- interaction to focus or unfocus layer shell surfaces (e.g. requiring
258- a click even if focus follows the mouse normally, or providing a
259- keybinding to switch focus between layers).
260-
261- This setting is mainly intended for desktop shell components (e.g.
262- panels) that allow keyboard interaction. Using this option can allow
263- implementing a desktop shell that can be fully usable without the
264- mouse.
265- </description>
266- </entry>
267- </enum>
268-
269- <request name="set_keyboard_interactivity">
270- <description summary="requests keyboard events">
271- Set how keyboard events are delivered to this surface. By default,
272- layer shell surfaces do not receive keyboard events; this request can
273- be used to change this.
274-
275- This setting is inherited by child surfaces set by the get_popup
276- request.
277-
278- Layer surfaces receive pointer, touch, and tablet events normally. If
279- you do not want to receive them, set the input region on your surface
280- to an empty region.
281-
282- Keyboard interactivity is double-buffered, see wl_surface.commit.
283- </description>
284- <arg name="keyboard_interactivity" type="uint" enum="keyboard_interactivity"/>
285- </request>
286-
287- <request name="get_popup">
288- <description summary="assign this layer_surface as an xdg_popup parent">
289- This assigns an xdg_popup's parent to this layer_surface. This popup
290- should have been created via xdg_surface::get_popup with the parent set
291- to NULL, and this request must be invoked before committing the popup's
292- initial state.
293-
294- See the documentation of xdg_popup for more details about what an
295- xdg_popup is and how it is used.
296- </description>
297- <arg name="popup" type="object" interface="xdg_popup"/>
298- </request>
299-
300- <request name="ack_configure">
301- <description summary="ack a configure event">
302- When a configure event is received, if a client commits the
303- surface in response to the configure event, then the client
304- must make an ack_configure request sometime before the commit
305- request, passing along the serial of the configure event.
306-
307- If the client receives multiple configure events before it
308- can respond to one, it only has to ack the last configure event.
309-
310- A client is not required to commit immediately after sending
311- an ack_configure request - it may even ack_configure several times
312- before its next surface commit.
313-
314- A client may send multiple ack_configure requests before committing, but
315- only the last request sent before a commit indicates which configure
316- event the client really is responding to.
317- </description>
318- <arg name="serial" type="uint" summary="the serial from the configure event"/>
319- </request>
320-
321- <request name="destroy" type="destructor">
322- <description summary="destroy the layer_surface">
323- This request destroys the layer surface.
324- </description>
325- </request>
326-
327- <event name="configure">
328- <description summary="suggest a surface change">
329- The configure event asks the client to resize its surface.
330-
331- Clients should arrange their surface for the new states, and then send
332- an ack_configure request with the serial sent in this configure event at
333- some point before committing the new surface.
334-
335- The client is free to dismiss all but the last configure event it
336- received.
337-
338- The width and height arguments specify the size of the window in
339- surface-local coordinates.
340-
341- The size is a hint, in the sense that the client is free to ignore it if
342- it doesn't resize, pick a smaller size (to satisfy aspect ratio or
343- resize in steps of NxM pixels). If the client picks a smaller size and
344- is anchored to two opposite anchors (e.g. 'top' and 'bottom'), the
345- surface will be centered on this axis.
346-
347- If the width or height arguments are zero, it means the client should
348- decide its own window dimension.
349- </description>
350- <arg name="serial" type="uint"/>
351- <arg name="width" type="uint"/>
352- <arg name="height" type="uint"/>
353- </event>
354-
355- <event name="closed">
356- <description summary="surface should be closed">
357- The closed event is sent by the compositor when the surface will no
358- longer be shown. The output may have been destroyed or the user may
359- have asked for it to be removed. Further changes to the surface will be
360- ignored. The client should destroy the resource after receiving this
361- event, and create a new surface if they so choose.
362- </description>
363- </event>
364-
365- <enum name="error">
366- <entry name="invalid_surface_state" value="0" summary="provided surface state is invalid"/>
367- <entry name="invalid_size" value="1" summary="size is invalid"/>
368- <entry name="invalid_anchor" value="2" summary="anchor bitfield is invalid"/>
369- <entry name="invalid_keyboard_interactivity" value="3" summary="keyboard interactivity is invalid"/>
370- <entry name="invalid_exclusive_edge" value="4" summary="exclusive edge is invalid given the surface anchors"/>
371- </enum>
372-
373- <enum name="anchor" bitfield="true">
374- <entry name="top" value="1" summary="the top edge of the anchor rectangle"/>
375- <entry name="bottom" value="2" summary="the bottom edge of the anchor rectangle"/>
376- <entry name="left" value="4" summary="the left edge of the anchor rectangle"/>
377- <entry name="right" value="8" summary="the right edge of the anchor rectangle"/>
378- </enum>
379-
380- <!-- Version 2 additions -->
381-
382- <request name="set_layer" since="2">
383- <description summary="change the layer of the surface">
384- Change the layer that the surface is rendered on.
385-
386- Layer is double-buffered, see wl_surface.commit.
387- </description>
388- <arg name="layer" type="uint" enum="zwlr_layer_shell_v1.layer" summary="layer to move this surface to"/>
389- </request>
390-
391- <!-- Version 5 additions -->
392-
393- <request name="set_exclusive_edge" since="5">
394- <description summary="set the edge the exclusive zone will be applied to">
395- Requests an edge for the exclusive zone to apply. The exclusive
396- edge will be automatically deduced from anchor points when possible,
397- but when the surface is anchored to a corner, it will be necessary
398- to set it explicitly to disambiguate, as it is not possible to deduce
399- which one of the two corner edges should be used.
400-
401- The edge must be one the surface is anchored to, otherwise the
402- invalid_exclusive_edge protocol error will be raised.
403- </description>
404- <arg name="edge" type="uint" enum="anchor"/>
405- </request>
406- </interface>
407-</protocol>
A internal/gen/genutil/genutil.go +39 -0
@@ -0,0 +1,39 @@
1+// Package genutil holds header helpers shared by the client and server
2+// generators.
3+package genutil
4+
5+import "strings"
6+
7+// CommentBlock renders text as "// "-prefixed lines, one per line of text,
8+// each ending in a newline. Surrounding whitespace of text and of every line
9+// is dropped. Empty text yields "".
10+func CommentBlock(text string) string {
11+ text = strings.TrimSpace(text)
12+ if text == "" {
13+ return ""
14+ }
15+ var b strings.Builder
16+ for _, line := range strings.Split(text, "\n") {
17+ b.WriteString("// ")
18+ b.WriteString(strings.TrimSpace(line))
19+ b.WriteByte('\n')
20+ }
21+ return b.String()
22+}
23+
24+// SPDXID returns the SPDX identifier to print in an
25+// "SPDX-License-Identifier:" header line, or "" when id is empty or the
26+// upstream copyright text already holds that exact line.
27+func SPDXID(id, copyright string) string {
28+ id = strings.TrimSpace(id)
29+ if id == "" {
30+ return ""
31+ }
32+ line := "SPDX-License-Identifier: " + id
33+ for _, l := range strings.Split(copyright, "\n") {
34+ if strings.TrimSpace(l) == line {
35+ return ""
36+ }
37+ }
38+ return id
39+}
@@ -0,0 +1,39 @@
1+// Package genutil holds header helpers shared by the client and server
2+// generators.
3+package genutil
4+
5+import "strings"
6+
7+// CommentBlock renders text as "// "-prefixed lines, one per line of text,
8+// each ending in a newline. Surrounding whitespace of text and of every line
9+// is dropped. Empty text yields "".
10+func CommentBlock(text string) string {
11+ text = strings.TrimSpace(text)
12+ if text == "" {
13+ return ""
14+ }
15+ var b strings.Builder
16+ for _, line := range strings.Split(text, "\n") {
17+ b.WriteString("// ")
18+ b.WriteString(strings.TrimSpace(line))
19+ b.WriteByte('\n')
20+ }
21+ return b.String()
22+}
23+
24+// SPDXID returns the SPDX identifier to print in an
25+// "SPDX-License-Identifier:" header line, or "" when id is empty or the
26+// upstream copyright text already holds that exact line.
27+func SPDXID(id, copyright string) string {
28+ id = strings.TrimSpace(id)
29+ if id == "" {
30+ return ""
31+ }
32+ line := "SPDX-License-Identifier: " + id
33+ for _, l := range strings.Split(copyright, "\n") {
34+ if strings.TrimSpace(l) == line {
35+ return ""
36+ }
37+ }
38+ return id
39+}
A internal/gen/genutil/genutil_test.go +24 -0
@@ -0,0 +1,24 @@
1+package genutil
2+
3+import "testing"
4+
5+func TestCommentBlock(t *testing.T) {
6+ if got := CommentBlock(" \n"); got != "" {
7+ t.Errorf("empty = %q", got)
8+ }
9+ if got, want := CommentBlock("\n a\n\n b \n"), "// a\n// \n// b\n"; got != want {
10+ t.Errorf("got %q, want %q", got, want)
11+ }
12+}
13+
14+func TestSPDXID(t *testing.T) {
15+ if got := SPDXID("", "x"); got != "" {
16+ t.Errorf("empty id = %q", got)
17+ }
18+ if got := SPDXID("LGPL-2.1", "x"); got != "LGPL-2.1" {
19+ t.Errorf("got %q", got)
20+ }
21+ if got := SPDXID("LGPL-2.1", "a\n SPDX-License-Identifier: LGPL-2.1\n"); got != "" {
22+ t.Errorf("already present = %q", got)
23+ }
24+}
@@ -0,0 +1,24 @@
1+package genutil
2+
3+import "testing"
4+
5+func TestCommentBlock(t *testing.T) {
6+ if got := CommentBlock(" \n"); got != "" {
7+ t.Errorf("empty = %q", got)
8+ }
9+ if got, want := CommentBlock("\n a\n\n b \n"), "// a\n// \n// b\n"; got != want {
10+ t.Errorf("got %q, want %q", got, want)
11+ }
12+}
13+
14+func TestSPDXID(t *testing.T) {
15+ if got := SPDXID("", "x"); got != "" {
16+ t.Errorf("empty id = %q", got)
17+ }
18+ if got := SPDXID("LGPL-2.1", "x"); got != "LGPL-2.1" {
19+ t.Errorf("got %q", got)
20+ }
21+ if got := SPDXID("LGPL-2.1", "a\n SPDX-License-Identifier: LGPL-2.1\n"); got != "" {
22+ t.Errorf("already present = %q", got)
23+ }
24+}
M internal/gen/server/server.go +21 -3
@@ -10,6 +10,7 @@ import (
1010 "strings"
1111 "unicode"
1212
13+ "github.com/bnema/go-wayland-bindings/internal/gen/genutil"
1314 "github.com/bnema/go-wayland-bindings/spec"
1415 )
1516
@@ -25,6 +26,12 @@ type Options struct {
2526 Owners map[string]string
2627 // Tool is the tool name in the generated-code header (default "wlbgen").
2728 Tool string
29+ // Copyright is the upstream protocol copyright and license text. When
30+ // non-empty it is retained in the header, as the client generator does.
31+ Copyright string
32+ // SPDX, when non-empty, adds an "SPDX-License-Identifier" header line
33+ // unless Copyright already holds that exact line.
34+ SPDX string
2835 }
2936
3037 // Generate returns the gofmt-formatted server bindings for p.
@@ -49,7 +56,7 @@ func Generate(p *spec.Protocol, opts Options) ([]byte, error) {
4956 for _, it := range p.Interfaces {
5057 g.owners[it.Name] = ""
5158 }
52- return g.generate(p, opts.Package, tool)
59+ return g.generate(p, opts.Package, tool, opts)
5360 }
5461
5562 func summary(d *spec.Description) string {
@@ -195,8 +202,19 @@ func (g *gen) params(m spec.Message, event bool) {
195202 g.p(", %s %s", param(a), g.typ(a, event))
196203 }
197204 }
198-func (g *gen) generate(pr *spec.Protocol, pkg, tool string) ([]byte, error) {
199- g.p("// Code generated by %s; DO NOT EDIT.\npackage %s\nimport (\"github.com/bnema/purego-libwayland/server\"\n", tool, pkg)
205+func (g *gen) generate(pr *spec.Protocol, pkg, tool string, opts Options) ([]byte, error) {
206+ g.p("// Code generated by %s; DO NOT EDIT.\n", tool)
207+ spdx := genutil.SPDXID(opts.SPDX, opts.Copyright)
208+ notice := genutil.CommentBlock(opts.Copyright)
209+ if spdx != "" {
210+ g.p("// SPDX-License-Identifier: %s\n", spdx)
211+ }
212+ if notice != "" {
213+ g.p("\n// Upstream protocol copyright and license:\n%s\n", notice)
214+ } else if spdx != "" {
215+ g.p("\n")
216+ }
217+ g.p("package %s\nimport (\"github.com/bnema/purego-libwayland/server\"\n", pkg)
200218 pin := false
201219 for _, it := range pr.Interfaces {
202220 for _, m := range it.Events {
@@ -10,6 +10,7 @@ import (
10 "strings"10 "strings"
11 "unicode"11 "unicode"
12 12
13+ "github.com/bnema/go-wayland-bindings/internal/gen/genutil"
13 "github.com/bnema/go-wayland-bindings/spec"14 "github.com/bnema/go-wayland-bindings/spec"
14 )15 )
15 16
@@ -25,6 +26,12 @@ type Options struct {
25 Owners map[string]string26 Owners map[string]string
26 // Tool is the tool name in the generated-code header (default "wlbgen").27 // Tool is the tool name in the generated-code header (default "wlbgen").
27 Tool string28 Tool string
29+ // Copyright is the upstream protocol copyright and license text. When
30+ // non-empty it is retained in the header, as the client generator does.
31+ Copyright string
32+ // SPDX, when non-empty, adds an "SPDX-License-Identifier" header line
33+ // unless Copyright already holds that exact line.
34+ SPDX string
28 }35 }
29 36
30 // Generate returns the gofmt-formatted server bindings for p.37 // Generate returns the gofmt-formatted server bindings for p.
@@ -49,7 +56,7 @@ func Generate(p *spec.Protocol, opts Options) ([]byte, error) {
49 for _, it := range p.Interfaces {56 for _, it := range p.Interfaces {
50 g.owners[it.Name] = ""57 g.owners[it.Name] = ""
51 }58 }
52- return g.generate(p, opts.Package, tool)59+ return g.generate(p, opts.Package, tool, opts)
53 }60 }
54 61
55 func summary(d *spec.Description) string {62 func summary(d *spec.Description) string {
@@ -195,8 +202,19 @@ func (g *gen) params(m spec.Message, event bool) {
195 g.p(", %s %s", param(a), g.typ(a, event))202 g.p(", %s %s", param(a), g.typ(a, event))
196 }203 }
197 }204 }
198-func (g *gen) generate(pr *spec.Protocol, pkg, tool string) ([]byte, error) {205+func (g *gen) generate(pr *spec.Protocol, pkg, tool string, opts Options) ([]byte, error) {
199- g.p("// Code generated by %s; DO NOT EDIT.\npackage %s\nimport (\"github.com/bnema/purego-libwayland/server\"\n", tool, pkg)206+ g.p("// Code generated by %s; DO NOT EDIT.\n", tool)
207+ spdx := genutil.SPDXID(opts.SPDX, opts.Copyright)
208+ notice := genutil.CommentBlock(opts.Copyright)
209+ if spdx != "" {
210+ g.p("// SPDX-License-Identifier: %s\n", spdx)
211+ }
212+ if notice != "" {
213+ g.p("\n// Upstream protocol copyright and license:\n%s\n", notice)
214+ } else if spdx != "" {
215+ g.p("\n")
216+ }
217+ g.p("package %s\nimport (\"github.com/bnema/purego-libwayland/server\"\n", pkg)
200 pin := false218 pin := false
201 for _, it := range pr.Interfaces {219 for _, it := range pr.Interfaces {
202 for _, m := range it.Events {220 for _, m := range it.Events {
M internal/gen/server/server_test.go +37 -0
@@ -55,3 +55,40 @@ func TestSignature(t *testing.T) {
5555 }
5656 }
5757 }
58+
59+func TestLicenseHeader(t *testing.T) {
60+ p := &spec.Protocol{Interfaces: []spec.Interface{{Name: "test_device", Version: 1}}}
61+ const copyright = "\n Copyright 2024 Someone\n\n Permission is hereby granted\n"
62+ gen := func(o Options) string {
63+ o.Package = "test"
64+ b, err := Generate(p, o)
65+ if err != nil {
66+ t.Fatal(err)
67+ }
68+ return string(b)
69+ }
70+
71+ got := gen(Options{Copyright: copyright, SPDX: "LGPL-2.1-or-later"})
72+ want := "// Code generated by wlbgen; DO NOT EDIT.\n// SPDX-License-Identifier: LGPL-2.1-or-later\n\n" +
73+ "// Upstream protocol copyright and license:\n// Copyright 2024 Someone\n//\n// Permission is hereby granted\n\npackage test\n"
74+ if !strings.HasPrefix(got, want) {
75+ t.Fatalf("header:\n%s\nwant prefix:\n%s", got, want)
76+ }
77+
78+ // An SPDX line already inside the copyright text is not repeated.
79+ got = gen(Options{Copyright: "Copyright X\nSPDX-License-Identifier: MIT\n", SPDX: "MIT"})
80+ if n := strings.Count(got, "SPDX-License-Identifier: MIT"); n != 1 {
81+ t.Fatalf("SPDX line appears %d times:\n%s", n, got)
82+ }
83+
84+ // Copyright without SPDX.
85+ got = gen(Options{Copyright: copyright})
86+ if strings.Contains(got, "SPDX") || !strings.Contains(got, "// Copyright 2024 Someone\n") {
87+ t.Fatalf("unexpected header:\n%s", got)
88+ }
89+
90+ // Neither: the header stays minimal.
91+ if got = gen(Options{}); !strings.HasPrefix(got, "// Code generated by wlbgen; DO NOT EDIT.\npackage test\n") {
92+ t.Fatalf("unexpected header:\n%s", got)
93+ }
94+}
@@ -55,3 +55,40 @@ func TestSignature(t *testing.T) {
55 }55 }
56 }56 }
57 }57 }
58+
59+func TestLicenseHeader(t *testing.T) {
60+ p := &spec.Protocol{Interfaces: []spec.Interface{{Name: "test_device", Version: 1}}}
61+ const copyright = "\n Copyright 2024 Someone\n\n Permission is hereby granted\n"
62+ gen := func(o Options) string {
63+ o.Package = "test"
64+ b, err := Generate(p, o)
65+ if err != nil {
66+ t.Fatal(err)
67+ }
68+ return string(b)
69+ }
70+
71+ got := gen(Options{Copyright: copyright, SPDX: "LGPL-2.1-or-later"})
72+ want := "// Code generated by wlbgen; DO NOT EDIT.\n// SPDX-License-Identifier: LGPL-2.1-or-later\n\n" +
73+ "// Upstream protocol copyright and license:\n// Copyright 2024 Someone\n//\n// Permission is hereby granted\n\npackage test\n"
74+ if !strings.HasPrefix(got, want) {
75+ t.Fatalf("header:\n%s\nwant prefix:\n%s", got, want)
76+ }
77+
78+ // An SPDX line already inside the copyright text is not repeated.
79+ got = gen(Options{Copyright: "Copyright X\nSPDX-License-Identifier: MIT\n", SPDX: "MIT"})
80+ if n := strings.Count(got, "SPDX-License-Identifier: MIT"); n != 1 {
81+ t.Fatalf("SPDX line appears %d times:\n%s", n, got)
82+ }
83+
84+ // Copyright without SPDX.
85+ got = gen(Options{Copyright: copyright})
86+ if strings.Contains(got, "SPDX") || !strings.Contains(got, "// Copyright 2024 Someone\n") {
87+ t.Fatalf("unexpected header:\n%s", got)
88+ }
89+
90+ // Neither: the header stays minimal.
91+ if got = gen(Options{}); !strings.HasPrefix(got, "// Code generated by wlbgen; DO NOT EDIT.\npackage test\n") {
92+ t.Fatalf("unexpected header:\n%s", got)
93+ }
94+}
M server/alphamodifier/alphamodifier_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2024 Xaver Hugl
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package alphamodifier
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2024 Xaver Hugl
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package alphamodifier25 package alphamodifier
3 26
4 import (27 import (
M server/colormanagement/colormanagement_generated.go +28 -0
@@ -1,4 +1,32 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2019 Sebastian Wick
5+// Copyright 2019 Erwin Burema
6+// Copyright 2020 AMD
7+// Copyright 2020-2024 Collabora, Ltd.
8+// Copyright 2024 Xaver Hugl
9+// Copyright 2022-2025 Red Hat, Inc.
10+//
11+// Permission is hereby granted, free of charge, to any person obtaining a
12+// copy of this software and associated documentation files (the "Software"),
13+// to deal in the Software without restriction, including without limitation
14+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
15+// and/or sell copies of the Software, and to permit persons to whom the
16+// Software is furnished to do so, subject to the following conditions:
17+//
18+// The above copyright notice and this permission notice (including the next
19+// paragraph) shall be included in all copies or substantial portions of the
20+// Software.
21+//
22+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28+// DEALINGS IN THE SOFTWARE.
29+
230 package colormanagement
331
432 import (
@@ -1,4 +1,32 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2019 Sebastian Wick
5+// Copyright 2019 Erwin Burema
6+// Copyright 2020 AMD
7+// Copyright 2020-2024 Collabora, Ltd.
8+// Copyright 2024 Xaver Hugl
9+// Copyright 2022-2025 Red Hat, Inc.
10+//
11+// Permission is hereby granted, free of charge, to any person obtaining a
12+// copy of this software and associated documentation files (the "Software"),
13+// to deal in the Software without restriction, including without limitation
14+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
15+// and/or sell copies of the Software, and to permit persons to whom the
16+// Software is furnished to do so, subject to the following conditions:
17+//
18+// The above copyright notice and this permission notice (including the next
19+// paragraph) shall be included in all copies or substantial portions of the
20+// Software.
21+//
22+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28+// DEALINGS IN THE SOFTWARE.
29+
2 package colormanagement30 package colormanagement
3 31
4 import (32 import (
M server/colorrepresentation/colorrepresentation_generated.go +26 -0
@@ -1,4 +1,30 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2022 Simon Ser
5+// Copyright 2022 Red Hat, Inc.
6+// Copyright 2022 Collabora, Ltd.
7+// Copyright 2022-2025 Red Hat, Inc.
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the next
17+// paragraph) shall be included in all copies or substantial portions of the
18+// Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+// DEALINGS IN THE SOFTWARE.
27+
228 package colorrepresentation
329
430 import (
@@ -1,4 +1,30 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2022 Simon Ser
5+// Copyright 2022 Red Hat, Inc.
6+// Copyright 2022 Collabora, Ltd.
7+// Copyright 2022-2025 Red Hat, Inc.
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the next
17+// paragraph) shall be included in all copies or substantial portions of the
18+// Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+// DEALINGS IN THE SOFTWARE.
27+
2 package colorrepresentation28 package colorrepresentation
3 29
4 import (30 import (
M server/committiming/committiming_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2023 Valve Corporation
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package committiming
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2023 Valve Corporation
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package committiming25 package committiming
3 26
4 import (27 import (
M server/contenttype/contenttype_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2021 Emmanuel Gil Peyrot
5+// Copyright © 2022 Xaver Hugl
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package contenttype
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2021 Emmanuel Gil Peyrot
5+// Copyright © 2022 Xaver Hugl
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package contenttype26 package contenttype
3 27
4 import (28 import (
M server/cursorshape/cursorshape_generated.go +22 -0
@@ -1,4 +1,26 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2018 The Chromium Authors
5+// Copyright 2023 Simon Ser
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22+// DEALINGS IN THE SOFTWARE.
23+
224 package cursorshape
325
426 import (
@@ -1,4 +1,26 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2018 The Chromium Authors
5+// Copyright 2023 Simon Ser
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22+// DEALINGS IN THE SOFTWARE.
23+
2 package cursorshape24 package cursorshape
3 25
4 import (26 import (
M server/drmlease/drmlease_generated.go +25 -0
@@ -1,4 +1,29 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 NXP
5+// Copyright © 2019 Status Research & Development GmbH.
6+// Copyright © 2021 Xaver Hugl
7+//
8+// Permission is hereby granted, free of charge, to any person obtaining a
9+// copy of this software and associated documentation files (the "Software"),
10+// to deal in the Software without restriction, including without limitation
11+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12+// and/or sell copies of the Software, and to permit persons to whom the
13+// Software is furnished to do so, subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25+// DEALINGS IN THE SOFTWARE.
26+
227 package drmlease
328
429 import (
@@ -1,4 +1,29 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 NXP
5+// Copyright © 2019 Status Research & Development GmbH.
6+// Copyright © 2021 Xaver Hugl
7+//
8+// Permission is hereby granted, free of charge, to any person obtaining a
9+// copy of this software and associated documentation files (the "Software"),
10+// to deal in the Software without restriction, including without limitation
11+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12+// and/or sell copies of the Software, and to permit persons to whom the
13+// Software is furnished to do so, subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25+// DEALINGS IN THE SOFTWARE.
26+
2 package drmlease27 package drmlease
3 28
4 import (29 import (
M server/extbackgroundeffect/extbackgroundeffect_generated.go +26 -0
@@ -1,4 +1,30 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright (C) 2015 Martin Gräßlin
5+// Copyright (C) 2015 Marco Martin
6+// Copyright (C) 2020 Vlad Zahorodnii
7+// Copyright (C) 2024 Xaver Hugl
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the next
17+// paragraph) shall be included in all copies or substantial portions of the
18+// Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+// DEALINGS IN THE SOFTWARE.
27+
228 package extbackgroundeffect
329
430 import (
@@ -1,4 +1,30 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright (C) 2015 Martin Gräßlin
5+// Copyright (C) 2015 Marco Martin
6+// Copyright (C) 2020 Vlad Zahorodnii
7+// Copyright (C) 2024 Xaver Hugl
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the next
17+// paragraph) shall be included in all copies or substantial portions of the
18+// Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+// DEALINGS IN THE SOFTWARE.
27+
2 package extbackgroundeffect28 package extbackgroundeffect
3 29
4 import (30 import (
M server/extdatacontrol/extdatacontrol_generated.go +27 -0
@@ -1,4 +1,31 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Simon Ser
5+// Copyright © 2019 Ivan Molodetskikh
6+// Copyright © 2024 Neal Gompa
7+//
8+// Permission to use, copy, modify, distribute, and sell this
9+// software and its documentation for any purpose is hereby granted
10+// without fee, provided that the above copyright notice appear in
11+// all copies and that both that copyright notice and this permission
12+// notice appear in supporting documentation, and that the name of
13+// the copyright holders not be used in advertising or publicity
14+// pertaining to distribution of the software without specific,
15+// written prior permission. The copyright holders make no
16+// representations about the suitability of this software for any
17+// purpose. It is provided "as is" without express or implied
18+// warranty.
19+//
20+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
21+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
22+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
23+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
25+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
26+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
27+// THIS SOFTWARE.
28+
229 package extdatacontrol
330
431 import (
@@ -1,4 +1,31 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Simon Ser
5+// Copyright © 2019 Ivan Molodetskikh
6+// Copyright © 2024 Neal Gompa
7+//
8+// Permission to use, copy, modify, distribute, and sell this
9+// software and its documentation for any purpose is hereby granted
10+// without fee, provided that the above copyright notice appear in
11+// all copies and that both that copyright notice and this permission
12+// notice appear in supporting documentation, and that the name of
13+// the copyright holders not be used in advertising or publicity
14+// pertaining to distribution of the software without specific,
15+// written prior permission. The copyright holders make no
16+// representations about the suitability of this software for any
17+// purpose. It is provided "as is" without express or implied
18+// warranty.
19+//
20+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
21+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
22+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
23+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
25+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
26+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
27+// THIS SOFTWARE.
28+
2 package extdatacontrol29 package extdatacontrol
3 30
4 import (31 import (
M server/extforeigntoplevellist/extforeigntoplevellist_generated.go +28 -0
@@ -1,4 +1,32 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Ilia Bozhinov
5+// Copyright © 2020 Isaac Freund
6+// Copyright © 2022 wb9688
7+// Copyright © 2023 i509VCB
8+//
9+// Permission to use, copy, modify, distribute, and sell this
10+// software and its documentation for any purpose is hereby granted
11+// without fee, provided that the above copyright notice appear in
12+// all copies and that both that copyright notice and this permission
13+// notice appear in supporting documentation, and that the name of
14+// the copyright holders not be used in advertising or publicity
15+// pertaining to distribution of the software without specific,
16+// written prior permission. The copyright holders make no
17+// representations about the suitability of this software for any
18+// purpose. It is provided "as is" without express or implied
19+// warranty.
20+//
21+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
22+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
23+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
24+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
25+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
26+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
27+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
28+// THIS SOFTWARE.
29+
230 package extforeigntoplevellist
331
432 import (
@@ -1,4 +1,32 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Ilia Bozhinov
5+// Copyright © 2020 Isaac Freund
6+// Copyright © 2022 wb9688
7+// Copyright © 2023 i509VCB
8+//
9+// Permission to use, copy, modify, distribute, and sell this
10+// software and its documentation for any purpose is hereby granted
11+// without fee, provided that the above copyright notice appear in
12+// all copies and that both that copyright notice and this permission
13+// notice appear in supporting documentation, and that the name of
14+// the copyright holders not be used in advertising or publicity
15+// pertaining to distribution of the software without specific,
16+// written prior permission. The copyright holders make no
17+// representations about the suitability of this software for any
18+// purpose. It is provided "as is" without express or implied
19+// warranty.
20+//
21+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
22+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
23+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
24+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
25+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
26+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
27+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
28+// THIS SOFTWARE.
29+
2 package extforeigntoplevellist30 package extforeigntoplevellist
3 31
4 import (32 import (
M server/extidlenotify/extidlenotify_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015 Martin Gräßlin
5+// Copyright © 2022 Simon Ser
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package extidlenotify
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015 Martin Gräßlin
5+// Copyright © 2022 Simon Ser
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package extidlenotify26 package extidlenotify
3 27
4 import (28 import (
M server/extimagecapturesource/extimagecapturesource_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2022 Andri Yngvason
5+// Copyright © 2024 Simon Ser
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package extimagecapturesource
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2022 Andri Yngvason
5+// Copyright © 2024 Simon Ser
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package extimagecapturesource26 package extimagecapturesource
3 27
4 import (28 import (
M server/extimagecopycapture/extimagecopycapture_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2021-2023 Andri Yngvason
5+// Copyright © 2024 Simon Ser
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package extimagecopycapture
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2021-2023 Andri Yngvason
5+// Copyright © 2024 Simon Ser
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package extimagecopycapture26 package extimagecopycapture
3 27
4 import (28 import (
M server/extsessionlock/extsessionlock_generated.go +22 -0
@@ -1,4 +1,26 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2021 Isaac Freund
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice shall be included in
14+// all copies or substantial portions of the Software.
15+//
16+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22+// THE SOFTWARE.
23+
224 package extsessionlock
325
426 import (
@@ -1,4 +1,26 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2021 Isaac Freund
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice shall be included in
14+// all copies or substantial portions of the Software.
15+//
16+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22+// THE SOFTWARE.
23+
2 package extsessionlock24 package extsessionlock
3 25
4 import (26 import (
M server/exttransientseat/exttransientseat_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2020 - 2023 Andri Yngvason
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package exttransientseat
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2020 - 2023 Andri Yngvason
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package exttransientseat25 package exttransientseat
3 26
4 import (27 import (
M server/extworkspace/extworkspace_generated.go +27 -0
@@ -1,4 +1,31 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2019 Christopher Billington
5+// Copyright © 2020 Ilia Bozhinov
6+// Copyright © 2022 Victoria Brekenfeld
7+//
8+// Permission to use, copy, modify, distribute, and sell this
9+// software and its documentation for any purpose is hereby granted
10+// without fee, provided that the above copyright notice appear in
11+// all copies and that both that copyright notice and this permission
12+// notice appear in supporting documentation, and that the name of
13+// the copyright holders not be used in advertising or publicity
14+// pertaining to distribution of the software without specific,
15+// written prior permission. The copyright holders make no
16+// representations about the suitability of this software for any
17+// purpose. It is provided "as is" without express or implied
18+// warranty.
19+//
20+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
21+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
22+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
23+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
25+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
26+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
27+// THIS SOFTWARE.
28+
229 package extworkspace
330
431 import (
@@ -1,4 +1,31 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2019 Christopher Billington
5+// Copyright © 2020 Ilia Bozhinov
6+// Copyright © 2022 Victoria Brekenfeld
7+//
8+// Permission to use, copy, modify, distribute, and sell this
9+// software and its documentation for any purpose is hereby granted
10+// without fee, provided that the above copyright notice appear in
11+// all copies and that both that copyright notice and this permission
12+// notice appear in supporting documentation, and that the name of
13+// the copyright holders not be used in advertising or publicity
14+// pertaining to distribution of the software without specific,
15+// written prior permission. The copyright holders make no
16+// representations about the suitability of this software for any
17+// purpose. It is provided "as is" without express or implied
18+// warranty.
19+//
20+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
21+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
22+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
23+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
24+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
25+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
26+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
27+// THIS SOFTWARE.
28+
2 package extworkspace29 package extworkspace
3 30
4 import (31 import (
M server/fifo/fifo_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2023 Valve Corporation
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package fifo
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2023 Valve Corporation
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package fifo25 package fifo
3 26
4 import (27 import (
M server/fractionalscale/fractionalscale_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2022 Kenny Levinsen
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package fractionalscale
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2022 Kenny Levinsen
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package fractionalscale25 package fractionalscale
3 26
4 import (27 import (
M server/fullscreenshell/fullscreenshell_generated.go +25 -0
@@ -1,4 +1,29 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2016 Yong Bakos
5+// Copyright © 2015 Jason Ekstrand
6+// Copyright © 2015 Jonas Ådahl
7+//
8+// Permission is hereby granted, free of charge, to any person obtaining a
9+// copy of this software and associated documentation files (the "Software"),
10+// to deal in the Software without restriction, including without limitation
11+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12+// and/or sell copies of the Software, and to permit persons to whom the
13+// Software is furnished to do so, subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25+// DEALINGS IN THE SOFTWARE.
26+
227 package fullscreenshell
328
429 import (
@@ -1,4 +1,29 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2016 Yong Bakos
5+// Copyright © 2015 Jason Ekstrand
6+// Copyright © 2015 Jonas Ådahl
7+//
8+// Permission is hereby granted, free of charge, to any person obtaining a
9+// copy of this software and associated documentation files (the "Software"),
10+// to deal in the Software without restriction, including without limitation
11+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12+// and/or sell copies of the Software, and to permit persons to whom the
13+// Software is furnished to do so, subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25+// DEALINGS IN THE SOFTWARE.
26+
2 package fullscreenshell27 package fullscreenshell
3 28
4 import (29 import (
M server/idleinhibit/idleinhibit_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015 Samsung Electronics Co., Ltd
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package idleinhibit
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015 Samsung Electronics Co., Ltd
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package idleinhibit25 package idleinhibit
3 26
4 import (27 import (
M server/inputmethod/inputmethod_generated.go +29 -0
@@ -1,4 +1,33 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2008-2011 Kristian Høgsberg
5+// Copyright © 2010-2011 Intel Corporation
6+// Copyright © 2012-2013 Collabora, Ltd.
7+// Copyright © 2012, 2013 Intel Corporation
8+// Copyright © 2015, 2016 Jan Arne Petersen
9+// Copyright © 2017, 2018 Red Hat, Inc.
10+// Copyright © 2018 Purism SPC
11+//
12+// Permission is hereby granted, free of charge, to any person obtaining a
13+// copy of this software and associated documentation files (the "Software"),
14+// to deal in the Software without restriction, including without limitation
15+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
16+// and/or sell copies of the Software, and to permit persons to whom the
17+// Software is furnished to do so, subject to the following conditions:
18+//
19+// The above copyright notice and this permission notice (including the next
20+// paragraph) shall be included in all copies or substantial portions of the
21+// Software.
22+//
23+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29+// DEALINGS IN THE SOFTWARE.
30+
231 package inputmethod
332
433 import (
@@ -1,4 +1,33 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2008-2011 Kristian Høgsberg
5+// Copyright © 2010-2011 Intel Corporation
6+// Copyright © 2012-2013 Collabora, Ltd.
7+// Copyright © 2012, 2013 Intel Corporation
8+// Copyright © 2015, 2016 Jan Arne Petersen
9+// Copyright © 2017, 2018 Red Hat, Inc.
10+// Copyright © 2018 Purism SPC
11+//
12+// Permission is hereby granted, free of charge, to any person obtaining a
13+// copy of this software and associated documentation files (the "Software"),
14+// to deal in the Software without restriction, including without limitation
15+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
16+// and/or sell copies of the Software, and to permit persons to whom the
17+// Software is furnished to do so, subject to the following conditions:
18+//
19+// The above copyright notice and this permission notice (including the next
20+// paragraph) shall be included in all copies or substantial portions of the
21+// Software.
22+//
23+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29+// DEALINGS IN THE SOFTWARE.
30+
2 package inputmethod31 package inputmethod
3 32
4 import (33 import (
M server/inputtimestamps/inputtimestamps_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Collabora, Ltd.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package inputtimestamps
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Collabora, Ltd.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package inputtimestamps25 package inputtimestamps
3 26
4 import (27 import (
M server/keyboardshortcutsinhibit/keyboardshortcutsinhibit_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Red Hat Inc.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package keyboardshortcutsinhibit
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Red Hat Inc.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package keyboardshortcutsinhibit25 package keyboardshortcutsinhibit
3 26
4 import (27 import (
M server/linuxdmabuf/linuxdmabuf_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2014, 2015 Collabora, Ltd.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package linuxdmabuf
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2014, 2015 Collabora, Ltd.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package linuxdmabuf25 package linuxdmabuf
3 26
4 import (27 import (
M server/linuxdrmsyncobj/linuxdrmsyncobj_generated.go +26 -0
@@ -1,4 +1,30 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2016 The Chromium Authors.
5+// Copyright 2017 Intel Corporation
6+// Copyright 2018 Collabora, Ltd
7+// Copyright 2021 Simon Ser
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the next
17+// paragraph) shall be included in all copies or substantial portions of the
18+// Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+// DEALINGS IN THE SOFTWARE.
27+
228 package linuxdrmsyncobj
329
430 import (
@@ -1,4 +1,30 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2016 The Chromium Authors.
5+// Copyright 2017 Intel Corporation
6+// Copyright 2018 Collabora, Ltd
7+// Copyright 2021 Simon Ser
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the next
17+// paragraph) shall be included in all copies or substantial portions of the
18+// Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+// DEALINGS IN THE SOFTWARE.
27+
2 package linuxdrmsyncobj28 package linuxdrmsyncobj
3 29
4 import (30 import (
M server/linuxexplicitsynchronization/linuxexplicitsynchronization_generated.go +25 -0
@@ -1,4 +1,29 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2016 The Chromium Authors.
5+// Copyright 2017 Intel Corporation
6+// Copyright 2018 Collabora, Ltd
7+//
8+// Permission is hereby granted, free of charge, to any person obtaining a
9+// copy of this software and associated documentation files (the "Software"),
10+// to deal in the Software without restriction, including without limitation
11+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12+// and/or sell copies of the Software, and to permit persons to whom the
13+// Software is furnished to do so, subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25+// DEALINGS IN THE SOFTWARE.
26+
227 package linuxexplicitsynchronization
328
429 import (
@@ -1,4 +1,29 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2016 The Chromium Authors.
5+// Copyright 2017 Intel Corporation
6+// Copyright 2018 Collabora, Ltd
7+//
8+// Permission is hereby granted, free of charge, to any person obtaining a
9+// copy of this software and associated documentation files (the "Software"),
10+// to deal in the Software without restriction, including without limitation
11+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12+// and/or sell copies of the Software, and to permit persons to whom the
13+// Software is furnished to do so, subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25+// DEALINGS IN THE SOFTWARE.
26+
2 package linuxexplicitsynchronization27 package linuxexplicitsynchronization
3 28
4 import (29 import (
M server/pointerconstraints/pointerconstraints_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2014 Jonas Ådahl
5+// Copyright © 2015 Red Hat Inc.
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package pointerconstraints
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2014 Jonas Ådahl
5+// Copyright © 2015 Red Hat Inc.
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package pointerconstraints26 package pointerconstraints
3 27
4 import (28 import (
M server/pointergestures/pointergestures_generated.go +25 -0
@@ -1,4 +1,29 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015, 2021 Red Hat Inc.
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
227 package pointergestures
328
429 import (
@@ -1,4 +1,29 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015, 2021 Red Hat Inc.
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
2 package pointergestures27 package pointergestures
3 28
4 import (29 import (
M server/pointerwarp/pointerwarp_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2024 Neal Gompa
5+// Copyright © 2024 Xaver Hugl
6+// Copyright © 2024 Matthias Klumpp
7+// Copyright © 2024 Vlad Zahorodnii
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package pointerwarp
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2024 Neal Gompa
5+// Copyright © 2024 Xaver Hugl
6+// Copyright © 2024 Matthias Klumpp
7+// Copyright © 2024 Vlad Zahorodnii
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package pointerwarp26 package pointerwarp
3 27
4 import (28 import (
M server/presentationtime/presentationtime_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2013-2014 Collabora, Ltd.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package presentationtime
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2013-2014 Collabora, Ltd.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package presentationtime25 package presentationtime
3 26
4 import (27 import (
M server/primaryselection/primaryselection_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015, 2016 Red Hat
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package primaryselection
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015, 2016 Red Hat
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package primaryselection25 package primaryselection
3 26
4 import (27 import (
M server/relativepointer/relativepointer_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2014 Jonas Ådahl
5+// Copyright © 2015 Red Hat Inc.
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package relativepointer
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2014 Jonas Ådahl
5+// Copyright © 2015 Red Hat Inc.
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package relativepointer26 package relativepointer
3 27
4 import (28 import (
M server/securitycontext/securitycontext_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2021 Simon Ser
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package securitycontext
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2021 Simon Ser
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package securitycontext25 package securitycontext
3 26
4 import (27 import (
M server/serverdecoration/serverdecoration_generated.go +6 -0
@@ -1,4 +1,10 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// SPDX-FileCopyrightText: 2015 Martin Gräßlin
5+//
6+// SPDX-License-Identifier: LGPL-2.1-or-later
7+
28 package serverdecoration
39
410 import (
@@ -1,4 +1,10 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// SPDX-FileCopyrightText: 2015 Martin Gräßlin
5+//
6+// SPDX-License-Identifier: LGPL-2.1-or-later
7+
2 package serverdecoration8 package serverdecoration
3 9
4 import (10 import (
M server/singlepixelbuffer/singlepixelbuffer_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2022 Simon Ser
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package singlepixelbuffer
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2022 Simon Ser
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package singlepixelbuffer25 package singlepixelbuffer
3 26
4 import (27 import (
M server/tablet/tablet_generated.go +26 -0
@@ -1,4 +1,30 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2014 © Stephen "Lyude" Chandler Paul
5+// Copyright 2015-2024 © Red Hat, Inc.
6+//
7+// Permission is hereby granted, free of charge, to any person
8+// obtaining a copy of this software and associated documentation files
9+// (the "Software"), to deal in the Software without restriction,
10+// including without limitation the rights to use, copy, modify, merge,
11+// publish, distribute, sublicense, and/or sell copies of the Software,
12+// and to permit persons to whom the Software is furnished to do so,
13+// subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the
16+// next paragraph) shall be included in all copies or substantial
17+// portions of the Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
23+// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
24+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25+// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26+// SOFTWARE.
27+
228 package tablet
329
430 import (
@@ -1,4 +1,30 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2014 © Stephen "Lyude" Chandler Paul
5+// Copyright 2015-2024 © Red Hat, Inc.
6+//
7+// Permission is hereby granted, free of charge, to any person
8+// obtaining a copy of this software and associated documentation files
9+// (the "Software"), to deal in the Software without restriction,
10+// including without limitation the rights to use, copy, modify, merge,
11+// publish, distribute, sublicense, and/or sell copies of the Software,
12+// and to permit persons to whom the Software is furnished to do so,
13+// subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the
16+// next paragraph) shall be included in all copies or substantial
17+// portions of the Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
23+// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
24+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25+// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26+// SOFTWARE.
27+
2 package tablet28 package tablet
3 29
4 import (30 import (
M server/tearingcontrol/tearingcontrol_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2021 Xaver Hugl
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package tearingcontrol
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2021 Xaver Hugl
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package tearingcontrol25 package tearingcontrol
3 26
4 import (27 import (
M server/textinput/textinput_generated.go +28 -0
@@ -1,4 +1,32 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2012, 2013 Intel Corporation
5+// Copyright © 2015, 2016 Jan Arne Petersen
6+// Copyright © 2017, 2018 Red Hat, Inc.
7+// Copyright © 2018 Purism SPC
8+//
9+// Permission to use, copy, modify, distribute, and sell this
10+// software and its documentation for any purpose is hereby granted
11+// without fee, provided that the above copyright notice appear in
12+// all copies and that both that copyright notice and this permission
13+// notice appear in supporting documentation, and that the name of
14+// the copyright holders not be used in advertising or publicity
15+// pertaining to distribution of the software without specific,
16+// written prior permission. The copyright holders make no
17+// representations about the suitability of this software for any
18+// purpose. It is provided "as is" without express or implied
19+// warranty.
20+//
21+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
22+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
23+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
24+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
25+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
26+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
27+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
28+// THIS SOFTWARE.
29+
230 package textinput
331
432 import (
@@ -1,4 +1,32 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2012, 2013 Intel Corporation
5+// Copyright © 2015, 2016 Jan Arne Petersen
6+// Copyright © 2017, 2018 Red Hat, Inc.
7+// Copyright © 2018 Purism SPC
8+//
9+// Permission to use, copy, modify, distribute, and sell this
10+// software and its documentation for any purpose is hereby granted
11+// without fee, provided that the above copyright notice appear in
12+// all copies and that both that copyright notice and this permission
13+// notice appear in supporting documentation, and that the name of
14+// the copyright holders not be used in advertising or publicity
15+// pertaining to distribution of the software without specific,
16+// written prior permission. The copyright holders make no
17+// representations about the suitability of this software for any
18+// purpose. It is provided "as is" without express or implied
19+// warranty.
20+//
21+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
22+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
23+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
24+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
25+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
26+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
27+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
28+// THIS SOFTWARE.
29+
2 package textinput30 package textinput
3 31
4 import (32 import (
M server/viewporter/viewporter_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2013-2016 Collabora, Ltd.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package viewporter
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2013-2016 Collabora, Ltd.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package viewporter25 package viewporter
3 26
4 import (27 import (
M server/virtualkeyboard/virtualkeyboard_generated.go +26 -0
@@ -1,4 +1,30 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2008-2011 Kristian Høgsberg
5+// Copyright © 2010-2013 Intel Corporation
6+// Copyright © 2012-2013 Collabora, Ltd.
7+// Copyright © 2018 Purism SPC
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the next
17+// paragraph) shall be included in all copies or substantial portions of the
18+// Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+// DEALINGS IN THE SOFTWARE.
27+
228 package virtualkeyboard
329
430 import (
@@ -1,4 +1,30 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2008-2011 Kristian Høgsberg
5+// Copyright © 2010-2013 Intel Corporation
6+// Copyright © 2012-2013 Collabora, Ltd.
7+// Copyright © 2018 Purism SPC
8+//
9+// Permission is hereby granted, free of charge, to any person obtaining a
10+// copy of this software and associated documentation files (the "Software"),
11+// to deal in the Software without restriction, including without limitation
12+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
13+// and/or sell copies of the Software, and to permit persons to whom the
14+// Software is furnished to do so, subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the next
17+// paragraph) shall be included in all copies or substantial portions of the
18+// Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26+// DEALINGS IN THE SOFTWARE.
27+
2 package virtualkeyboard28 package virtualkeyboard
3 29
4 import (30 import (
M server/wayland/wayland_generated.go +27 -0
@@ -1,4 +1,31 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2008-2011 Kristian Høgsberg
5+// Copyright © 2010-2011 Intel Corporation
6+// Copyright © 2012-2013 Collabora, Ltd.
7+//
8+// Permission is hereby granted, free of charge, to any person
9+// obtaining a copy of this software and associated documentation files
10+// (the "Software"), to deal in the Software without restriction,
11+// including without limitation the rights to use, copy, modify, merge,
12+// publish, distribute, sublicense, and/or sell copies of the Software,
13+// and to permit persons to whom the Software is furnished to do so,
14+// subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the
17+// next paragraph) shall be included in all copies or substantial
18+// portions of the Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
24+// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
25+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
26+// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27+// SOFTWARE.
28+
229 package wayland
330
431 import (
@@ -1,4 +1,31 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2008-2011 Kristian Høgsberg
5+// Copyright © 2010-2011 Intel Corporation
6+// Copyright © 2012-2013 Collabora, Ltd.
7+//
8+// Permission is hereby granted, free of charge, to any person
9+// obtaining a copy of this software and associated documentation files
10+// (the "Software"), to deal in the Software without restriction,
11+// including without limitation the rights to use, copy, modify, merge,
12+// publish, distribute, sublicense, and/or sell copies of the Software,
13+// and to permit persons to whom the Software is furnished to do so,
14+// subject to the following conditions:
15+//
16+// The above copyright notice and this permission notice (including the
17+// next paragraph) shall be included in all copies or substantial
18+// portions of the Software.
19+//
20+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
24+// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
25+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
26+// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27+// SOFTWARE.
28+
2 package wayland29 package wayland
3 30
4 import (31 import (
M server/wlrdatacontrol/wlrdatacontrol_generated.go +26 -0
@@ -1,4 +1,30 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Simon Ser
5+// Copyright © 2019 Ivan Molodetskikh
6+//
7+// Permission to use, copy, modify, distribute, and sell this
8+// software and its documentation for any purpose is hereby granted
9+// without fee, provided that the above copyright notice appear in
10+// all copies and that both that copyright notice and this permission
11+// notice appear in supporting documentation, and that the name of
12+// the copyright holders not be used in advertising or publicity
13+// pertaining to distribution of the software without specific,
14+// written prior permission. The copyright holders make no
15+// representations about the suitability of this software for any
16+// purpose. It is provided "as is" without express or implied
17+// warranty.
18+//
19+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
20+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
21+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
22+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
23+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
24+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
25+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
26+// THIS SOFTWARE.
27+
228 package wlrdatacontrol
329
430 import (
@@ -1,4 +1,30 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Simon Ser
5+// Copyright © 2019 Ivan Molodetskikh
6+//
7+// Permission to use, copy, modify, distribute, and sell this
8+// software and its documentation for any purpose is hereby granted
9+// without fee, provided that the above copyright notice appear in
10+// all copies and that both that copyright notice and this permission
11+// notice appear in supporting documentation, and that the name of
12+// the copyright holders not be used in advertising or publicity
13+// pertaining to distribution of the software without specific,
14+// written prior permission. The copyright holders make no
15+// representations about the suitability of this software for any
16+// purpose. It is provided "as is" without express or implied
17+// warranty.
18+//
19+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
20+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
21+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
22+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
23+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
24+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
25+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
26+// THIS SOFTWARE.
27+
2 package wlrdatacontrol28 package wlrdatacontrol
3 29
4 import (30 import (
M server/wlrexportdmabuf/wlrexportdmabuf_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Rostislav Pehlivanov
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package wlrexportdmabuf
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Rostislav Pehlivanov
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package wlrexportdmabuf25 package wlrexportdmabuf
3 26
4 import (27 import (
M server/wlrforeigntoplevelmanagement/wlrforeigntoplevelmanagement_generated.go +25 -0
@@ -1,4 +1,29 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Ilia Bozhinov
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
227 package wlrforeigntoplevelmanagement
328
429 import (
@@ -1,4 +1,29 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Ilia Bozhinov
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
2 package wlrforeigntoplevelmanagement27 package wlrforeigntoplevelmanagement
3 28
4 import (29 import (
M server/wlrgammacontrol/wlrgammacontrol_generated.go +26 -0
@@ -1,4 +1,30 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015 Giulio camuffo
5+// Copyright © 2018 Simon Ser
6+//
7+// Permission to use, copy, modify, distribute, and sell this
8+// software and its documentation for any purpose is hereby granted
9+// without fee, provided that the above copyright notice appear in
10+// all copies and that both that copyright notice and this permission
11+// notice appear in supporting documentation, and that the name of
12+// the copyright holders not be used in advertising or publicity
13+// pertaining to distribution of the software without specific,
14+// written prior permission. The copyright holders make no
15+// representations about the suitability of this software for any
16+// purpose. It is provided "as is" without express or implied
17+// warranty.
18+//
19+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
20+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
21+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
22+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
23+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
24+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
25+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
26+// THIS SOFTWARE.
27+
228 package wlrgammacontrol
329
430 import (
@@ -1,4 +1,30 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015 Giulio camuffo
5+// Copyright © 2018 Simon Ser
6+//
7+// Permission to use, copy, modify, distribute, and sell this
8+// software and its documentation for any purpose is hereby granted
9+// without fee, provided that the above copyright notice appear in
10+// all copies and that both that copyright notice and this permission
11+// notice appear in supporting documentation, and that the name of
12+// the copyright holders not be used in advertising or publicity
13+// pertaining to distribution of the software without specific,
14+// written prior permission. The copyright holders make no
15+// representations about the suitability of this software for any
16+// purpose. It is provided "as is" without express or implied
17+// warranty.
18+//
19+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
20+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
21+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
22+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
23+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
24+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
25+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
26+// THIS SOFTWARE.
27+
2 package wlrgammacontrol28 package wlrgammacontrol
3 29
4 import (30 import (
M server/wlrinputinhibitor/wlrinputinhibitor_generated.go +25 -0
@@ -1,4 +1,29 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Drew DeVault
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
227 package wlrinputinhibitor
328
429 import (
@@ -1,4 +1,29 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Drew DeVault
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
2 package wlrinputinhibitor27 package wlrinputinhibitor
3 28
4 import (29 import (
M server/wlrlayershell/wlrlayershell_generated.go +25 -0
@@ -1,4 +1,29 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Drew DeVault
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
227 package wlrlayershell
328
429 import (
@@ -1,4 +1,29 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Drew DeVault
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
2 package wlrlayershell27 package wlrlayershell
3 28
4 import (29 import (
M server/wlroutputmanagement/wlroutputmanagement_generated.go +25 -0
@@ -1,4 +1,29 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2019 Purism SPC
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
227 package wlroutputmanagement
328
429 import (
@@ -1,4 +1,29 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2019 Purism SPC
5+//
6+// Permission to use, copy, modify, distribute, and sell this
7+// software and its documentation for any purpose is hereby granted
8+// without fee, provided that the above copyright notice appear in
9+// all copies and that both that copyright notice and this permission
10+// notice appear in supporting documentation, and that the name of
11+// the copyright holders not be used in advertising or publicity
12+// pertaining to distribution of the software without specific,
13+// written prior permission. The copyright holders make no
14+// representations about the suitability of this software for any
15+// purpose. It is provided "as is" without express or implied
16+// warranty.
17+//
18+// THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
19+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
20+// FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
21+// SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
22+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
23+// AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
24+// ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
25+// THIS SOFTWARE.
26+
2 package wlroutputmanagement27 package wlroutputmanagement
3 28
4 import (29 import (
M server/wlroutputpowermanagement/wlroutputpowermanagement_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2019 Purism SPC
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package wlroutputpowermanagement
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2019 Purism SPC
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package wlroutputpowermanagement25 package wlroutputpowermanagement
3 26
4 import (27 import (
M server/wlrscreencopy/wlrscreencopy_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Simon Ser
5+// Copyright © 2019 Andri Yngvason
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package wlrscreencopy
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Simon Ser
5+// Copyright © 2019 Andri Yngvason
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package wlrscreencopy26 package wlrscreencopy
3 27
4 import (28 import (
M server/wlrvirtualpointer/wlrvirtualpointer_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2019 Josef Gajdusek
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package wlrvirtualpointer
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2019 Josef Gajdusek
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package wlrvirtualpointer25 package wlrvirtualpointer
3 26
4 import (27 import (
M server/xdgactivation/xdgactivation_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2020 Aleix Pol Gonzalez <aleixpol@kde.org>
5+// Copyright © 2020 Carlos Garnacho <carlosg@gnome.org>
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package xdgactivation
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2020 Aleix Pol Gonzalez <aleixpol@kde.org>
5+// Copyright © 2020 Carlos Garnacho <carlosg@gnome.org>
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package xdgactivation26 package xdgactivation
3 27
4 import (28 import (
M server/xdgdecoration/xdgdecoration_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Simon Ser
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package xdgdecoration
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2018 Simon Ser
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package xdgdecoration25 package xdgdecoration
3 26
4 import (27 import (
M server/xdgdialog/xdgdialog_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2023 Carlos Garnacho
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package xdgdialog
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2023 Carlos Garnacho
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package xdgdialog25 package xdgdialog
3 26
4 import (27 import (
M server/xdgforeign/xdgforeign_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015-2016 Red Hat Inc.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package xdgforeign
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2015-2016 Red Hat Inc.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package xdgforeign25 package xdgforeign
3 26
4 import (27 import (
M server/xdgoutput/xdgoutput_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Red Hat Inc.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package xdgoutput
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Red Hat Inc.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package xdgoutput25 package xdgoutput
3 26
4 import (27 import (
M server/xdgsessionmanagement/xdgsessionmanagement_generated.go +25 -0
@@ -1,4 +1,29 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2018 Mike Blumenkrantz
5+// Copyright 2018 Samsung Electronics Co., Ltd
6+// Copyright 2018 Red Hat Inc.
7+//
8+// Permission is hereby granted, free of charge, to any person obtaining a
9+// copy of this software and associated documentation files (the "Software"),
10+// to deal in the Software without restriction, including without limitation
11+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12+// and/or sell copies of the Software, and to permit persons to whom the
13+// Software is furnished to do so, subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25+// DEALINGS IN THE SOFTWARE.
26+
227 package xdgsessionmanagement
328
429 import (
@@ -1,4 +1,29 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2018 Mike Blumenkrantz
5+// Copyright 2018 Samsung Electronics Co., Ltd
6+// Copyright 2018 Red Hat Inc.
7+//
8+// Permission is hereby granted, free of charge, to any person obtaining a
9+// copy of this software and associated documentation files (the "Software"),
10+// to deal in the Software without restriction, including without limitation
11+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
12+// and/or sell copies of the Software, and to permit persons to whom the
13+// Software is furnished to do so, subject to the following conditions:
14+//
15+// The above copyright notice and this permission notice (including the next
16+// paragraph) shall be included in all copies or substantial portions of the
17+// Software.
18+//
19+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25+// DEALINGS IN THE SOFTWARE.
26+
2 package xdgsessionmanagement27 package xdgsessionmanagement
3 28
4 import (29 import (
M server/xdgshell/xdgshell_generated.go +28 -0
@@ -1,4 +1,32 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2008-2013 Kristian Høgsberg
5+// Copyright © 2013 Rafael Antognolli
6+// Copyright © 2013 Jasper St. Pierre
7+// Copyright © 2010-2013 Intel Corporation
8+// Copyright © 2015-2017 Samsung Electronics Co., Ltd
9+// Copyright © 2015-2017 Red Hat Inc.
10+//
11+// Permission is hereby granted, free of charge, to any person obtaining a
12+// copy of this software and associated documentation files (the "Software"),
13+// to deal in the Software without restriction, including without limitation
14+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
15+// and/or sell copies of the Software, and to permit persons to whom the
16+// Software is furnished to do so, subject to the following conditions:
17+//
18+// The above copyright notice and this permission notice (including the next
19+// paragraph) shall be included in all copies or substantial portions of the
20+// Software.
21+//
22+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28+// DEALINGS IN THE SOFTWARE.
29+
230 package xdgshell
331
432 import (
@@ -1,4 +1,32 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2008-2013 Kristian Høgsberg
5+// Copyright © 2013 Rafael Antognolli
6+// Copyright © 2013 Jasper St. Pierre
7+// Copyright © 2010-2013 Intel Corporation
8+// Copyright © 2015-2017 Samsung Electronics Co., Ltd
9+// Copyright © 2015-2017 Red Hat Inc.
10+//
11+// Permission is hereby granted, free of charge, to any person obtaining a
12+// copy of this software and associated documentation files (the "Software"),
13+// to deal in the Software without restriction, including without limitation
14+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
15+// and/or sell copies of the Software, and to permit persons to whom the
16+// Software is furnished to do so, subject to the following conditions:
17+//
18+// The above copyright notice and this permission notice (including the next
19+// paragraph) shall be included in all copies or substantial portions of the
20+// Software.
21+//
22+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28+// DEALINGS IN THE SOFTWARE.
29+
2 package xdgshell30 package xdgshell
3 31
4 import (32 import (
M server/xdgsystembell/xdgsystembell_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2016, 2023 Red Hat
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package xdgsystembell
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2016, 2023 Red Hat
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package xdgsystembell25 package xdgsystembell
3 26
4 import (27 import (
M server/xdgtopleveldrag/xdgtopleveldrag_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2023 David Redondo
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package xdgtopleveldrag
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright 2023 David Redondo
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package xdgtopleveldrag25 package xdgtopleveldrag
3 26
4 import (27 import (
M server/xdgtoplevelicon/xdgtoplevelicon_generated.go +24 -0
@@ -1,4 +1,28 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2023-2024 Matthias Klumpp
5+// Copyright © 2024 David Edmundson
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
226 package xdgtoplevelicon
327
428 import (
@@ -1,4 +1,28 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2023-2024 Matthias Klumpp
5+// Copyright © 2024 David Edmundson
6+//
7+// Permission is hereby granted, free of charge, to any person obtaining a
8+// copy of this software and associated documentation files (the "Software"),
9+// to deal in the Software without restriction, including without limitation
10+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
11+// and/or sell copies of the Software, and to permit persons to whom the
12+// Software is furnished to do so, subject to the following conditions:
13+//
14+// The above copyright notice and this permission notice (including the next
15+// paragraph) shall be included in all copies or substantial portions of the
16+// Software.
17+//
18+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24+// DEALINGS IN THE SOFTWARE.
25+
2 package xdgtoplevelicon26 package xdgtoplevelicon
3 27
4 import (28 import (
M server/xdgtopleveltag/xdgtopleveltag_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2024 Xaver Hugl
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package xdgtopleveltag
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2024 Xaver Hugl
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package xdgtopleveltag25 package xdgtopleveltag
3 26
4 import (27 import (
M server/xwaylandkeyboardgrab/xwaylandkeyboardgrab_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Red Hat Inc.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package xwaylandkeyboardgrab
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2017 Red Hat Inc.
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package xwaylandkeyboardgrab25 package xwaylandkeyboardgrab
3 26
4 import (27 import (
M server/xwaylandshell/xwaylandshell_generated.go +23 -0
@@ -1,4 +1,27 @@
11 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2022 Joshua Ashton
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
225 package xwaylandshell
326
427 import (
@@ -1,4 +1,27 @@
1 // Code generated by wlbgen; DO NOT EDIT.1 // Code generated by wlbgen; DO NOT EDIT.
2+
3+// Upstream protocol copyright and license:
4+// Copyright © 2022 Joshua Ashton
5+//
6+// Permission is hereby granted, free of charge, to any person obtaining a
7+// copy of this software and associated documentation files (the "Software"),
8+// to deal in the Software without restriction, including without limitation
9+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
10+// and/or sell copies of the Software, and to permit persons to whom the
11+// Software is furnished to do so, subject to the following conditions:
12+//
13+// The above copyright notice and this permission notice (including the next
14+// paragraph) shall be included in all copies or substantial portions of the
15+// Software.
16+//
17+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+// DEALINGS IN THE SOFTWARE.
24+
2 package xwaylandshell25 package xwaylandshell
3 26
4 import (27 import (
M spec/manifest.go +5 -0
@@ -73,6 +73,11 @@ func Open(pkg string) ([]byte, error) {
7373 if err != nil {
7474 return nil, err
7575 }
76+ return m.Open(pkg)
77+}
78+
79+// Open returns the embedded XML of package pkg, which must be listed in m.
80+func (m *Manifest) Open(pkg string) ([]byte, error) {
7681 e, ok := m.Package(pkg)
7782 if !ok {
7883 return nil, fmt.Errorf("unknown protocol package %q", pkg)
@@ -73,6 +73,11 @@ func Open(pkg string) ([]byte, error) {
73 if err != nil {73 if err != nil {
74 return nil, err74 return nil, err
75 }75 }
76+ return m.Open(pkg)
77+}
78+
79+// Open returns the embedded XML of package pkg, which must be listed in m.
80+func (m *Manifest) Open(pkg string) ([]byte, error) {
76 e, ok := m.Package(pkg)81 e, ok := m.Package(pkg)
77 if !ok {82 if !ok {
78 return nil, fmt.Errorf("unknown protocol package %q", pkg)83 return nil, fmt.Errorf("unknown protocol package %q", pkg)
M spec/protocol.go +0 -8
@@ -78,14 +78,6 @@ func Parse(data []byte) (*Protocol, error) {
7878 return &p, nil
7979 }
8080
81-// SinceOrOne returns the message version, treating an absent "since" as 1.
82-func (m Message) SinceOrOne() int {
83- if m.Since < 1 {
84- return 1
85- }
86- return m.Since
87-}
88-
8981 // ReferencedInterfaces returns the interfaces named by arguments of p, in
9082 // first-seen order, without duplicates.
9183 func (p *Protocol) ReferencedInterfaces() []string {
@@ -78,14 +78,6 @@ func Parse(data []byte) (*Protocol, error) {
78 return &p, nil78 return &p, nil
79 }79 }
80 80
81-// SinceOrOne returns the message version, treating an absent "since" as 1.
82-func (m Message) SinceOrOne() int {
83- if m.Since < 1 {
84- return 1
85- }
86- return m.Since
87-}
88-
89 // ReferencedInterfaces returns the interfaces named by arguments of p, in81 // ReferencedInterfaces returns the interfaces named by arguments of p, in
90 // first-seen order, without duplicates.82 // first-seen order, without duplicates.
91 func (p *Protocol) ReferencedInterfaces() []string {83 func (p *Protocol) ReferencedInterfaces() []string {
M spec/protocol_test.go +0 -6
@@ -72,12 +72,6 @@ func TestParseWayland(t *testing.T) {
7272 if release.Type != "destructor" || release.Since != 3 {
7373 t.Errorf("wl_pointer.release = type %q since %d", release.Type, release.Since)
7474 }
75- if got := findMessage(t, findInterface(t, p, "wl_pointer").Requests, "set_cursor").SinceOrOne(); got != 1 {
76- t.Errorf("SinceOrOne of unversioned message = %d, want 1", got)
77- }
78- if got := release.SinceOrOne(); got != 3 {
79- t.Errorf("SinceOrOne = %d, want 3", got)
80- }
8175
8276 // since on an enum.
8377 if e := findEnum(t, findInterface(t, p, "wl_data_device_manager"), "dnd_action"); !e.Bitfield || e.Since != 3 {
@@ -72,12 +72,6 @@ func TestParseWayland(t *testing.T) {
72 if release.Type != "destructor" || release.Since != 3 {72 if release.Type != "destructor" || release.Since != 3 {
73 t.Errorf("wl_pointer.release = type %q since %d", release.Type, release.Since)73 t.Errorf("wl_pointer.release = type %q since %d", release.Type, release.Since)
74 }74 }
75- if got := findMessage(t, findInterface(t, p, "wl_pointer").Requests, "set_cursor").SinceOrOne(); got != 1 {
76- t.Errorf("SinceOrOne of unversioned message = %d, want 1", got)
77- }
78- if got := release.SinceOrOne(); got != 3 {
79- t.Errorf("SinceOrOne = %d, want 3", got)
80- }
81 75
82 // since on an enum.76 // since on an enum.
83 if e := findEnum(t, findInterface(t, p, "wl_data_device_manager"), "dnd_action"); !e.Bitfield || e.Since != 3 {77 if e := findEnum(t, findInterface(t, p, "wl_data_device_manager"), "dnd_action"); !e.Bitfield || e.Since != 3 {

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 1

↑↓ moveenter openesc close