detached cce419f

README: Update example with finalizer comments

commit
cce419f990d3d92e39ce32f6a2fb0096aa6d015e
author
jwijenbergh · · 2024-01-11 10:12 UTC
parent
387c6c7
signature
GPG Unverified1A2298F6C34F96E5 The key is unknown
1 file · +8 -3
M README.md +8 -3
@@ -37,14 +37,16 @@ package main
3737
3838 import (
3939 "os"
40- "github.com/jwijenbergh/puregotk/v4/gtk"
40+
4141 "github.com/jwijenbergh/puregotk/v4/gio"
42+ "github.com/jwijenbergh/puregotk/v4/gtk"
4243 )
4344
4445 func main() {
4546 app := gtk.NewApplication("com.github.jwijenbergh.puregotk.gtk4.hello", gio.GApplicationFlagsNoneValue)
47+ // cleanup, no finalizers are used in this library
4648 defer app.Unref()
47- app.ConnectActivate(func (_ gio.Application) {
49+ app.ConnectActivate(func(_ gio.Application) {
4850 activate(app)
4951 })
5052
@@ -57,7 +59,10 @@ func activate(app *gtk.Application) {
5759 var window gtk.ApplicationWindow
5860 gtk.NewApplicationWindow(app).Cast(&window)
5961 window.SetTitle("purego")
60- window.SetChild(gtk.NewLabel("Hello, World!"))
62+ label := gtk.NewLabel("Hello, World!")
63+ window.SetChild(label)
64+ // cleanup, no finalizers are used in this library
65+ label.Unref()
6166 window.SetDefaultSize(500, 500)
6267 window.Show()
6368 }
@@ -37,14 +37,16 @@ package main
37 37
38 import (38 import (
39 "os"39 "os"
40- "github.com/jwijenbergh/puregotk/v4/gtk"40+
41 "github.com/jwijenbergh/puregotk/v4/gio"41 "github.com/jwijenbergh/puregotk/v4/gio"
42+ "github.com/jwijenbergh/puregotk/v4/gtk"
42 )43 )
43 44
44 func main() {45 func main() {
45 app := gtk.NewApplication("com.github.jwijenbergh.puregotk.gtk4.hello", gio.GApplicationFlagsNoneValue)46 app := gtk.NewApplication("com.github.jwijenbergh.puregotk.gtk4.hello", gio.GApplicationFlagsNoneValue)
47+ // cleanup, no finalizers are used in this library
46 defer app.Unref()48 defer app.Unref()
47- app.ConnectActivate(func (_ gio.Application) {49+ app.ConnectActivate(func(_ gio.Application) {
48 activate(app)50 activate(app)
49 })51 })
50 52
@@ -57,7 +59,10 @@ func activate(app *gtk.Application) {
57 var window gtk.ApplicationWindow59 var window gtk.ApplicationWindow
58 gtk.NewApplicationWindow(app).Cast(&window)60 gtk.NewApplicationWindow(app).Cast(&window)
59 window.SetTitle("purego")61 window.SetTitle("purego")
60- window.SetChild(gtk.NewLabel("Hello, World!"))62+ label := gtk.NewLabel("Hello, World!")
63+ window.SetChild(label)
64+ // cleanup, no finalizers are used in this library
65+ label.Unref()
61 window.SetDefaultSize(500, 500)66 window.SetDefaultSize(500, 500)
62 window.Show()67 window.Show()
63 }68 }

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 102

↑↓ moveenter openesc close