detached 45b5ee0

Merge pull request #344 from bnema/chore/upstream-foundations

chore(deps): integrate approved upstream foundations
commit
45b5ee02d70d8fc7b30a18e2b5f30c2c77afb1f2
author
bnema · · 2026-07-14 17:16 UTC
committer
GitHub · · 2026-07-14 17:16 UTC
merge of
41933ea + a161e34 · diff against the first parent
signature
GPG UnverifiedB5690EEEBB952194 The key is unknown
921 files · +28709 -25527
M docs/first-presentation.md +5 -2
@@ -46,5 +46,8 @@ labels. Set `DUMBER_MACHINE_GPU_PROFILE` to one of `generic-gpu`,
4646 `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`;
4747 do not use a device model or other identifier. Publish only the seven reviewed
4848 JSON files to an external Gist. Raw logs and temporary XDG homes are removed and
49-must not be published. A missing or incomplete timeline, non-DMABUF backend, or
50-invalid run fails collection.
49+must not be published. `metadata.json` derives the selected
50+`github.com/bnema/purego-cef2gtk` pseudo-version and its full immutable Git
51+origin hash from Go module metadata; branch selectors or missing origin metadata
52+fail collection. A missing or incomplete timeline, non-DMABUF backend, or invalid
53+run also fails collection.
@@ -46,5 +46,8 @@ labels. Set `DUMBER_MACHINE_GPU_PROFILE` to one of `generic-gpu`,
46 `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`;46 `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`;
47 do not use a device model or other identifier. Publish only the seven reviewed47 do not use a device model or other identifier. Publish only the seven reviewed
48 JSON files to an external Gist. Raw logs and temporary XDG homes are removed and48 JSON files to an external Gist. Raw logs and temporary XDG homes are removed and
49-must not be published. A missing or incomplete timeline, non-DMABUF backend, or49+must not be published. `metadata.json` derives the selected
50-invalid run fails collection.50+`github.com/bnema/purego-cef2gtk` pseudo-version and its full immutable Git
51+origin hash from Go module metadata; branch selectors or missing origin metadata
52+fail collection. A missing or incomplete timeline, non-DMABUF backend, or invalid
53+run also fails collection.
M go.mod +5 -5
@@ -6,11 +6,11 @@ require (
66 github.com/a-h/templ v0.3.1020
77 github.com/andybalholm/brotli v1.2.2
88 github.com/bnema/purego v0.11.0-bnema.4
9- github.com/bnema/purego-cef v0.13.3
10- github.com/bnema/purego-cef2gtk v0.8.4
11- github.com/bnema/purego-pipewire v0.1.4
12- github.com/bnema/purego-sqlite v0.1.3
13- github.com/bnema/puregotk v0.7.0
9+ github.com/bnema/purego-cef v0.13.4-0.20260714140305-f0b7414af67e
10+ github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe
11+ github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a
12+ github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c
13+ github.com/bnema/puregotk v0.7.1-0.20260714170452-0b6b9b901234
1414 github.com/charmbracelet/bubbles v1.0.0
1515 github.com/charmbracelet/bubbletea v1.3.10
1616 github.com/charmbracelet/lipgloss v1.1.0
@@ -6,11 +6,11 @@ require (
6 github.com/a-h/templ v0.3.10206 github.com/a-h/templ v0.3.1020
7 github.com/andybalholm/brotli v1.2.27 github.com/andybalholm/brotli v1.2.2
8 github.com/bnema/purego v0.11.0-bnema.48 github.com/bnema/purego v0.11.0-bnema.4
9- github.com/bnema/purego-cef v0.13.39+ github.com/bnema/purego-cef v0.13.4-0.20260714140305-f0b7414af67e
10- github.com/bnema/purego-cef2gtk v0.8.410+ github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe
11- github.com/bnema/purego-pipewire v0.1.411+ github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a
12- github.com/bnema/purego-sqlite v0.1.312+ github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c
13- github.com/bnema/puregotk v0.7.013+ github.com/bnema/puregotk v0.7.1-0.20260714170452-0b6b9b901234
14 github.com/charmbracelet/bubbles v1.0.014 github.com/charmbracelet/bubbles v1.0.0
15 github.com/charmbracelet/bubbletea v1.3.1015 github.com/charmbracelet/bubbletea v1.3.10
16 github.com/charmbracelet/lipgloss v1.1.016 github.com/charmbracelet/lipgloss v1.1.0
M go.sum +12 -0 generated file: collapsed
A internal/infrastructure/persistence/sqlite/history_repo_benchmark_test.go +71 -0
@@ -0,0 +1,71 @@
1+package sqlite_test
2+
3+import (
4+ "fmt"
5+ "path/filepath"
6+ "testing"
7+
8+ "github.com/bnema/dumber/internal/domain/entity"
9+ "github.com/bnema/dumber/internal/domain/repository"
10+ "github.com/bnema/dumber/internal/infrastructure/persistence/sqlite"
11+)
12+
13+// newHistoryBenchmarkRepository creates a representative local history corpus
14+// outside the measured operation. Sidebar reads use GetRecent and omnibox
15+// history suggestions use Search.
16+func newHistoryBenchmarkRepository(b *testing.B) (repository.HistoryRepository, func()) {
17+ b.Helper()
18+
19+ ctx := historyTestCtx()
20+ db, err := sqlite.NewConnection(ctx, filepath.Join(b.TempDir(), "dumber.db"))
21+ if err != nil {
22+ b.Fatal(err)
23+ }
24+
25+ b.Cleanup(func() {
26+ if err := db.Close(); err != nil {
27+ b.Errorf("close benchmark database: %v", err)
28+ }
29+ })
30+
31+ repo := sqlite.NewHistoryRepository(db)
32+ for i := range 200 {
33+ entry := &entity.HistoryEntry{
34+ URL: fmt.Sprintf("https://example%d.test/dumber/history/%d", i%20, i),
35+ Title: fmt.Sprintf("Dumber history entry %d", i),
36+ }
37+ if err := repo.Save(ctx, entry); err != nil {
38+ b.Fatal(err)
39+ }
40+ }
41+
42+ return repo, func() {}
43+}
44+
45+func BenchmarkHistorySQLiteSidebarRecent(b *testing.B) {
46+ repo, closeDB := newHistoryBenchmarkRepository(b)
47+ defer closeDB()
48+ ctx := historyTestCtx()
49+
50+ b.ReportAllocs()
51+ b.ResetTimer()
52+ for range b.N {
53+ if _, err := repo.GetRecent(ctx, 50, 0); err != nil {
54+ b.Fatal(err)
55+ }
56+ }
57+}
58+
59+func BenchmarkHistorySQLiteOmniboxSearch(b *testing.B) {
60+ repo, closeDB := newHistoryBenchmarkRepository(b)
61+ defer closeDB()
62+ ctx := historyTestCtx()
63+
64+ b.ReportAllocs()
65+ b.ResetTimer()
66+ for range b.N {
67+ if _, err := repo.Search(ctx, "dumber history", 10); err != nil {
68+ b.Fatal(err)
69+ }
70+ }
71+}
@@ -0,0 +1,71 @@
1+package sqlite_test
2+
3+import (
4+ "fmt"
5+ "path/filepath"
6+ "testing"
7+
8+ "github.com/bnema/dumber/internal/domain/entity"
9+ "github.com/bnema/dumber/internal/domain/repository"
10+ "github.com/bnema/dumber/internal/infrastructure/persistence/sqlite"
11+)
12+
13+// newHistoryBenchmarkRepository creates a representative local history corpus
14+// outside the measured operation. Sidebar reads use GetRecent and omnibox
15+// history suggestions use Search.
16+func newHistoryBenchmarkRepository(b *testing.B) (repository.HistoryRepository, func()) {
17+ b.Helper()
18+
19+ ctx := historyTestCtx()
20+ db, err := sqlite.NewConnection(ctx, filepath.Join(b.TempDir(), "dumber.db"))
21+ if err != nil {
22+ b.Fatal(err)
23+ }
24+
25+ b.Cleanup(func() {
26+ if err := db.Close(); err != nil {
27+ b.Errorf("close benchmark database: %v", err)
28+ }
29+ })
30+
31+ repo := sqlite.NewHistoryRepository(db)
32+ for i := range 200 {
33+ entry := &entity.HistoryEntry{
34+ URL: fmt.Sprintf("https://example%d.test/dumber/history/%d", i%20, i),
35+ Title: fmt.Sprintf("Dumber history entry %d", i),
36+ }
37+ if err := repo.Save(ctx, entry); err != nil {
38+ b.Fatal(err)
39+ }
40+ }
41+
42+ return repo, func() {}
43+}
44+
45+func BenchmarkHistorySQLiteSidebarRecent(b *testing.B) {
46+ repo, closeDB := newHistoryBenchmarkRepository(b)
47+ defer closeDB()
48+ ctx := historyTestCtx()
49+
50+ b.ReportAllocs()
51+ b.ResetTimer()
52+ for range b.N {
53+ if _, err := repo.GetRecent(ctx, 50, 0); err != nil {
54+ b.Fatal(err)
55+ }
56+ }
57+}
58+
59+func BenchmarkHistorySQLiteOmniboxSearch(b *testing.B) {
60+ repo, closeDB := newHistoryBenchmarkRepository(b)
61+ defer closeDB()
62+ ctx := historyTestCtx()
63+
64+ b.ReportAllocs()
65+ b.ResetTimer()
66+ for range b.N {
67+ if _, err := repo.Search(ctx, "dumber history", 10); err != nil {
68+ b.Fatal(err)
69+ }
70+ }
71+}
M internal/logging/first_presentation_collector_test.go +132 -1
@@ -2,6 +2,7 @@ package logging
22
33 import (
44 "encoding/json"
5+ "fmt"
56 "os"
67 "os/exec"
78 "path/filepath"
@@ -143,8 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
143144 }
144145 for _, required := range []string{
145146 `"measured_source_revision"`,
147+ `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`,
146148 `"tag": "v0.8.4"`,
147- `"revision": "f217ece342dea3ef2a3f98671fcd16a39ad0037d"`,
149+ `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`,
148150 } {
149151 require.Contains(t, artifacts.String(), required)
150152 }
@@ -166,6 +168,135 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
166168 require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile)
167169 }
168170
171+func TestFirstPresentationCollectorDerivesSelectedImmutableModuleProvenance(t *testing.T) {
172+ repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
173+ require.NoError(t, err)
174+ temp := t.TempDir()
175+ runtime := filepath.Join(temp, "cef-147-runtime")
176+ require.NoError(t, os.Mkdir(runtime, 0o755))
177+ binary := filepath.Join(temp, "dumber")
178+ require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
179+
180+ // This exact pseudo-version is deliberately newer than the former v0.8.4
181+ // hardcode; the collector must report what the selected module says.
182+ const version = "v0.8.5-0.20300102030405-bbd397409ebe"
183+ const revision = "bbd397409ebed75a5979c1e4566a2ef319f6a484"
184+ goBin := collectorProvenanceGo(t, temp, version, revision, "")
185+ output := filepath.Join(temp, "artifacts")
186+ cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
187+ cmd.Dir = repoRoot
188+ cmd.Env = append(os.Environ(),
189+ "DISPLAY=:test",
190+ "DUMBER_CEF_DIR="+runtime,
191+ "DUMBER_FIRST_PRESENTATION_BIN="+binary,
192+ "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
193+ "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1",
194+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
195+ )
196+ result, err := cmd.CombinedOutput()
197+ require.NoErrorf(t, err, "collector failed: %s", result)
198+
199+ var metadata struct {
200+ Upstream struct {
201+ Module string `json:"module"`
202+ Version string `json:"version"`
203+ Tag string `json:"tag"`
204+ Revision string `json:"revision"`
205+ } `json:"upstream"`
206+ }
207+ contents, err := os.ReadFile(filepath.Join(output, "metadata.json"))
208+ require.NoError(t, err)
209+ require.NoError(t, json.Unmarshal(contents, &metadata))
210+ require.Equal(t, "github.com/bnema/purego-cef2gtk", metadata.Upstream.Module)
211+ require.Equal(t, version, metadata.Upstream.Version)
212+ require.Equal(t, "v0.8.5", metadata.Upstream.Tag)
213+ require.Equal(t, revision, metadata.Upstream.Revision)
214+
215+ script, err := os.ReadFile(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
216+ require.NoError(t, err)
217+ require.NotContains(t, string(script), "f217ece342dea3ef2a3f98671fcd16a39ad0037d")
218+}
219+
220+func TestFirstPresentationCollectorRejectsNonImmutableModuleProvenanceWithoutLeaks(t *testing.T) {
221+ repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
222+ require.NoError(t, err)
223+
224+ for _, test := range []struct {
225+ name, version, revision, ref string
226+ }{
227+ {name: "branch selector", version: "main", ref: "main"},
228+ {name: "missing origin", version: "v0.8.5-0.20300102030405-bbd397409ebe"},
229+ {name: "named origin ref", version: "v0.8.5-0.20300102030405-bbd397409ebe", revision: "bbd397409ebed75a5979c1e4566a2ef319f6a484", ref: "main"},
230+ } {
231+ t.Run(test.name, func(t *testing.T) {
232+ temp := t.TempDir()
233+ runtime := filepath.Join(temp, "cef-147-runtime")
234+ require.NoError(t, os.Mkdir(runtime, 0o755))
235+ binary := filepath.Join(temp, "dumber")
236+ require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
237+
238+ goBin := collectorProvenanceGo(t, temp, test.version, test.revision, test.ref)
239+ output := filepath.Join(temp, "artifacts")
240+ cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
241+ cmd.Dir = repoRoot
242+ cmd.Env = append(os.Environ(),
243+ "DISPLAY=:test",
244+ "DUMBER_CEF_DIR="+runtime,
245+ "DUMBER_FIRST_PRESENTATION_BIN="+binary,
246+ "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
247+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
248+ )
249+ result, runErr := cmd.CombinedOutput()
250+ require.Errorf(t, runErr, "collector accepted nonimmutable module provenance: %s", result)
251+ require.Contains(t, string(result), "immutable module provenance is unavailable")
252+ require.NotContains(t, string(result), temp)
253+ require.NoFileExists(t, filepath.Join(output, "metadata.json"))
254+ for _, name := range runArtifactNames() {
255+ require.NoFileExists(t, filepath.Join(output, name))
256+ }
257+ })
258+ }
259+}
260+
261+func collectorProvenanceGo(t *testing.T, temp, version, revision, ref string) string {
262+ t.Helper()
263+ infoPath := filepath.Join(temp, "module.info")
264+ info := map[string]any{"Version": version}
265+ if revision != "" {
266+ info["Origin"] = map[string]string{
267+ "VCS": "git", "URL": "https://github.com/bnema/purego-cef2gtk", "Hash": revision, "Ref": ref,
268+ }
269+ }
270+ infoJSON, err := json.Marshal(info)
271+ require.NoError(t, err)
272+ require.NoError(t, os.WriteFile(infoPath, infoJSON, 0o600))
273+
274+ selectedJSON, err := json.Marshal(map[string]string{
275+ "Path": "github.com/bnema/purego-cef2gtk", "Version": version,
276+ })
277+ require.NoError(t, err)
278+ downloadedJSON, err := json.Marshal(map[string]string{
279+ "Path": "github.com/bnema/purego-cef2gtk", "Version": version, "Info": infoPath,
280+ })
281+ require.NoError(t, err)
282+ binDir := filepath.Join(temp, "bin")
283+ require.NoError(t, os.Mkdir(binDir, 0o755))
284+ goBin := filepath.Join(binDir, "go")
285+ script := fmt.Sprintf(`#!/bin/sh
286+if [ "$1" = "list" ] && [ "$2" = "-m" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk" ]; then
287+ printf '%%s\n' '%s'
288+ exit 0
289+fi
290+if [ "$1" = "mod" ] && [ "$2" = "download" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk@%s" ]; then
291+ printf '%%s\n' '%s'
292+ exit 0
293+fi
294+exit 1
295+`, selectedJSON, version, downloadedJSON)
296+ require.NoError(t, os.WriteFile(goBin, []byte(script), 0o755))
297+ return goBin
298+}
299+
169300 func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) {
170301 repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
171302 require.NoError(t, err)
@@ -2,6 +2,7 @@ package logging
2 2
3 import (3 import (
4 "encoding/json"4 "encoding/json"
5+ "fmt"
5 "os"6 "os"
6 "os/exec"7 "os/exec"
7 "path/filepath"8 "path/filepath"
@@ -143,8 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
143 }144 }
144 for _, required := range []string{145 for _, required := range []string{
145 `"measured_source_revision"`,146 `"measured_source_revision"`,
147+ `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`,
146 `"tag": "v0.8.4"`,148 `"tag": "v0.8.4"`,
147- `"revision": "f217ece342dea3ef2a3f98671fcd16a39ad0037d"`,149+ `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`,
148 } {150 } {
149 require.Contains(t, artifacts.String(), required)151 require.Contains(t, artifacts.String(), required)
150 }152 }
@@ -166,6 +168,135 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
166 require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile)168 require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile)
167 }169 }
168 170
171+func TestFirstPresentationCollectorDerivesSelectedImmutableModuleProvenance(t *testing.T) {
172+ repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
173+ require.NoError(t, err)
174+ temp := t.TempDir()
175+ runtime := filepath.Join(temp, "cef-147-runtime")
176+ require.NoError(t, os.Mkdir(runtime, 0o755))
177+ binary := filepath.Join(temp, "dumber")
178+ require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
179+
180+ // This exact pseudo-version is deliberately newer than the former v0.8.4
181+ // hardcode; the collector must report what the selected module says.
182+ const version = "v0.8.5-0.20300102030405-bbd397409ebe"
183+ const revision = "bbd397409ebed75a5979c1e4566a2ef319f6a484"
184+ goBin := collectorProvenanceGo(t, temp, version, revision, "")
185+ output := filepath.Join(temp, "artifacts")
186+ cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
187+ cmd.Dir = repoRoot
188+ cmd.Env = append(os.Environ(),
189+ "DISPLAY=:test",
190+ "DUMBER_CEF_DIR="+runtime,
191+ "DUMBER_FIRST_PRESENTATION_BIN="+binary,
192+ "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
193+ "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1",
194+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
195+ )
196+ result, err := cmd.CombinedOutput()
197+ require.NoErrorf(t, err, "collector failed: %s", result)
198+
199+ var metadata struct {
200+ Upstream struct {
201+ Module string `json:"module"`
202+ Version string `json:"version"`
203+ Tag string `json:"tag"`
204+ Revision string `json:"revision"`
205+ } `json:"upstream"`
206+ }
207+ contents, err := os.ReadFile(filepath.Join(output, "metadata.json"))
208+ require.NoError(t, err)
209+ require.NoError(t, json.Unmarshal(contents, &metadata))
210+ require.Equal(t, "github.com/bnema/purego-cef2gtk", metadata.Upstream.Module)
211+ require.Equal(t, version, metadata.Upstream.Version)
212+ require.Equal(t, "v0.8.5", metadata.Upstream.Tag)
213+ require.Equal(t, revision, metadata.Upstream.Revision)
214+
215+ script, err := os.ReadFile(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
216+ require.NoError(t, err)
217+ require.NotContains(t, string(script), "f217ece342dea3ef2a3f98671fcd16a39ad0037d")
218+}
219+
220+func TestFirstPresentationCollectorRejectsNonImmutableModuleProvenanceWithoutLeaks(t *testing.T) {
221+ repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
222+ require.NoError(t, err)
223+
224+ for _, test := range []struct {
225+ name, version, revision, ref string
226+ }{
227+ {name: "branch selector", version: "main", ref: "main"},
228+ {name: "missing origin", version: "v0.8.5-0.20300102030405-bbd397409ebe"},
229+ {name: "named origin ref", version: "v0.8.5-0.20300102030405-bbd397409ebe", revision: "bbd397409ebed75a5979c1e4566a2ef319f6a484", ref: "main"},
230+ } {
231+ t.Run(test.name, func(t *testing.T) {
232+ temp := t.TempDir()
233+ runtime := filepath.Join(temp, "cef-147-runtime")
234+ require.NoError(t, os.Mkdir(runtime, 0o755))
235+ binary := filepath.Join(temp, "dumber")
236+ require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
237+
238+ goBin := collectorProvenanceGo(t, temp, test.version, test.revision, test.ref)
239+ output := filepath.Join(temp, "artifacts")
240+ cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
241+ cmd.Dir = repoRoot
242+ cmd.Env = append(os.Environ(),
243+ "DISPLAY=:test",
244+ "DUMBER_CEF_DIR="+runtime,
245+ "DUMBER_FIRST_PRESENTATION_BIN="+binary,
246+ "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
247+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
248+ )
249+ result, runErr := cmd.CombinedOutput()
250+ require.Errorf(t, runErr, "collector accepted nonimmutable module provenance: %s", result)
251+ require.Contains(t, string(result), "immutable module provenance is unavailable")
252+ require.NotContains(t, string(result), temp)
253+ require.NoFileExists(t, filepath.Join(output, "metadata.json"))
254+ for _, name := range runArtifactNames() {
255+ require.NoFileExists(t, filepath.Join(output, name))
256+ }
257+ })
258+ }
259+}
260+
261+func collectorProvenanceGo(t *testing.T, temp, version, revision, ref string) string {
262+ t.Helper()
263+ infoPath := filepath.Join(temp, "module.info")
264+ info := map[string]any{"Version": version}
265+ if revision != "" {
266+ info["Origin"] = map[string]string{
267+ "VCS": "git", "URL": "https://github.com/bnema/purego-cef2gtk", "Hash": revision, "Ref": ref,
268+ }
269+ }
270+ infoJSON, err := json.Marshal(info)
271+ require.NoError(t, err)
272+ require.NoError(t, os.WriteFile(infoPath, infoJSON, 0o600))
273+
274+ selectedJSON, err := json.Marshal(map[string]string{
275+ "Path": "github.com/bnema/purego-cef2gtk", "Version": version,
276+ })
277+ require.NoError(t, err)
278+ downloadedJSON, err := json.Marshal(map[string]string{
279+ "Path": "github.com/bnema/purego-cef2gtk", "Version": version, "Info": infoPath,
280+ })
281+ require.NoError(t, err)
282+ binDir := filepath.Join(temp, "bin")
283+ require.NoError(t, os.Mkdir(binDir, 0o755))
284+ goBin := filepath.Join(binDir, "go")
285+ script := fmt.Sprintf(`#!/bin/sh
286+if [ "$1" = "list" ] && [ "$2" = "-m" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk" ]; then
287+ printf '%%s\n' '%s'
288+ exit 0
289+fi
290+if [ "$1" = "mod" ] && [ "$2" = "download" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk@%s" ]; then
291+ printf '%%s\n' '%s'
292+ exit 0
293+fi
294+exit 1
295+`, selectedJSON, version, downloadedJSON)
296+ require.NoError(t, os.WriteFile(goBin, []byte(script), 0o755))
297+ return goBin
298+}
299+
169 func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) {300 func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) {
170 repoRoot, err := filepath.Abs(filepath.Join("..", ".."))301 repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
171 require.NoError(t, err)302 require.NoError(t, err)
M scripts/collect_first_presentation.sh +78 -9
@@ -31,8 +31,78 @@ else
3131 fi
3232 readonly output
3333 readonly upstream_module="github.com/bnema/purego-cef2gtk"
34-readonly upstream_tag="v0.8.4"
35-readonly upstream_revision="f217ece342dea3ef2a3f98671fcd16a39ad0037d"
34+
35+# Resolve the version selected by this checkout, then obtain its immutable VCS
36+# origin from Go's cached module metadata. Do not infer a revision from a tag,
37+# a branch, or a truncated pseudo-version suffix.
38+resolve_upstream_provenance() {
39+ local selected_metadata selected_version downloaded_metadata
40+
41+ selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || {
42+ echo "first-presentation: immutable module provenance is unavailable" >&2
43+ exit 2
44+ }
45+ selected_version="$(python3 - "$upstream_module" "$selected_metadata" <<'PY'
46+import json, sys
47+try:
48+ metadata = json.loads(sys.argv[2])
49+ if metadata.get("Path") != sys.argv[1] or not isinstance(metadata.get("Version"), str):
50+ raise ValueError
51+ print(metadata["Version"])
52+except (AttributeError, TypeError, ValueError, json.JSONDecodeError):
53+ raise SystemExit("first-presentation: immutable module provenance is unavailable")
54+PY
55+)" || exit $?
56+ downloaded_metadata="$(go mod download -json "$upstream_module@$selected_version" 2>/dev/null)" || {
57+ echo "first-presentation: immutable module provenance is unavailable" >&2
58+ exit 2
59+ }
60+
61+ python3 - "$upstream_module" "$selected_metadata" "$downloaded_metadata" <<'PY'
62+import json, re, sys
63+
64+module, selected_raw, downloaded_raw = sys.argv[1:]
65+
66+def fail():
67+ # Do not expose Go cache locations or other machine-local values.
68+ raise SystemExit("first-presentation: immutable module provenance is unavailable")
69+
70+try:
71+ selected = json.loads(selected_raw)
72+ downloaded = json.loads(downloaded_raw)
73+ version = selected["Version"]
74+ if selected.get("Path") != module or downloaded.get("Path") != module:
75+ fail()
76+ if downloaded.get("Version") != version:
77+ fail()
78+ # A selected pseudo-version is an exact immutable selector, never a branch.
79+ match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version)
80+ if not match:
81+ fail()
82+ info_path = downloaded.get("Info")
83+ if not isinstance(info_path, str) or not info_path:
84+ fail()
85+ with open(info_path, encoding="utf-8") as info_file:
86+ info = json.load(info_file)
87+ origin = info.get("Origin") or downloaded.get("Origin")
88+ if info.get("Version") != version or not isinstance(origin, dict):
89+ fail()
90+ revision = origin.get("Hash")
91+ if origin.get("VCS") != "git" or origin.get("URL") != "https://github.com/bnema/purego-cef2gtk":
92+ fail()
93+ if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision):
94+ fail()
95+ if not revision.startswith(match.group(2)):
96+ fail()
97+ # A named ref can move. Only the immutable hash itself is acceptable.
98+ if origin.get("Ref") not in (None, "", revision):
99+ fail()
100+except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError):
101+ fail()
102+
103+print("\t".join((version, match.group(1), revision)))
104+PY
105+}
36106
37107 # The artifact destination is caller-controlled. Never empty or recursively
38108 # clear it: collection only writes to a newly-created directory whose parent is
@@ -66,10 +136,9 @@ prepare_output
66136 [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; }
67137 [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; }
68138 [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; }
69-[[ "$(go list -m -f '{{.Version}}' "$upstream_module")" == "$upstream_tag" ]] || {
70- echo "first-presentation: expected $upstream_module@$upstream_tag" >&2
71- exit 2
72-}
139+upstream_provenance="$(resolve_upstream_provenance)" || exit $?
140+IFS=$'\t' read -r upstream_version upstream_tag upstream_revision <<<"$upstream_provenance"
141+readonly upstream_version upstream_tag upstream_revision
73142
74143 # Raw logs and temporary XDG homes may contain machine-local paths. Keep them
75144 # outside the committed artifact directory and always remove them.
@@ -80,9 +149,9 @@ cleanup_work_root() {
80149 rm -rf -- "$work_root"
81150 }
82151 trap cleanup_work_root EXIT
83-python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_tag" "$upstream_revision" <<'PY'
152+python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_version" "$upstream_tag" "$upstream_revision" <<'PY'
84153 import hashlib, json, os, platform, subprocess, sys
85-path, binary, timeout, upstream_module, upstream_tag, upstream_revision = sys.argv[1:]
154+path, binary, timeout, upstream_module, upstream_version, upstream_tag, upstream_revision = sys.argv[1:]
86155 with open(binary, "rb") as candidate:
87156 binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest()
88157
@@ -102,7 +171,7 @@ json.dump({
102171 "binary": {"label": "dumber", "sha256": binary_sha256},
103172 "timeout_seconds": int(timeout),
104173 "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(),
105- "upstream": {"module": upstream_module, "tag": upstream_tag, "revision": upstream_revision},
174+ "upstream": {"module": upstream_module, "version": upstream_version, "tag": upstream_tag, "revision": upstream_revision},
106175 "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile},
107176 "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"}
108177 }, open(path, "w"), indent=2, sort_keys=True)
@@ -31,8 +31,78 @@ else
31 fi31 fi
32 readonly output32 readonly output
33 readonly upstream_module="github.com/bnema/purego-cef2gtk"33 readonly upstream_module="github.com/bnema/purego-cef2gtk"
34-readonly upstream_tag="v0.8.4"34+
35-readonly upstream_revision="f217ece342dea3ef2a3f98671fcd16a39ad0037d"35+# Resolve the version selected by this checkout, then obtain its immutable VCS
36+# origin from Go's cached module metadata. Do not infer a revision from a tag,
37+# a branch, or a truncated pseudo-version suffix.
38+resolve_upstream_provenance() {
39+ local selected_metadata selected_version downloaded_metadata
40+
41+ selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || {
42+ echo "first-presentation: immutable module provenance is unavailable" >&2
43+ exit 2
44+ }
45+ selected_version="$(python3 - "$upstream_module" "$selected_metadata" <<'PY'
46+import json, sys
47+try:
48+ metadata = json.loads(sys.argv[2])
49+ if metadata.get("Path") != sys.argv[1] or not isinstance(metadata.get("Version"), str):
50+ raise ValueError
51+ print(metadata["Version"])
52+except (AttributeError, TypeError, ValueError, json.JSONDecodeError):
53+ raise SystemExit("first-presentation: immutable module provenance is unavailable")
54+PY
55+)" || exit $?
56+ downloaded_metadata="$(go mod download -json "$upstream_module@$selected_version" 2>/dev/null)" || {
57+ echo "first-presentation: immutable module provenance is unavailable" >&2
58+ exit 2
59+ }
60+
61+ python3 - "$upstream_module" "$selected_metadata" "$downloaded_metadata" <<'PY'
62+import json, re, sys
63+
64+module, selected_raw, downloaded_raw = sys.argv[1:]
65+
66+def fail():
67+ # Do not expose Go cache locations or other machine-local values.
68+ raise SystemExit("first-presentation: immutable module provenance is unavailable")
69+
70+try:
71+ selected = json.loads(selected_raw)
72+ downloaded = json.loads(downloaded_raw)
73+ version = selected["Version"]
74+ if selected.get("Path") != module or downloaded.get("Path") != module:
75+ fail()
76+ if downloaded.get("Version") != version:
77+ fail()
78+ # A selected pseudo-version is an exact immutable selector, never a branch.
79+ match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version)
80+ if not match:
81+ fail()
82+ info_path = downloaded.get("Info")
83+ if not isinstance(info_path, str) or not info_path:
84+ fail()
85+ with open(info_path, encoding="utf-8") as info_file:
86+ info = json.load(info_file)
87+ origin = info.get("Origin") or downloaded.get("Origin")
88+ if info.get("Version") != version or not isinstance(origin, dict):
89+ fail()
90+ revision = origin.get("Hash")
91+ if origin.get("VCS") != "git" or origin.get("URL") != "https://github.com/bnema/purego-cef2gtk":
92+ fail()
93+ if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision):
94+ fail()
95+ if not revision.startswith(match.group(2)):
96+ fail()
97+ # A named ref can move. Only the immutable hash itself is acceptable.
98+ if origin.get("Ref") not in (None, "", revision):
99+ fail()
100+except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError):
101+ fail()
102+
103+print("\t".join((version, match.group(1), revision)))
104+PY
105+}
36 106
37 # The artifact destination is caller-controlled. Never empty or recursively107 # The artifact destination is caller-controlled. Never empty or recursively
38 # clear it: collection only writes to a newly-created directory whose parent is108 # clear it: collection only writes to a newly-created directory whose parent is
@@ -66,10 +136,9 @@ prepare_output
66 [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; }136 [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; }
67 [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; }137 [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; }
68 [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; }138 [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; }
69-[[ "$(go list -m -f '{{.Version}}' "$upstream_module")" == "$upstream_tag" ]] || {139+upstream_provenance="$(resolve_upstream_provenance)" || exit $?
70- echo "first-presentation: expected $upstream_module@$upstream_tag" >&2140+IFS=$'\t' read -r upstream_version upstream_tag upstream_revision <<<"$upstream_provenance"
71- exit 2141+readonly upstream_version upstream_tag upstream_revision
72-}
73 142
74 # Raw logs and temporary XDG homes may contain machine-local paths. Keep them143 # Raw logs and temporary XDG homes may contain machine-local paths. Keep them
75 # outside the committed artifact directory and always remove them.144 # outside the committed artifact directory and always remove them.
@@ -80,9 +149,9 @@ cleanup_work_root() {
80 rm -rf -- "$work_root"149 rm -rf -- "$work_root"
81 }150 }
82 trap cleanup_work_root EXIT151 trap cleanup_work_root EXIT
83-python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_tag" "$upstream_revision" <<'PY'152+python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_version" "$upstream_tag" "$upstream_revision" <<'PY'
84 import hashlib, json, os, platform, subprocess, sys153 import hashlib, json, os, platform, subprocess, sys
85-path, binary, timeout, upstream_module, upstream_tag, upstream_revision = sys.argv[1:]154+path, binary, timeout, upstream_module, upstream_version, upstream_tag, upstream_revision = sys.argv[1:]
86 with open(binary, "rb") as candidate:155 with open(binary, "rb") as candidate:
87 binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest()156 binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest()
88 157
@@ -102,7 +171,7 @@ json.dump({
102 "binary": {"label": "dumber", "sha256": binary_sha256},171 "binary": {"label": "dumber", "sha256": binary_sha256},
103 "timeout_seconds": int(timeout),172 "timeout_seconds": int(timeout),
104 "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(),173 "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(),
105- "upstream": {"module": upstream_module, "tag": upstream_tag, "revision": upstream_revision},174+ "upstream": {"module": upstream_module, "version": upstream_version, "tag": upstream_tag, "revision": upstream_revision},
106 "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile},175 "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile},
107 "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"}176 "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"}
108 }, open(path, "w"), indent=2, sort_keys=True)177 }, open(path, "w"), indent=2, sort_keys=True)
M vendor/github.com/bnema/purego-cef/cef/bridge.go +8 -13 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/cefadapter/accelerated_paint.go +34 -37 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/dmabuf/frame.go +38 -19 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/gtkgdk/renderer.go +89 -69 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/player.go +5 -0 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/player_rt.go +10 -6 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/pwbuffer.go +66 -32 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/driver/driver.go +268 -63 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/core/db.go +8 -0 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/core/rows.go +13 -0 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/loader/loader.go +23 -5 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/ports/in/ports_gen.go +3 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/internal/core/core.go +197 -4 generated file: collapsed
M vendor/github.com/bnema/puregotk/pkg/core/core.go +10 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-dialog.go +99 -64 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-window.go +95 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-accent-color.go +7 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-action-row.go +33 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-alert-dialog.go +66 -47 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-target.go +10 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-util.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-avatar.go +22 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-banner.go +23 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bin.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bottom-sheet.go +47 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint-bin.go +10 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint.go +33 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-content.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-row.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-dots.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-lines.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel.go +47 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-layout.go +14 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-scrollable.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-combo-row.go +34 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-dialog.go +45 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-easing.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-entry-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-enum-list-model.go +13 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-expander-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-flap.go +61 -48 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-fold-threshold-policy.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-header-bar.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-inline-view-switcher.go +18 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout-slot.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout.go +7 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-leaflet.go +69 -56 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-length-unit.go +5 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-main.go +5 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-message-dialog.go +63 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-multi-layout-view.go +17 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-direction.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-split-view.go +36 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-view.go +60 -49 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-overlay-split-view.go +48 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-password-entry-row.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-dialog.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-group.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-page.go +38 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-row.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-window.go +31 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcut-label.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-dialog.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-item.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-section.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-item.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-section.go +24 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar.go +41 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spin-row.go +40 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner-paintable.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-split-button.go +39 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-animation.go +34 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-params.go +17 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-squeezer.go +49 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-status-page.go +20 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-style-manager.go +25 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipe-tracker.go +33 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipeable.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-switch-row.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-bar.go +35 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-button.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-overview.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-view.go +123 -87 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-timed-animation.go +30 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast-overlay.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast.go +41 -36 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toggle-group.go +64 -51 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toolbar-view.go +40 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-version.go +7 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-stack.go +78 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-bar.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-sidebar.go +15 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-title.go +19 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher.go +10 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window-title.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-box.go +66 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-layout.go +57 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/cairo/main.go +36 -79 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkapplaunchcontext.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairo.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairocontext.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcicpparams.go +20 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkclipboard.go +34 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcolorstate.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentdeserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentformats.go +28 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentprovider.go +23 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcursor.go +12 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevice.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicepad.go +27 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicetool.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplay.go +51 -43 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplaymanager.go +10 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexture.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexturebuilder.go +53 -41 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrag.go +20 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurface.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurfacesize.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrawcontext.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrop.go +19 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkenums.go +21 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkevents.go +120 -118 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkframeclock.go +22 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkframetimings.go +17 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkglcontext.go +40 -36 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexture.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexturebuilder.go +41 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkkeys.go +19 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexture.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexturebuilder.go +42 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmonitor.go +27 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpaintable.go +63 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpango.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpixbuf.go +2 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpopup.go +47 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpopuplayout.go +36 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkrgba.go +19 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkseat.go +11 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdksnapshot.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdksurface.go +46 -40
@@ -5,7 +5,6 @@ import (
55 "structs"
66 "unsafe"
77
8- "github.com/bnema/purego"
98 "github.com/bnema/puregotk/pkg/core"
109 "github.com/bnema/puregotk/v4/cairo"
1110 "github.com/bnema/puregotk/v4/glib"
@@ -45,6 +44,7 @@ type Surface struct {
4544 var xSurfaceGLibType func() types.GType
4645
4746 func SurfaceGLibType() types.GType {
47+ core.LazyRegister(&xSurfaceGLibType, "GDK", "gdk_surface_get_type", false)
4848 return xSurfaceGLibType()
4949 }
5050
@@ -61,6 +61,7 @@ var xNewSurfacePopup func(uintptr, bool) uintptr
6161 // The surface will be attached to @parent and can be positioned
6262 // relative to it using [method@Gdk.Popup.present].
6363 func NewSurfacePopup(ParentVar *Surface, AutohideVar bool) *Surface {
64+ core.LazyRegister(&xNewSurfacePopup, "GDK", "gdk_surface_new_popup", false)
6465 var cls *Surface
6566
6667 cret := xNewSurfacePopup(ParentVar.GoPointer(), AutohideVar)
@@ -77,6 +78,7 @@ var xNewSurfaceToplevel func(uintptr) uintptr
7778
7879 // Creates a new toplevel surface.
7980 func NewSurfaceToplevel(DisplayVar *Display) *Surface {
81+ core.LazyRegister(&xNewSurfaceToplevel, "GDK", "gdk_surface_new_toplevel", false)
8082 var cls *Surface
8183
8284 cret := xNewSurfaceToplevel(DisplayVar.GoPointer())
@@ -96,6 +98,8 @@ var xSurfaceBeep func(uintptr)
9698 // If the display of @surface does not support per-surface beeps,
9799 // emits a short beep on the display just as [method@Gdk.Display.beep].
98100 func (x *Surface) Beep() {
101+ core.LazyRegister(&xSurfaceBeep, "GDK", "gdk_surface_beep", false)
102+
99103 xSurfaceBeep(x.GoPointer())
100104 }
101105
@@ -103,6 +107,7 @@ var xSurfaceCreateCairoContext func(uintptr) uintptr
103107
104108 // Creates a new `GdkCairoContext` for rendering on @surface.
105109 func (x *Surface) CreateCairoContext() *CairoContext {
110+ core.LazyRegister(&xSurfaceCreateCairoContext, "GDK", "gdk_surface_create_cairo_context", false)
106111 var cls *CairoContext
107112
108113 cret := xSurfaceCreateCairoContext(x.GoPointer())
@@ -124,6 +129,7 @@ var xSurfaceCreateGlContext func(uintptr, **glib.Error) uintptr
124129 // Before using the returned `GdkGLContext`, you will need to
125130 // call [method@Gdk.GLContext.make_current] or [method@Gdk.GLContext.realize].
126131 func (x *Surface) CreateGlContext() (*GLContext, error) {
132+ core.LazyRegister(&xSurfaceCreateGlContext, "GDK", "gdk_surface_create_gl_context", false)
127133 var cls *GLContext
128134 var cerr *glib.Error
129135
@@ -158,6 +164,8 @@ var xSurfaceCreateSimilarSurface func(uintptr, cairo.Content, int, int) uintptr
158164 // pointer to a “nil” surface if @other is already in an error state
159165 // or any other error occurs.
160166 func (x *Surface) CreateSimilarSurface(ContentVar cairo.Content, WidthVar int, HeightVar int) *cairo.Surface {
167+ core.LazyRegister(&xSurfaceCreateSimilarSurface, "GDK", "gdk_surface_create_similar_surface", false)
168+
161169 cret := xSurfaceCreateSimilarSurface(x.GoPointer(), ContentVar, WidthVar, HeightVar)
162170 if cret == 0 {
163171 return nil
@@ -169,6 +177,7 @@ var xSurfaceCreateVulkanContext func(uintptr, **glib.Error) uintptr
169177
170178 // Sets an error and returns %NULL.
171179 func (x *Surface) CreateVulkanContext() (*VulkanContext, error) {
180+ core.LazyRegister(&xSurfaceCreateVulkanContext, "GDK", "gdk_surface_create_vulkan_context", false)
172181 var cls *VulkanContext
173182 var cerr *glib.Error
174183
@@ -197,6 +206,8 @@ var xSurfaceDestroy func(uintptr)
197206 // reference count reaches zero. You must call this function yourself
198207 // before that happens.
199208 func (x *Surface) Destroy() {
209+ core.LazyRegister(&xSurfaceDestroy, "GDK", "gdk_surface_destroy", false)
210+
200211 xSurfaceDestroy(x.GoPointer())
201212 }
202213
@@ -210,6 +221,7 @@ var xSurfaceGetCursor func(uintptr) uintptr
210221 //
211222 // Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface.
212223 func (x *Surface) GetCursor() *Cursor {
224+ core.LazyRegister(&xSurfaceGetCursor, "GDK", "gdk_surface_get_cursor", false)
213225 var cls *Cursor
214226
215227 cret := xSurfaceGetCursor(x.GoPointer())
@@ -233,6 +245,7 @@ var xSurfaceGetDeviceCursor func(uintptr, uintptr) uintptr
233245 //
234246 // Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface.
235247 func (x *Surface) GetDeviceCursor(DeviceVar *Device) *Cursor {
248+ core.LazyRegister(&xSurfaceGetDeviceCursor, "GDK", "gdk_surface_get_device_cursor", false)
236249 var cls *Cursor
237250
238251 cret := xSurfaceGetDeviceCursor(x.GoPointer(), DeviceVar.GoPointer())
@@ -253,6 +266,8 @@ var xSurfaceGetDevicePosition func(uintptr, uintptr, *float64, *float64, *Modifi
253266 // The position is given in coordinates relative to the upper
254267 // left corner of @surface.
255268 func (x *Surface) GetDevicePosition(DeviceVar *Device, XVar *float64, YVar *float64, MaskVar *ModifierType) bool {
269+ core.LazyRegister(&xSurfaceGetDevicePosition, "GDK", "gdk_surface_get_device_position", false)
270+
256271 cret := xSurfaceGetDevicePosition(x.GoPointer(), DeviceVar.GoPointer(), XVar, YVar, MaskVar)
257272 return cret
258273 }
@@ -261,6 +276,7 @@ var xSurfaceGetDisplay func(uintptr) uintptr
261276
262277 // Gets the `GdkDisplay` associated with a `GdkSurface`.
263278 func (x *Surface) GetDisplay() *Display {
279+ core.LazyRegister(&xSurfaceGetDisplay, "GDK", "gdk_surface_get_display", false)
264280 var cls *Display
265281
266282 cret := xSurfaceGetDisplay(x.GoPointer())
@@ -281,6 +297,7 @@ var xSurfaceGetFrameClock func(uintptr) uintptr
281297 // The frame clock for a surface never changes unless the surface is
282298 // reparented to a new toplevel surface.
283299 func (x *Surface) GetFrameClock() *FrameClock {
300+ core.LazyRegister(&xSurfaceGetFrameClock, "GDK", "gdk_surface_get_frame_clock", false)
284301 var cls *FrameClock
285302
286303 cret := xSurfaceGetFrameClock(x.GoPointer())
@@ -301,6 +318,8 @@ var xSurfaceGetHeight func(uintptr) int
301318 // Surface size is reported in ”application pixels”, not
302319 // ”device pixels” (see [method@Gdk.Surface.get_scale_factor]).
303320 func (x *Surface) GetHeight() int {
321+ core.LazyRegister(&xSurfaceGetHeight, "GDK", "gdk_surface_get_height", false)
322+
304323 cret := xSurfaceGetHeight(x.GoPointer())
305324 return cret
306325 }
@@ -312,6 +331,8 @@ var xSurfaceGetMapped func(uintptr) bool
312331 // A surface is mapped with [method@Gdk.Toplevel.present]
313332 // or [method@Gdk.Popup.present].
314333 func (x *Surface) GetMapped() bool {
334+ core.LazyRegister(&xSurfaceGetMapped, "GDK", "gdk_surface_get_mapped", false)
335+
315336 cret := xSurfaceGetMapped(x.GoPointer())
316337 return cret
317338 }
@@ -330,6 +351,8 @@ var xSurfaceGetScale func(uintptr) float64
330351 //
331352 // The scale may change during the lifetime of the surface.
332353 func (x *Surface) GetScale() float64 {
354+ core.LazyRegister(&xSurfaceGetScale, "GDK", "gdk_surface_get_scale", false)
355+
333356 cret := xSurfaceGetScale(x.GoPointer())
334357 return cret
335358 }
@@ -348,6 +371,8 @@ var xSurfaceGetScaleFactor func(uintptr) int
348371 //
349372 // The scale factor may change during the lifetime of the surface.
350373 func (x *Surface) GetScaleFactor() int {
374+ core.LazyRegister(&xSurfaceGetScaleFactor, "GDK", "gdk_surface_get_scale_factor", false)
375+
351376 cret := xSurfaceGetScaleFactor(x.GoPointer())
352377 return cret
353378 }
@@ -359,6 +384,8 @@ var xSurfaceGetWidth func(uintptr) int
359384 // Surface size is reported in ”application pixels”, not
360385 // ”device pixels” (see [method@Gdk.Surface.get_scale_factor]).
361386 func (x *Surface) GetWidth() int {
387+ core.LazyRegister(&xSurfaceGetWidth, "GDK", "gdk_surface_get_width", false)
388+
362389 cret := xSurfaceGetWidth(x.GoPointer())
363390 return cret
364391 }
@@ -372,6 +399,8 @@ var xSurfaceHide func(uintptr)
372399 // they won’t be displayed. Normally done automatically as
373400 // part of [gtk_widget_hide()](../gtk4/method.Widget.hide.html).
374401 func (x *Surface) Hide() {
402+ core.LazyRegister(&xSurfaceHide, "GDK", "gdk_surface_hide", false)
403+
375404 xSurfaceHide(x.GoPointer())
376405 }
377406
@@ -379,6 +408,8 @@ var xSurfaceIsDestroyed func(uintptr) bool
379408
380409 // Check to see if a surface is destroyed.
381410 func (x *Surface) IsDestroyed() bool {
411+ core.LazyRegister(&xSurfaceIsDestroyed, "GDK", "gdk_surface_is_destroyed", false)
412+
382413 cret := xSurfaceIsDestroyed(x.GoPointer())
383414 return cret
384415 }
@@ -391,6 +422,8 @@ var xSurfaceQueueRender func(uintptr)
391422 // This function is useful for implementations that track invalid
392423 // regions on their own.
393424 func (x *Surface) QueueRender() {
425+ core.LazyRegister(&xSurfaceQueueRender, "GDK", "gdk_surface_queue_render", false)
426+
394427 xSurfaceQueueRender(x.GoPointer())
395428 }
396429
@@ -400,6 +433,8 @@ var xSurfaceRequestLayout func(uintptr)
400433 //
401434 // See [method@Gdk.FrameClock.request_phase].
402435 func (x *Surface) RequestLayout() {
436+ core.LazyRegister(&xSurfaceRequestLayout, "GDK", "gdk_surface_request_layout", false)
437+
403438 xSurfaceRequestLayout(x.GoPointer())
404439 }
405440
@@ -414,6 +449,8 @@ var xSurfaceSetCursor func(uintptr, uintptr)
414449 // Use [ctor@Gdk.Cursor.new_from_name] or [ctor@Gdk.Cursor.new_from_texture]
415450 // to create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.
416451 func (x *Surface) SetCursor(CursorVar *Cursor) {
452+ core.LazyRegister(&xSurfaceSetCursor, "GDK", "gdk_surface_set_cursor", false)
453+
417454 xSurfaceSetCursor(x.GoPointer(), CursorVar.GoPointer())
418455 }
419456
@@ -427,6 +464,8 @@ var xSurfaceSetDeviceCursor func(uintptr, uintptr, uintptr)
427464 // Use [ctor@Gdk.Cursor.new_from_name] or [ctor@Gdk.Cursor.new_from_texture]
428465 // to create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.
429466 func (x *Surface) SetDeviceCursor(DeviceVar *Device, CursorVar *Cursor) {
467+ core.LazyRegister(&xSurfaceSetDeviceCursor, "GDK", "gdk_surface_set_device_cursor", false)
468+
430469 xSurfaceSetDeviceCursor(x.GoPointer(), DeviceVar.GoPointer(), CursorVar.GoPointer())
431470 }
432471
@@ -447,6 +486,8 @@ var xSurfaceSetInputRegion func(uintptr, *cairo.Region)
447486 // Use [method@Gdk.Display.supports_input_shapes] to find out if
448487 // a particular backend supports input regions.
449488 func (x *Surface) SetInputRegion(RegionVar *cairo.Region) {
489+ core.LazyRegister(&xSurfaceSetInputRegion, "GDK", "gdk_surface_set_input_region", false)
490+
450491 xSurfaceSetInputRegion(x.GoPointer(), RegionVar)
451492 }
452493
@@ -468,6 +509,8 @@ var xSurfaceSetOpaqueRegion func(uintptr, *cairo.Region)
468509 // background is not opaque, please update this property in your
469510 // [GtkWidgetClass.css_changed](../gtk4/vfunc.Widget.css_changed.html) handler.
470511 func (x *Surface) SetOpaqueRegion(RegionVar *cairo.Region) {
512+ core.LazyRegister(&xSurfaceSetOpaqueRegion, "GDK", "gdk_surface_set_opaque_region", false)
513+
471514 xSurfaceSetOpaqueRegion(x.GoPointer(), RegionVar)
472515 }
473516
@@ -478,6 +521,8 @@ var xSurfaceTranslateCoordinates func(uintptr, uintptr, *float64, *float64) bool
478521 // Note that this only works if @to and @from are popups or
479522 // transient-for to the same toplevel (directly or indirectly).
480523 func (x *Surface) TranslateCoordinates(ToVar *Surface, XVar *float64, YVar *float64) bool {
524+ core.LazyRegister(&xSurfaceTranslateCoordinates, "GDK", "gdk_surface_translate_coordinates", false)
525+
481526 cret := xSurfaceTranslateCoordinates(x.GoPointer(), ToVar.GoPointer(), XVar, YVar)
482527 return cret
483528 }
@@ -662,43 +707,4 @@ func (x *Surface) ConnectRender(cb *func(Surface, uintptr) bool) uint {
662707 func init() {
663708 core.SetPackageName("GDK", "gtk4")
664709 core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"})
665- var libs []uintptr
666- for _, libPath := range core.GetPaths("GDK") {
667- lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
668- if err != nil {
669- panic(err)
670- }
671- libs = append(libs, lib)
672- }
673-
674- core.PuregoSafeRegister(&xSurfaceGLibType, libs, "gdk_surface_get_type")
675-
676- core.PuregoSafeRegister(&xNewSurfacePopup, libs, "gdk_surface_new_popup")
677- core.PuregoSafeRegister(&xNewSurfaceToplevel, libs, "gdk_surface_new_toplevel")
678-
679- core.PuregoSafeRegister(&xSurfaceBeep, libs, "gdk_surface_beep")
680- core.PuregoSafeRegister(&xSurfaceCreateCairoContext, libs, "gdk_surface_create_cairo_context")
681- core.PuregoSafeRegister(&xSurfaceCreateGlContext, libs, "gdk_surface_create_gl_context")
682- core.PuregoSafeRegister(&xSurfaceCreateSimilarSurface, libs, "gdk_surface_create_similar_surface")
683- core.PuregoSafeRegister(&xSurfaceCreateVulkanContext, libs, "gdk_surface_create_vulkan_context")
684- core.PuregoSafeRegister(&xSurfaceDestroy, libs, "gdk_surface_destroy")
685- core.PuregoSafeRegister(&xSurfaceGetCursor, libs, "gdk_surface_get_cursor")
686- core.PuregoSafeRegister(&xSurfaceGetDeviceCursor, libs, "gdk_surface_get_device_cursor")
687- core.PuregoSafeRegister(&xSurfaceGetDevicePosition, libs, "gdk_surface_get_device_position")
688- core.PuregoSafeRegister(&xSurfaceGetDisplay, libs, "gdk_surface_get_display")
689- core.PuregoSafeRegister(&xSurfaceGetFrameClock, libs, "gdk_surface_get_frame_clock")
690- core.PuregoSafeRegister(&xSurfaceGetHeight, libs, "gdk_surface_get_height")
691- core.PuregoSafeRegister(&xSurfaceGetMapped, libs, "gdk_surface_get_mapped")
692- core.PuregoSafeRegister(&xSurfaceGetScale, libs, "gdk_surface_get_scale")
693- core.PuregoSafeRegister(&xSurfaceGetScaleFactor, libs, "gdk_surface_get_scale_factor")
694- core.PuregoSafeRegister(&xSurfaceGetWidth, libs, "gdk_surface_get_width")
695- core.PuregoSafeRegister(&xSurfaceHide, libs, "gdk_surface_hide")
696- core.PuregoSafeRegister(&xSurfaceIsDestroyed, libs, "gdk_surface_is_destroyed")
697- core.PuregoSafeRegister(&xSurfaceQueueRender, libs, "gdk_surface_queue_render")
698- core.PuregoSafeRegister(&xSurfaceRequestLayout, libs, "gdk_surface_request_layout")
699- core.PuregoSafeRegister(&xSurfaceSetCursor, libs, "gdk_surface_set_cursor")
700- core.PuregoSafeRegister(&xSurfaceSetDeviceCursor, libs, "gdk_surface_set_device_cursor")
701- core.PuregoSafeRegister(&xSurfaceSetInputRegion, libs, "gdk_surface_set_input_region")
702- core.PuregoSafeRegister(&xSurfaceSetOpaqueRegion, libs, "gdk_surface_set_opaque_region")
703- core.PuregoSafeRegister(&xSurfaceTranslateCoordinates, libs, "gdk_surface_translate_coordinates")
704710 }
@@ -5,7 +5,6 @@ import (
5 "structs"5 "structs"
6 "unsafe"6 "unsafe"
7 7
8- "github.com/bnema/purego"
9 "github.com/bnema/puregotk/pkg/core"8 "github.com/bnema/puregotk/pkg/core"
10 "github.com/bnema/puregotk/v4/cairo"9 "github.com/bnema/puregotk/v4/cairo"
11 "github.com/bnema/puregotk/v4/glib"10 "github.com/bnema/puregotk/v4/glib"
@@ -45,6 +44,7 @@ type Surface struct {
45 var xSurfaceGLibType func() types.GType44 var xSurfaceGLibType func() types.GType
46 45
47 func SurfaceGLibType() types.GType {46 func SurfaceGLibType() types.GType {
47+ core.LazyRegister(&xSurfaceGLibType, "GDK", "gdk_surface_get_type", false)
48 return xSurfaceGLibType()48 return xSurfaceGLibType()
49 }49 }
50 50
@@ -61,6 +61,7 @@ var xNewSurfacePopup func(uintptr, bool) uintptr
61 // The surface will be attached to @parent and can be positioned61 // The surface will be attached to @parent and can be positioned
62 // relative to it using [method@Gdk.Popup.present].62 // relative to it using [method@Gdk.Popup.present].
63 func NewSurfacePopup(ParentVar *Surface, AutohideVar bool) *Surface {63 func NewSurfacePopup(ParentVar *Surface, AutohideVar bool) *Surface {
64+ core.LazyRegister(&xNewSurfacePopup, "GDK", "gdk_surface_new_popup", false)
64 var cls *Surface65 var cls *Surface
65 66
66 cret := xNewSurfacePopup(ParentVar.GoPointer(), AutohideVar)67 cret := xNewSurfacePopup(ParentVar.GoPointer(), AutohideVar)
@@ -77,6 +78,7 @@ var xNewSurfaceToplevel func(uintptr) uintptr
77 78
78 // Creates a new toplevel surface.79 // Creates a new toplevel surface.
79 func NewSurfaceToplevel(DisplayVar *Display) *Surface {80 func NewSurfaceToplevel(DisplayVar *Display) *Surface {
81+ core.LazyRegister(&xNewSurfaceToplevel, "GDK", "gdk_surface_new_toplevel", false)
80 var cls *Surface82 var cls *Surface
81 83
82 cret := xNewSurfaceToplevel(DisplayVar.GoPointer())84 cret := xNewSurfaceToplevel(DisplayVar.GoPointer())
@@ -96,6 +98,8 @@ var xSurfaceBeep func(uintptr)
96 // If the display of @surface does not support per-surface beeps,98 // If the display of @surface does not support per-surface beeps,
97 // emits a short beep on the display just as [method@Gdk.Display.beep].99 // emits a short beep on the display just as [method@Gdk.Display.beep].
98 func (x *Surface) Beep() {100 func (x *Surface) Beep() {
101+ core.LazyRegister(&xSurfaceBeep, "GDK", "gdk_surface_beep", false)
102+
99 xSurfaceBeep(x.GoPointer())103 xSurfaceBeep(x.GoPointer())
100 }104 }
101 105
@@ -103,6 +107,7 @@ var xSurfaceCreateCairoContext func(uintptr) uintptr
103 107
104 // Creates a new `GdkCairoContext` for rendering on @surface.108 // Creates a new `GdkCairoContext` for rendering on @surface.
105 func (x *Surface) CreateCairoContext() *CairoContext {109 func (x *Surface) CreateCairoContext() *CairoContext {
110+ core.LazyRegister(&xSurfaceCreateCairoContext, "GDK", "gdk_surface_create_cairo_context", false)
106 var cls *CairoContext111 var cls *CairoContext
107 112
108 cret := xSurfaceCreateCairoContext(x.GoPointer())113 cret := xSurfaceCreateCairoContext(x.GoPointer())
@@ -124,6 +129,7 @@ var xSurfaceCreateGlContext func(uintptr, **glib.Error) uintptr
124 // Before using the returned `GdkGLContext`, you will need to129 // Before using the returned `GdkGLContext`, you will need to
125 // call [method@Gdk.GLContext.make_current] or [method@Gdk.GLContext.realize].130 // call [method@Gdk.GLContext.make_current] or [method@Gdk.GLContext.realize].
126 func (x *Surface) CreateGlContext() (*GLContext, error) {131 func (x *Surface) CreateGlContext() (*GLContext, error) {
132+ core.LazyRegister(&xSurfaceCreateGlContext, "GDK", "gdk_surface_create_gl_context", false)
127 var cls *GLContext133 var cls *GLContext
128 var cerr *glib.Error134 var cerr *glib.Error
129 135
@@ -158,6 +164,8 @@ var xSurfaceCreateSimilarSurface func(uintptr, cairo.Content, int, int) uintptr
158 // pointer to a “nil” surface if @other is already in an error state164 // pointer to a “nil” surface if @other is already in an error state
159 // or any other error occurs.165 // or any other error occurs.
160 func (x *Surface) CreateSimilarSurface(ContentVar cairo.Content, WidthVar int, HeightVar int) *cairo.Surface {166 func (x *Surface) CreateSimilarSurface(ContentVar cairo.Content, WidthVar int, HeightVar int) *cairo.Surface {
167+ core.LazyRegister(&xSurfaceCreateSimilarSurface, "GDK", "gdk_surface_create_similar_surface", false)
168+
161 cret := xSurfaceCreateSimilarSurface(x.GoPointer(), ContentVar, WidthVar, HeightVar)169 cret := xSurfaceCreateSimilarSurface(x.GoPointer(), ContentVar, WidthVar, HeightVar)
162 if cret == 0 {170 if cret == 0 {
163 return nil171 return nil
@@ -169,6 +177,7 @@ var xSurfaceCreateVulkanContext func(uintptr, **glib.Error) uintptr
169 177
170 // Sets an error and returns %NULL.178 // Sets an error and returns %NULL.
171 func (x *Surface) CreateVulkanContext() (*VulkanContext, error) {179 func (x *Surface) CreateVulkanContext() (*VulkanContext, error) {
180+ core.LazyRegister(&xSurfaceCreateVulkanContext, "GDK", "gdk_surface_create_vulkan_context", false)
172 var cls *VulkanContext181 var cls *VulkanContext
173 var cerr *glib.Error182 var cerr *glib.Error
174 183
@@ -197,6 +206,8 @@ var xSurfaceDestroy func(uintptr)
197 // reference count reaches zero. You must call this function yourself206 // reference count reaches zero. You must call this function yourself
198 // before that happens.207 // before that happens.
199 func (x *Surface) Destroy() {208 func (x *Surface) Destroy() {
209+ core.LazyRegister(&xSurfaceDestroy, "GDK", "gdk_surface_destroy", false)
210+
200 xSurfaceDestroy(x.GoPointer())211 xSurfaceDestroy(x.GoPointer())
201 }212 }
202 213
@@ -210,6 +221,7 @@ var xSurfaceGetCursor func(uintptr) uintptr
210 //221 //
211 // Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface.222 // Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface.
212 func (x *Surface) GetCursor() *Cursor {223 func (x *Surface) GetCursor() *Cursor {
224+ core.LazyRegister(&xSurfaceGetCursor, "GDK", "gdk_surface_get_cursor", false)
213 var cls *Cursor225 var cls *Cursor
214 226
215 cret := xSurfaceGetCursor(x.GoPointer())227 cret := xSurfaceGetCursor(x.GoPointer())
@@ -233,6 +245,7 @@ var xSurfaceGetDeviceCursor func(uintptr, uintptr) uintptr
233 //245 //
234 // Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface.246 // Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface.
235 func (x *Surface) GetDeviceCursor(DeviceVar *Device) *Cursor {247 func (x *Surface) GetDeviceCursor(DeviceVar *Device) *Cursor {
248+ core.LazyRegister(&xSurfaceGetDeviceCursor, "GDK", "gdk_surface_get_device_cursor", false)
236 var cls *Cursor249 var cls *Cursor
237 250
238 cret := xSurfaceGetDeviceCursor(x.GoPointer(), DeviceVar.GoPointer())251 cret := xSurfaceGetDeviceCursor(x.GoPointer(), DeviceVar.GoPointer())
@@ -253,6 +266,8 @@ var xSurfaceGetDevicePosition func(uintptr, uintptr, *float64, *float64, *Modifi
253 // The position is given in coordinates relative to the upper266 // The position is given in coordinates relative to the upper
254 // left corner of @surface.267 // left corner of @surface.
255 func (x *Surface) GetDevicePosition(DeviceVar *Device, XVar *float64, YVar *float64, MaskVar *ModifierType) bool {268 func (x *Surface) GetDevicePosition(DeviceVar *Device, XVar *float64, YVar *float64, MaskVar *ModifierType) bool {
269+ core.LazyRegister(&xSurfaceGetDevicePosition, "GDK", "gdk_surface_get_device_position", false)
270+
256 cret := xSurfaceGetDevicePosition(x.GoPointer(), DeviceVar.GoPointer(), XVar, YVar, MaskVar)271 cret := xSurfaceGetDevicePosition(x.GoPointer(), DeviceVar.GoPointer(), XVar, YVar, MaskVar)
257 return cret272 return cret
258 }273 }
@@ -261,6 +276,7 @@ var xSurfaceGetDisplay func(uintptr) uintptr
261 276
262 // Gets the `GdkDisplay` associated with a `GdkSurface`.277 // Gets the `GdkDisplay` associated with a `GdkSurface`.
263 func (x *Surface) GetDisplay() *Display {278 func (x *Surface) GetDisplay() *Display {
279+ core.LazyRegister(&xSurfaceGetDisplay, "GDK", "gdk_surface_get_display", false)
264 var cls *Display280 var cls *Display
265 281
266 cret := xSurfaceGetDisplay(x.GoPointer())282 cret := xSurfaceGetDisplay(x.GoPointer())
@@ -281,6 +297,7 @@ var xSurfaceGetFrameClock func(uintptr) uintptr
281 // The frame clock for a surface never changes unless the surface is297 // The frame clock for a surface never changes unless the surface is
282 // reparented to a new toplevel surface.298 // reparented to a new toplevel surface.
283 func (x *Surface) GetFrameClock() *FrameClock {299 func (x *Surface) GetFrameClock() *FrameClock {
300+ core.LazyRegister(&xSurfaceGetFrameClock, "GDK", "gdk_surface_get_frame_clock", false)
284 var cls *FrameClock301 var cls *FrameClock
285 302
286 cret := xSurfaceGetFrameClock(x.GoPointer())303 cret := xSurfaceGetFrameClock(x.GoPointer())
@@ -301,6 +318,8 @@ var xSurfaceGetHeight func(uintptr) int
301 // Surface size is reported in ”application pixels”, not318 // Surface size is reported in ”application pixels”, not
302 // ”device pixels” (see [method@Gdk.Surface.get_scale_factor]).319 // ”device pixels” (see [method@Gdk.Surface.get_scale_factor]).
303 func (x *Surface) GetHeight() int {320 func (x *Surface) GetHeight() int {
321+ core.LazyRegister(&xSurfaceGetHeight, "GDK", "gdk_surface_get_height", false)
322+
304 cret := xSurfaceGetHeight(x.GoPointer())323 cret := xSurfaceGetHeight(x.GoPointer())
305 return cret324 return cret
306 }325 }
@@ -312,6 +331,8 @@ var xSurfaceGetMapped func(uintptr) bool
312 // A surface is mapped with [method@Gdk.Toplevel.present]331 // A surface is mapped with [method@Gdk.Toplevel.present]
313 // or [method@Gdk.Popup.present].332 // or [method@Gdk.Popup.present].
314 func (x *Surface) GetMapped() bool {333 func (x *Surface) GetMapped() bool {
334+ core.LazyRegister(&xSurfaceGetMapped, "GDK", "gdk_surface_get_mapped", false)
335+
315 cret := xSurfaceGetMapped(x.GoPointer())336 cret := xSurfaceGetMapped(x.GoPointer())
316 return cret337 return cret
317 }338 }
@@ -330,6 +351,8 @@ var xSurfaceGetScale func(uintptr) float64
330 //351 //
331 // The scale may change during the lifetime of the surface.352 // The scale may change during the lifetime of the surface.
332 func (x *Surface) GetScale() float64 {353 func (x *Surface) GetScale() float64 {
354+ core.LazyRegister(&xSurfaceGetScale, "GDK", "gdk_surface_get_scale", false)
355+
333 cret := xSurfaceGetScale(x.GoPointer())356 cret := xSurfaceGetScale(x.GoPointer())
334 return cret357 return cret
335 }358 }
@@ -348,6 +371,8 @@ var xSurfaceGetScaleFactor func(uintptr) int
348 //371 //
349 // The scale factor may change during the lifetime of the surface.372 // The scale factor may change during the lifetime of the surface.
350 func (x *Surface) GetScaleFactor() int {373 func (x *Surface) GetScaleFactor() int {
374+ core.LazyRegister(&xSurfaceGetScaleFactor, "GDK", "gdk_surface_get_scale_factor", false)
375+
351 cret := xSurfaceGetScaleFactor(x.GoPointer())376 cret := xSurfaceGetScaleFactor(x.GoPointer())
352 return cret377 return cret
353 }378 }
@@ -359,6 +384,8 @@ var xSurfaceGetWidth func(uintptr) int
359 // Surface size is reported in ”application pixels”, not384 // Surface size is reported in ”application pixels”, not
360 // ”device pixels” (see [method@Gdk.Surface.get_scale_factor]).385 // ”device pixels” (see [method@Gdk.Surface.get_scale_factor]).
361 func (x *Surface) GetWidth() int {386 func (x *Surface) GetWidth() int {
387+ core.LazyRegister(&xSurfaceGetWidth, "GDK", "gdk_surface_get_width", false)
388+
362 cret := xSurfaceGetWidth(x.GoPointer())389 cret := xSurfaceGetWidth(x.GoPointer())
363 return cret390 return cret
364 }391 }
@@ -372,6 +399,8 @@ var xSurfaceHide func(uintptr)
372 // they won’t be displayed. Normally done automatically as399 // they won’t be displayed. Normally done automatically as
373 // part of [gtk_widget_hide()](../gtk4/method.Widget.hide.html).400 // part of [gtk_widget_hide()](../gtk4/method.Widget.hide.html).
374 func (x *Surface) Hide() {401 func (x *Surface) Hide() {
402+ core.LazyRegister(&xSurfaceHide, "GDK", "gdk_surface_hide", false)
403+
375 xSurfaceHide(x.GoPointer())404 xSurfaceHide(x.GoPointer())
376 }405 }
377 406
@@ -379,6 +408,8 @@ var xSurfaceIsDestroyed func(uintptr) bool
379 408
380 // Check to see if a surface is destroyed.409 // Check to see if a surface is destroyed.
381 func (x *Surface) IsDestroyed() bool {410 func (x *Surface) IsDestroyed() bool {
411+ core.LazyRegister(&xSurfaceIsDestroyed, "GDK", "gdk_surface_is_destroyed", false)
412+
382 cret := xSurfaceIsDestroyed(x.GoPointer())413 cret := xSurfaceIsDestroyed(x.GoPointer())
383 return cret414 return cret
384 }415 }
@@ -391,6 +422,8 @@ var xSurfaceQueueRender func(uintptr)
391 // This function is useful for implementations that track invalid422 // This function is useful for implementations that track invalid
392 // regions on their own.423 // regions on their own.
393 func (x *Surface) QueueRender() {424 func (x *Surface) QueueRender() {
425+ core.LazyRegister(&xSurfaceQueueRender, "GDK", "gdk_surface_queue_render", false)
426+
394 xSurfaceQueueRender(x.GoPointer())427 xSurfaceQueueRender(x.GoPointer())
395 }428 }
396 429
@@ -400,6 +433,8 @@ var xSurfaceRequestLayout func(uintptr)
400 //433 //
401 // See [method@Gdk.FrameClock.request_phase].434 // See [method@Gdk.FrameClock.request_phase].
402 func (x *Surface) RequestLayout() {435 func (x *Surface) RequestLayout() {
436+ core.LazyRegister(&xSurfaceRequestLayout, "GDK", "gdk_surface_request_layout", false)
437+
403 xSurfaceRequestLayout(x.GoPointer())438 xSurfaceRequestLayout(x.GoPointer())
404 }439 }
405 440
@@ -414,6 +449,8 @@ var xSurfaceSetCursor func(uintptr, uintptr)
414 // Use [ctor@Gdk.Cursor.new_from_name] or [ctor@Gdk.Cursor.new_from_texture]449 // Use [ctor@Gdk.Cursor.new_from_name] or [ctor@Gdk.Cursor.new_from_texture]
415 // to create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.450 // to create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.
416 func (x *Surface) SetCursor(CursorVar *Cursor) {451 func (x *Surface) SetCursor(CursorVar *Cursor) {
452+ core.LazyRegister(&xSurfaceSetCursor, "GDK", "gdk_surface_set_cursor", false)
453+
417 xSurfaceSetCursor(x.GoPointer(), CursorVar.GoPointer())454 xSurfaceSetCursor(x.GoPointer(), CursorVar.GoPointer())
418 }455 }
419 456
@@ -427,6 +464,8 @@ var xSurfaceSetDeviceCursor func(uintptr, uintptr, uintptr)
427 // Use [ctor@Gdk.Cursor.new_from_name] or [ctor@Gdk.Cursor.new_from_texture]464 // Use [ctor@Gdk.Cursor.new_from_name] or [ctor@Gdk.Cursor.new_from_texture]
428 // to create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.465 // to create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.
429 func (x *Surface) SetDeviceCursor(DeviceVar *Device, CursorVar *Cursor) {466 func (x *Surface) SetDeviceCursor(DeviceVar *Device, CursorVar *Cursor) {
467+ core.LazyRegister(&xSurfaceSetDeviceCursor, "GDK", "gdk_surface_set_device_cursor", false)
468+
430 xSurfaceSetDeviceCursor(x.GoPointer(), DeviceVar.GoPointer(), CursorVar.GoPointer())469 xSurfaceSetDeviceCursor(x.GoPointer(), DeviceVar.GoPointer(), CursorVar.GoPointer())
431 }470 }
432 471
@@ -447,6 +486,8 @@ var xSurfaceSetInputRegion func(uintptr, *cairo.Region)
447 // Use [method@Gdk.Display.supports_input_shapes] to find out if486 // Use [method@Gdk.Display.supports_input_shapes] to find out if
448 // a particular backend supports input regions.487 // a particular backend supports input regions.
449 func (x *Surface) SetInputRegion(RegionVar *cairo.Region) {488 func (x *Surface) SetInputRegion(RegionVar *cairo.Region) {
489+ core.LazyRegister(&xSurfaceSetInputRegion, "GDK", "gdk_surface_set_input_region", false)
490+
450 xSurfaceSetInputRegion(x.GoPointer(), RegionVar)491 xSurfaceSetInputRegion(x.GoPointer(), RegionVar)
451 }492 }
452 493
@@ -468,6 +509,8 @@ var xSurfaceSetOpaqueRegion func(uintptr, *cairo.Region)
468 // background is not opaque, please update this property in your509 // background is not opaque, please update this property in your
469 // [GtkWidgetClass.css_changed](../gtk4/vfunc.Widget.css_changed.html) handler.510 // [GtkWidgetClass.css_changed](../gtk4/vfunc.Widget.css_changed.html) handler.
470 func (x *Surface) SetOpaqueRegion(RegionVar *cairo.Region) {511 func (x *Surface) SetOpaqueRegion(RegionVar *cairo.Region) {
512+ core.LazyRegister(&xSurfaceSetOpaqueRegion, "GDK", "gdk_surface_set_opaque_region", false)
513+
471 xSurfaceSetOpaqueRegion(x.GoPointer(), RegionVar)514 xSurfaceSetOpaqueRegion(x.GoPointer(), RegionVar)
472 }515 }
473 516
@@ -478,6 +521,8 @@ var xSurfaceTranslateCoordinates func(uintptr, uintptr, *float64, *float64) bool
478 // Note that this only works if @to and @from are popups or521 // Note that this only works if @to and @from are popups or
479 // transient-for to the same toplevel (directly or indirectly).522 // transient-for to the same toplevel (directly or indirectly).
480 func (x *Surface) TranslateCoordinates(ToVar *Surface, XVar *float64, YVar *float64) bool {523 func (x *Surface) TranslateCoordinates(ToVar *Surface, XVar *float64, YVar *float64) bool {
524+ core.LazyRegister(&xSurfaceTranslateCoordinates, "GDK", "gdk_surface_translate_coordinates", false)
525+
481 cret := xSurfaceTranslateCoordinates(x.GoPointer(), ToVar.GoPointer(), XVar, YVar)526 cret := xSurfaceTranslateCoordinates(x.GoPointer(), ToVar.GoPointer(), XVar, YVar)
482 return cret527 return cret
483 }528 }
@@ -662,43 +707,4 @@ func (x *Surface) ConnectRender(cb *func(Surface, uintptr) bool) uint {
662 func init() {707 func init() {
663 core.SetPackageName("GDK", "gtk4")708 core.SetPackageName("GDK", "gtk4")
664 core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"})709 core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"})
665- var libs []uintptr
666- for _, libPath := range core.GetPaths("GDK") {
667- lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
668- if err != nil {
669- panic(err)
670- }
671- libs = append(libs, lib)
672- }
673-
674- core.PuregoSafeRegister(&xSurfaceGLibType, libs, "gdk_surface_get_type")
675-
676- core.PuregoSafeRegister(&xNewSurfacePopup, libs, "gdk_surface_new_popup")
677- core.PuregoSafeRegister(&xNewSurfaceToplevel, libs, "gdk_surface_new_toplevel")
678-
679- core.PuregoSafeRegister(&xSurfaceBeep, libs, "gdk_surface_beep")
680- core.PuregoSafeRegister(&xSurfaceCreateCairoContext, libs, "gdk_surface_create_cairo_context")
681- core.PuregoSafeRegister(&xSurfaceCreateGlContext, libs, "gdk_surface_create_gl_context")
682- core.PuregoSafeRegister(&xSurfaceCreateSimilarSurface, libs, "gdk_surface_create_similar_surface")
683- core.PuregoSafeRegister(&xSurfaceCreateVulkanContext, libs, "gdk_surface_create_vulkan_context")
684- core.PuregoSafeRegister(&xSurfaceDestroy, libs, "gdk_surface_destroy")
685- core.PuregoSafeRegister(&xSurfaceGetCursor, libs, "gdk_surface_get_cursor")
686- core.PuregoSafeRegister(&xSurfaceGetDeviceCursor, libs, "gdk_surface_get_device_cursor")
687- core.PuregoSafeRegister(&xSurfaceGetDevicePosition, libs, "gdk_surface_get_device_position")
688- core.PuregoSafeRegister(&xSurfaceGetDisplay, libs, "gdk_surface_get_display")
689- core.PuregoSafeRegister(&xSurfaceGetFrameClock, libs, "gdk_surface_get_frame_clock")
690- core.PuregoSafeRegister(&xSurfaceGetHeight, libs, "gdk_surface_get_height")
691- core.PuregoSafeRegister(&xSurfaceGetMapped, libs, "gdk_surface_get_mapped")
692- core.PuregoSafeRegister(&xSurfaceGetScale, libs, "gdk_surface_get_scale")
693- core.PuregoSafeRegister(&xSurfaceGetScaleFactor, libs, "gdk_surface_get_scale_factor")
694- core.PuregoSafeRegister(&xSurfaceGetWidth, libs, "gdk_surface_get_width")
695- core.PuregoSafeRegister(&xSurfaceHide, libs, "gdk_surface_hide")
696- core.PuregoSafeRegister(&xSurfaceIsDestroyed, libs, "gdk_surface_is_destroyed")
697- core.PuregoSafeRegister(&xSurfaceQueueRender, libs, "gdk_surface_queue_render")
698- core.PuregoSafeRegister(&xSurfaceRequestLayout, libs, "gdk_surface_request_layout")
699- core.PuregoSafeRegister(&xSurfaceSetCursor, libs, "gdk_surface_set_cursor")
700- core.PuregoSafeRegister(&xSurfaceSetDeviceCursor, libs, "gdk_surface_set_device_cursor")
701- core.PuregoSafeRegister(&xSurfaceSetInputRegion, libs, "gdk_surface_set_input_region")
702- core.PuregoSafeRegister(&xSurfaceSetOpaqueRegion, libs, "gdk_surface_set_opaque_region")
703- core.PuregoSafeRegister(&xSurfaceTranslateCoordinates, libs, "gdk_surface_translate_coordinates")
704 }710 }
M vendor/github.com/bnema/puregotk/v4/gdk/gdktexture.go +27 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevel.go +157 -66 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevellayout.go +24 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevelsize.go +9 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktypes.go +95 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkvulkancontext.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-animation.go +26 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-core.go +9 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-io.go +25 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-loader.go +13 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-simple-anim.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-transform.go +11 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf.go +102 -79 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/main.go +5 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gaction.go +59 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gactiongroup.go +96 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gactionmap.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gappinfo.go +244 -116 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gapplication.go +79 -55 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gapplicationcommandline.go +31 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gasyncinitable.go +25 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gasyncresult.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbufferedinputstream.go +26 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbufferedoutputstream.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbytesicon.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcancellable.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcharsetconverter.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcontenttype.go +30 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverter.go +23 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverterinputstream.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverteroutputstream.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcredentials.go +12 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdatagrambased.go +45 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdatainputstream.go +31 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdataoutputstream.go +14 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusactiongroup.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusaddress.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusauthobserver.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusconnection.go +77 -66 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbuserror.go +16 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusinterface.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusinterfaceskeleton.go +25 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusintrospection.go +54 -56 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmenumodel.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmessage.go +88 -64 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmethodinvocation.go +35 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusnameowning.go +10 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusnamewatching.go +10 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobject.go +19 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanager.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerclient.go +16 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerserver.go +13 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectproxy.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectskeleton.go +12 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusproxy.go +42 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusserver.go +14 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusutils.go +24 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdebugcontroller.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdebugcontrollerdbus.go +4 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdrive.go +214 -82 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsclientconnection.go +34 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsconnection.go +207 -80 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsserverconnection.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gemblem.go +6 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gemblemedicon.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfile.go +1148 -450 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileattribute.go +13 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileenumerator.go +34 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileicon.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileinfo.go +138 -84 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileinputstream.go +17 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileiostream.go +23 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilemonitor.go +9 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilenamecompleter.go +8 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileoutputstream.go +23 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilterinputstream.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilteroutputstream.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gicon.go +32 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginetaddress.go +40 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginetaddressmask.go +14 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginetsocketaddress.go +10 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginitable.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginputstream.go +52 -48 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gioenums.go +90 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gioerror.go +6 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giomodule.go +26 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gioscheduler.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giostream.go +25 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giotypes.go +70 -60 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giptosmessage.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gipv6tclassmessage.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/glistmodel.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gliststore.go +22 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gloadableicon.go +27 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmemoryinputstream.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmemorymonitor.go +2 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmemoryoutputstream.go +13 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmenu.go +62 -50 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmenumodel.go +31 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmount.go +215 -86 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmountoperation.go +40 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnativesocketaddress.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnativevolumemonitor.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworkaddress.go +11 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworking.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworkmonitor.go +49 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworkservice.go +12 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnotification.go +26 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/goutputstream.go +86 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpermission.go +33 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpollableinputstream.go +30 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpollableoutputstream.go +41 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpollableutils.go +7 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpowerprofilemonitor.go +7 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpropertyaction.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxy.go +35 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxyaddress.go +16 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxyaddressenumerator.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxyresolver.go +35 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gremoteactiongroup.go +12 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gresolver.go +75 -67 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gresource.go +19 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gseekable.go +41 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsettings.go +99 -67 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsettingsbackend.go +19 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsettingsschema.go +48 -43 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleaction.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleactiongroup.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleasyncresult.go +46 -40 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleiostream.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimplepermission.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleproxyresolver.go +8 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocket.go +87 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketaddress.go +11 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketaddressenumerator.go +13 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketclient.go +54 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketconnectable.go +19 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketconnection.go +14 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketcontrolmessage.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketlistener.go +18 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketservice.go +8 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsrvtarget.go +2 -11 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsubprocess.go +40 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsubprocesslauncher.go +34 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtask.go +70 -52 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtcpconnection.go +5 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtcpwrapperconnection.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtestdbus.go +16 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gthemedicon.go +10 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gthreadedresolver.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gthreadedsocketservice.go +2 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsbackend.go +69 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlscertificate.go +25 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsclientconnection.go +55 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsconnection.go +56 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsdatabase.go +51 -48 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsfiledatabase.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsinteraction.go +27 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlspassword.go +20 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsserverconnection.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixconnection.go +11 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixcredentialsmessage.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixfdlist.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixsocketaddress.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gvfs.go +18 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gvolume.go +143 -58 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gvolumemonitor.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gzlibcompressor.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gzlibdecompressor.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gallocator.go +32 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/garray.go +82 -59 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gasyncqueue.go +56 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gatomic.go +43 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbacktrace.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbase64.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbitlock.go +23 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbookmarkfile.go +69 -61 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gcache.go +10 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gcharset.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gchecksum.go +23 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gcompletion.go +14 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gconvert.go +25 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdataset.go +36 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdate.go +103 -65 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdatetime.go +107 -66 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdir.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/genviron.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gerror.go +30 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gfileutils.go +45 -38 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ggettext.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghash.go +81 -53 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghmac.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghook.go +28 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghostutils.go +11 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/giochannel.go +83 -67 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gkeyfile.go +72 -62 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/glib-types.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/glist.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmain.go +181 -117 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmappedfile.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmarkup.go +51 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmem.go +44 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmessages.go +70 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gnode.go +50 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/goption.go +57 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gpathbuf.go +26 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gpattern.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gpoll.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gprimes.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gprintf.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gqsort.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gquark.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gqueue.go +84 -52 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grand.go +33 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grcbox.go +29 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grefcount.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grefstring.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gregex.go +72 -57 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grel.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gscanner.go +40 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gsequence.go +74 -49 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gshell.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gslice.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gslist.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gspawn.go +12 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstdio.go +33 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstrfuncs.go +115 -71 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstring.go +77 -51 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstringchunk.go +10 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstrvbuilder.go +19 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtestutils.go +132 -80 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gthread.go +146 -97 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gthreadpool.go +26 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtimer.go +18 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtimezone.go +27 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtrashstack.go +8 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtree.go +63 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtypes.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gunicode.go +132 -85 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/guri.go +63 -50 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gutils.go +62 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/guuid.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gvariant-parser.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gvariant.go +242 -143 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gvarianttype.go +63 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gversion.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/main.go +31 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gmodule/gmodule.go +14 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gmodule/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gbinding.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gbindinggroup.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gboxed.go +6 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gclosure.go +37 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/genums.go +24 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/glib-types.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gmarshal.go +45 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gobject.go +116 -82 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gparam.go +54 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gparamspecs.go +46 -79 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gsignal.go +79 -50 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gsignalgroup.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gsourceclosure.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gtype.go +136 -82 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gtypemodule.go +15 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gtypeplugin.go +26 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gvalue.go +141 -85 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gvaluearray.go +21 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gvaluetypes.go +6 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/main.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/more.go +8 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-box.go +61 -44 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-euler.go +43 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-frustum.go +21 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-matrix.go +135 -80 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-plane.go +29 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-point.go +23 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-point3d.go +35 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-quad.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-quaternion.go +49 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-ray.go +37 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-rect.go +67 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-size.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-sphere.go +27 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-triangle.go +33 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec2.go +53 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec3.go +69 -48 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec4.go +69 -48 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskblendnode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskblurnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskbordernode.go +8 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskbroadwayrenderer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcaironode.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcairorenderer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskclipnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcolormatrixnode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcolornode.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcomponenttransfer.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcomponenttransfernode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcompositenode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskconicgradientnode.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcontainernode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcopynode.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcrossfadenode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskdebugnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskenums.go +24 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskfillnode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskglrenderer.go +4 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskglshader.go +65 -50 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskglshadernode.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskinsetshadownode.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskisolationnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsklineargradientnode.go +12 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskmasknode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskopacitynode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskoutsetshadownode.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskpastenode.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskpath.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskpathpoint.go +19 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskradialgradientnode.go +18 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskrenderer.go +12 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskrendernode.go +26 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskrepeatnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskroundedclipnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskroundedrect.go +20 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskshadownode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskstroke.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskstrokenode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsksubsurfacenode.go +5 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktextnode.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktexturenode.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktexturescalenode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktransform.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktransformnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktypes.go +237 -153 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskvulkanrenderer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaboutdialog.go +70 -51 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccelgroup.go +18 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessible.go +159 -66 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessiblehypertext.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessiblerange.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessibletext.go +21 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkactionable.go +40 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkactionbar.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkadjustment.go +32 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkalertdialog.go +31 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooser.go +19 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserbutton.go +24 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserdialog.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserwidget.go +26 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkapplication.go +27 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkapplicationwindow.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaspectframe.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkassistant.go +48 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkatcontext.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbinlayout.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbitset.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbookmarklist.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkboolfilter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkborder.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbox.go +28 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkboxlayout.go +18 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuildable.go +28 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilder.go +35 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilderlistitemfactory.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilderscope.go +14 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbutton.go +28 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcalendar.go +40 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellarea.go +87 -59 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellareabox.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellareacontext.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcelleditable.go +19 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcelllayout.go +68 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderer.go +56 -42 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendereraccel.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderercombo.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererpixbuf.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererprogress.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererspin.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererspinner.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderertext.go +4 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderertoggle.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellview.go +21 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcenterbox.go +19 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcenterlayout.go +23 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcheckbutton.go +25 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorbutton.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooser.go +33 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooserdialog.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooserwidget.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolordialog.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolordialogbutton.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorutils.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnview.go +47 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewcell.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewcolumn.go +36 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewrow.go +26 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewsorter.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcombobox.go +51 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcomboboxtext.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraint.go +24 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraintguide.go +22 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraintlayout.go +20 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcsserror.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcssprovider.go +18 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcsssection.go +22 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomfilter.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomlayout.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomsorter.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdebug.go +5 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdialog.go +21 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdialogerror.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdirectorylist.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdragicon.go +8 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdragsource.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdrawingarea.go +12 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdropcontrollermotion.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdropdown.go +35 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdroptarget.go +22 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdroptargetasync.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeditable.go +173 -65 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeditablelabel.go +8 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkemojichooser.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkentry.go +119 -76 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkentrybuffer.go +22 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkentrycompletion.go +45 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkenums.go +70 -147 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontroller.go +24 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerfocus.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerkey.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerlegacy.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollermotion.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerscroll.go +9 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkexpander.go +29 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkexpression.go +50 -67 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooser.go +177 -68 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooserdialog.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechoosernative.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooserwidget.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfiledialog.go +54 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilefilter.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilelauncher.go +19 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilterlistmodel.go +18 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfixed.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfixedlayout.go +7 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkflattenlistmodel.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkflowbox.go +79 -57 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontbutton.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooser.go +132 -51 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooserdialog.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooserwidget.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontdialog.go +32 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontdialogbutton.go +30 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkframe.go +16 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesture.go +33 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgestureclick.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturedrag.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturelongpress.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturepan.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturerotate.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturesingle.go +17 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturestylus.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgestureswipe.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturezoom.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkglarea.go +39 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgraphicsoffload.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgrid.go +45 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgridlayout.go +43 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgridview.go +30 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkheaderbar.go +23 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkiconpaintable.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkicontheme.go +34 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkiconview.go +123 -78 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimage.go +37 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimcontext.go +31 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimcontextsimple.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimmulticontext.go +6 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkinfobar.go +32 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkinscription.go +45 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklabel.go +98 -64 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklayoutchild.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklayoutmanager.go +11 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklevelbar.go +29 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklinkbutton.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistbase.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistbox.go +88 -63 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistheader.go +11 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistitem.go +29 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistitemfactory.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkliststore.go +41 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistview.go +29 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklockbutton.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmain.go +16 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmaplistmodel.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmediacontrols.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmediafile.go +18 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmediastream.go +69 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmenubutton.go +53 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmessagedialog.go +11 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmountoperation.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmultifilter.go +9 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmultiselection.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmultisorter.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknative.go +34 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknativedialog.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknoselection.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknotebook.go +87 -64 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknumericsorter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkorientable.go +12 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkoverlay.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkoverlaylayout.go +11 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpadcontroller.go +7 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpagesetup.go +47 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpagesetupunixdialog.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpaned.go +32 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpapersize.go +50 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpasswordentry.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpasswordentrybuffer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpicture.go +39 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopover.go +41 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopoverbin.go +19 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopovermenu.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopovermenubar.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintcontext.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintdialog.go +36 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprinter.go +48 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintjob.go +57 -44 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintoperation.go +65 -54 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintoperationpreview.go +19 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintsettings.go +145 -89 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintunixdialog.go +33 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprogressbar.go +28 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrange.go +44 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrecentmanager.go +65 -54 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrender.go +24 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrevealer.go +20 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkroot.go +19 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscale.go +28 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscalebutton.go +20 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscrollable.go +61 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscrollbar.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscrolledwindow.go +61 -49 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksearchbar.go +18 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksearchentry.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksectionmodel.go +12 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkselectionfiltermodel.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkselectionmodel.go +75 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkseparator.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksettings.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcut.go +13 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutaction.go +25 -47 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutcontroller.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutlabel.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutmanager.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutsgroup.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutssection.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutsshortcut.go +8 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutswindow.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcuttrigger.go +34 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshow.go +5 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksignallistitemfactory.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksingleselection.go +18 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksizegroup.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksizerequest.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkslicelistmodel.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksnapshot.go +112 -71 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksorter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksortlistmodel.go +17 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkspinbutton.go +56 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkspinner.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstack.go +68 -55 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstacksidebar.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstackswitcher.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstatusbar.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstringfilter.go +18 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstringlist.go +18 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstringsorter.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstylecontext.go +43 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstyleprovider.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksvg.go +41 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkswitch.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksymbolicpaintable.go +12 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktestatcontext.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktestutils.go +9 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktext.go +69 -49 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextbuffer.go +138 -85 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextchild.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextiter.go +179 -104 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextmark.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktexttag.go +8 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktexttagtable.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextview.go +145 -92 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktogglebutton.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktooltip.go +15 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreednd.go +34 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreeexpander.go +21 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreelistmodel.go +26 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreelistrowsorter.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreemodel.go +261 -113 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreemodelfilter.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreemodelsort.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreeselection.go +40 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreesortable.go +40 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreestore.go +45 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreeview.go +176 -105 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreeviewcolumn.go +102 -68 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktypes.go +74 -53 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkurilauncher.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkversion.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkvideo.go +28 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkviewport.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkvolumebutton.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwidget.go +357 -207 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwidgetpaintable.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwindow.go +121 -79 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwindowcontrols.go +16 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwindowgroup.go +8 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwindowhandle.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCClass.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCContext.go +32 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCException.go +23 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCOptions.go +32 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCValue.go +93 -73 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCVersion.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCVirtualMachine.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCWeakValue.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/layershell/gtk4-layer-shell.go +52 -38 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-attributes.go +160 -108 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-bidi-type.go +9 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-break.go +10 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-color.go +11 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-context.go +45 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-coverage.go +16 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-direction.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-font.go +153 -112 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-fontmap.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-fontset-simple.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-fontset.go +6 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-glyph-item.go +26 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-glyph.go +32 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-gravity.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-item.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-language.go +6 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-layout.go +201 -131 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-markup.go +4 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-matrix.go +27 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-renderer.go +39 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-script.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-tabs.go +34 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-types.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-utils.go +38 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-basic.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-digest.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-domain-basic.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-domain-digest.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-domain.go +19 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-manager.go +5 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-negotiate.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-ntlm.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth.go +32 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cache.go +16 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-content-decoder.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-content-sniffer.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cookie-jar-db.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cookie-jar-text.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cookie-jar.go +29 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cookie.go +15 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-date-utils.go +5 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-form.go +12 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-headers.go +30 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-hsts-enforcer-db.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-hsts-enforcer.go +14 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-logger.go +13 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-message-body.go +30 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-message-headers.go +68 -52 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-message.go +90 -64 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-multipart-input-stream.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-multipart.go +19 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-server-message.go +42 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-server.go +46 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-session-feature.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-session.go +74 -60 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-status.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-tld.go +6 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-types.go +113 -75 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-uri-utils.go +7 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-version.go +9 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-connection.go +39 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-extension-deflate.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-extension-manager.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-extension.go +20 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket.go +13 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitApplicationInfo.go +17 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitAuthenticationRequest.go +32 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitAutomationSession.go +10 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitBackForwardList.go +17 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitBackForwardListItem.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitClipboardPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitColorChooserRequest.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitContextMenu.go +31 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitContextMenuActions.go +13 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitContextMenuItem.go +20 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitCookieManager.go +27 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitCredential.go +23 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitDeviceInfoPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitDownload.go +22 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitEditorState.go +16 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitError.go +32 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFaviconDatabase.go +13 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFeature.go +29 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFileChooserRequest.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFindController.go +21 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFormSubmissionRequest.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitGeolocationManager.go +26 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitGeolocationPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitHitTestResult.go +28 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitImage.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitInputMethodContext.go +38 -38 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitMediaKeySystemPermissionRequest.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitMemoryPressureSettings.go +29 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNavigationAction.go +21 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNavigationPolicyDecision.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNetworkProxySettings.go +12 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNetworkSession.go +34 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNotification.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNotificationPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitOptionMenu.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitOptionMenuItem.go +19 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPermissionRequest.go +14 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPermissionStateQuery.go +14 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPointerLockPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPolicyDecision.go +11 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPrintOperation.go +15 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitResponsePolicyDecision.go +9 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitScriptDialog.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitSecurityManager.go +27 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitSecurityOrigin.go +19 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitSettings.go +255 -146 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURIRequest.go +12 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURIResponse.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURISchemeRequest.go +21 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURISchemeResponse.go +10 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURIUtilities.go +5 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserContent.go +30 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserContentFilterStore.go +22 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserContentManager.go +39 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserMediaPermissionRequest.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserMessage.go +15 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitVersion.go +9 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebContext.go +41 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebExtension.go +50 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebExtensionMatchPattern.go +34 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebInspector.go +20 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebResource.go +9 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebView.go +159 -118 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebViewBase.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebViewGtk4.go +13 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebViewSessionState.go +11 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsiteData.go +13 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsiteDataAccessPermissionRequest.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsiteDataManager.go +47 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsitePolicies.go +8 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWindowProperties.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitXRPermissionRequest.go +21 -27 collapsed to keep the page light
M vendor/modules.txt +5 -5 collapsed to keep the page light

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 8

Tags 42

↑↓ moveenter openesc close