v0.2.1 c0399be

gdktoplevel.go RawHistoryFolder

1// Package gdk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gdk
3
4import (
5	"structs"
6	"unsafe"
7
8	"github.com/ebitengine/purego"
9
10	"github.com/bnema/puregotk/pkg/core"
11	"github.com/bnema/puregotk/v4/glib"
12	"github.com/bnema/puregotk/v4/gobject"
13	"github.com/bnema/puregotk/v4/gobject/types"
14)
15
16type ToplevelInterface struct {
17	_ structs.HostLayout
18}
19
20func (x *ToplevelInterface) GoPointer() uintptr {
21	return uintptr(unsafe.Pointer(x))
22}
23
24// A freestanding toplevel surface.
25//
26// The `GdkToplevel` interface provides useful APIs for interacting with
27// the windowing system, such as controlling maximization and size of the
28// surface, setting icons and transient parents for dialogs.
29type Toplevel interface {
30	GoPointer() uintptr
31	SetGoPointer(uintptr)
32	BeginMove(DeviceVar *Device, ButtonVar int, XVar float64, YVar float64, TimestampVar uint32)
33	BeginResize(EdgeVar SurfaceEdge, DeviceVar *Device, ButtonVar int, XVar float64, YVar float64, TimestampVar uint32)
34	Focus(TimestampVar uint32)
35	GetCapabilities() ToplevelCapabilities
36	GetGravity() Gravity
37	GetState() ToplevelState
38	InhibitSystemShortcuts(EventVar *Event)
39	Lower() bool
40	Minimize() bool
41	Present(LayoutVar *ToplevelLayout)
42	RestoreSystemShortcuts()
43	SetDecorated(DecoratedVar bool)
44	SetDeletable(DeletableVar bool)
45	SetGravity(GravityVar Gravity)
46	SetIconList(SurfacesVar *glib.List)
47	SetModal(ModalVar bool)
48	SetStartupId(StartupIdVar string)
49	SetTitle(TitleVar string)
50	SetTransientFor(ParentVar *Surface)
51	ShowWindowMenu(EventVar *Event) bool
52	SupportsEdgeConstraints() bool
53	TitlebarGesture(GestureVar TitlebarGesture) bool
54}
55
56var xToplevelGLibType func() types.GType
57
58func ToplevelGLibType() types.GType {
59	return xToplevelGLibType()
60}
61
62type ToplevelBase struct {
63	Ptr uintptr
64}
65
66func (x *ToplevelBase) GoPointer() uintptr {
67	if x == nil {
68		return 0
69	}
70	return x.Ptr
71}
72
73func (x *ToplevelBase) SetGoPointer(ptr uintptr) {
74	x.Ptr = ptr
75}
76
77// Begins an interactive move operation.
78//
79// You might use this function to implement draggable titlebars.
80func (x *ToplevelBase) BeginMove(DeviceVar *Device, ButtonVar int, XVar float64, YVar float64, TimestampVar uint32) {
81
82	XGdkToplevelBeginMove(x.GoPointer(), DeviceVar.GoPointer(), ButtonVar, XVar, YVar, TimestampVar)
83
84}
85
86// Begins an interactive resize operation.
87//
88// You might use this function to implement a “window resize grip.”
89func (x *ToplevelBase) BeginResize(EdgeVar SurfaceEdge, DeviceVar *Device, ButtonVar int, XVar float64, YVar float64, TimestampVar uint32) {
90
91	XGdkToplevelBeginResize(x.GoPointer(), EdgeVar, DeviceVar.GoPointer(), ButtonVar, XVar, YVar, TimestampVar)
92
93}
94
95// Sets keyboard focus to @surface.
96//
97// In most cases, [gtk_window_present_with_time()](../gtk4/method.Window.present_with_time.html)
98// should be used on a [GtkWindow](../gtk4/class.Window.html), rather than
99// calling this function.
100func (x *ToplevelBase) Focus(TimestampVar uint32) {
101
102	XGdkToplevelFocus(x.GoPointer(), TimestampVar)
103
104}
105
106// The capabilities that are available for this toplevel.
107func (x *ToplevelBase) GetCapabilities() ToplevelCapabilities {
108
109	cret := XGdkToplevelGetCapabilities(x.GoPointer())
110	return cret
111}
112
113// Returns the gravity that is used when changing the toplevel
114// size programmatically.
115func (x *ToplevelBase) GetGravity() Gravity {
116
117	cret := XGdkToplevelGetGravity(x.GoPointer())
118	return cret
119}
120
121// Gets the bitwise or of the currently active surface state flags,
122// from the `GdkToplevelState` enumeration.
123func (x *ToplevelBase) GetState() ToplevelState {
124
125	cret := XGdkToplevelGetState(x.GoPointer())
126	return cret
127}
128
129// Requests that the @toplevel inhibit the system shortcuts.
130//
131// This is asking the desktop environment/windowing system to let all
132// keyboard events reach the surface, as long as it is focused, instead
133// of triggering system actions.
134//
135// If granted, the rerouting remains active until the default shortcuts
136// processing is restored with [method@Gdk.Toplevel.restore_system_shortcuts],
137// or the request is revoked by the desktop environment, windowing system
138// or the user.
139//
140// A typical use case for this API is remote desktop or virtual machine
141// viewers which need to inhibit the default system keyboard shortcuts
142// so that the remote session or virtual host gets those instead of the
143// local environment.
144//
145// The windowing system or desktop environment may ask the user to grant
146// or deny the request or even choose to ignore the request entirely.
147//
148// The caller can be notified whenever the request is granted or revoked
149// by listening to the [property@Gdk.Toplevel:shortcuts-inhibited] property.
150func (x *ToplevelBase) InhibitSystemShortcuts(EventVar *Event) {
151
152	XGdkToplevelInhibitSystemShortcuts(x.GoPointer(), EventVar.GoPointer())
153
154}
155
156// Asks to lower the @toplevel below other windows.
157//
158// The windowing system may choose to ignore the request.
159func (x *ToplevelBase) Lower() bool {
160
161	cret := XGdkToplevelLower(x.GoPointer())
162	return cret
163}
164
165// Asks to minimize the @toplevel.
166//
167// The windowing system may choose to ignore the request.
168func (x *ToplevelBase) Minimize() bool {
169
170	cret := XGdkToplevelMinimize(x.GoPointer())
171	return cret
172}
173
174// Present @toplevel after having processed the `GdkToplevelLayout` rules.
175//
176// If the toplevel was previously not showing, it will be showed,
177// otherwise it will change layout according to @layout.
178//
179// GDK may emit the [signal@Gdk.Toplevel::compute-size] signal to let
180// the user of this toplevel compute the preferred size of the toplevel
181// surface.
182//
183// Presenting is asynchronous and the specified layout parameters are not
184// guaranteed to be respected.
185func (x *ToplevelBase) Present(LayoutVar *ToplevelLayout) {
186
187	XGdkToplevelPresent(x.GoPointer(), LayoutVar)
188
189}
190
191// Restore default system keyboard shortcuts which were previously
192// inhibited.
193//
194// This undoes the effect of [method@Gdk.Toplevel.inhibit_system_shortcuts].
195func (x *ToplevelBase) RestoreSystemShortcuts() {
196
197	XGdkToplevelRestoreSystemShortcuts(x.GoPointer())
198
199}
200
201// Sets the toplevel to be decorated.
202//
203// Setting @decorated to %FALSE hints the desktop environment
204// that the surface has its own, client-side decorations and
205// does not need to have window decorations added.
206func (x *ToplevelBase) SetDecorated(DecoratedVar bool) {
207
208	XGdkToplevelSetDecorated(x.GoPointer(), DecoratedVar)
209
210}
211
212// Sets the toplevel to be deletable.
213//
214// Setting @deletable to %TRUE hints the desktop environment
215// that it should offer the user a way to close the surface.
216func (x *ToplevelBase) SetDeletable(DeletableVar bool) {
217
218	XGdkToplevelSetDeletable(x.GoPointer(), DeletableVar)
219
220}
221
222// Sets the gravity that is used when changing the toplevel
223// size programmatically.
224func (x *ToplevelBase) SetGravity(GravityVar Gravity) {
225
226	XGdkToplevelSetGravity(x.GoPointer(), GravityVar)
227
228}
229
230// Sets a list of icons for the surface.
231//
232// One of these will be used to represent the surface in iconic form.
233// The icon may be shown in window lists or task bars. Which icon
234// size is shown depends on the window manager. The window manager
235// can scale the icon but setting several size icons can give better
236// image quality.
237//
238// Note that some platforms don't support surface icons.
239func (x *ToplevelBase) SetIconList(SurfacesVar *glib.List) {
240
241	XGdkToplevelSetIconList(x.GoPointer(), SurfacesVar)
242
243}
244
245// Sets the toplevel to be modal.
246//
247// The application can use this hint to tell the
248// window manager that a certain surface has modal
249// behaviour. The window manager can use this information
250// to handle modal surfaces in a special way.
251//
252// You should only use this on surfaces for which you have
253// previously called [method@Gdk.Toplevel.set_transient_for].
254func (x *ToplevelBase) SetModal(ModalVar bool) {
255
256	XGdkToplevelSetModal(x.GoPointer(), ModalVar)
257
258}
259
260// Sets the startup notification ID.
261//
262// When using GTK, typically you should use
263// [gtk_window_set_startup_id()](../gtk4/method.Window.set_startup_id.html)
264// instead of this low-level function.
265func (x *ToplevelBase) SetStartupId(StartupIdVar string) {
266
267	XGdkToplevelSetStartupId(x.GoPointer(), StartupIdVar)
268
269}
270
271// Sets the title of a toplevel surface.
272//
273// The title maybe be displayed in the titlebar,
274// in lists of windows, etc.
275func (x *ToplevelBase) SetTitle(TitleVar string) {
276
277	XGdkToplevelSetTitle(x.GoPointer(), TitleVar)
278
279}
280
281// Sets a transient-for parent.
282//
283// Indicates to the window manager that @surface is a transient
284// dialog associated with the application surface @parent. This
285// allows the window manager to do things like center @surface
286// on @parent and keep @surface above @parent.
287//
288// See [gtk_window_set_transient_for()](../gtk4/method.Window.set_transient_for.html)
289// if you’re using [GtkWindow](../gtk4/class.Window.html).
290func (x *ToplevelBase) SetTransientFor(ParentVar *Surface) {
291
292	XGdkToplevelSetTransientFor(x.GoPointer(), ParentVar.GoPointer())
293
294}
295
296// Asks the windowing system to show the window menu.
297//
298// The window menu is the menu shown when right-clicking the titlebar
299// on traditional windows managed by the window manager. This is useful
300// for windows using client-side decorations, activating it with a
301// right-click on the window decorations.
302func (x *ToplevelBase) ShowWindowMenu(EventVar *Event) bool {
303
304	cret := XGdkToplevelShowWindowMenu(x.GoPointer(), EventVar.GoPointer())
305	return cret
306}
307
308// Returns whether the desktop environment supports
309// tiled window states.
310func (x *ToplevelBase) SupportsEdgeConstraints() bool {
311
312	cret := XGdkToplevelSupportsEdgeConstraints(x.GoPointer())
313	return cret
314}
315
316// Performs a title bar gesture.
317func (x *ToplevelBase) TitlebarGesture(GestureVar TitlebarGesture) bool {
318
319	cret := XGdkToplevelTitlebarGesture(x.GoPointer(), GestureVar)
320	return cret
321}
322
323// SetPropertyDecorated sets the "decorated" property.
324// Whether the window manager should add decorations.
325func (x *ToplevelBase) SetPropertyDecorated(value bool) {
326	obj := gobject.Object{}
327	obj.Ptr = x.GoPointer()
328	var v gobject.Value
329	v.Init(gobject.TypeBooleanVal)
330	v.SetBoolean(value)
331	obj.SetProperty("decorated", &v)
332}
333
334// GetPropertyDecorated gets the "decorated" property.
335// Whether the window manager should add decorations.
336func (x *ToplevelBase) GetPropertyDecorated() bool {
337	obj := gobject.Object{}
338	obj.Ptr = x.GoPointer()
339	var v gobject.Value
340	obj.GetProperty("decorated", &v)
341	return v.GetBoolean()
342}
343
344// SetPropertyDeletable sets the "deletable" property.
345// Whether the window manager should allow to close the surface.
346func (x *ToplevelBase) SetPropertyDeletable(value bool) {
347	obj := gobject.Object{}
348	obj.Ptr = x.GoPointer()
349	var v gobject.Value
350	v.Init(gobject.TypeBooleanVal)
351	v.SetBoolean(value)
352	obj.SetProperty("deletable", &v)
353}
354
355// GetPropertyDeletable gets the "deletable" property.
356// Whether the window manager should allow to close the surface.
357func (x *ToplevelBase) GetPropertyDeletable() bool {
358	obj := gobject.Object{}
359	obj.Ptr = x.GoPointer()
360	var v gobject.Value
361	obj.GetProperty("deletable", &v)
362	return v.GetBoolean()
363}
364
365// SetPropertyIconList sets the "icon-list" property.
366// A list of textures to use as icon.
367func (x *ToplevelBase) SetPropertyIconList(value uintptr) {
368	obj := gobject.Object{}
369	obj.Ptr = x.GoPointer()
370	var v gobject.Value
371	v.Init(gobject.TypePointerVal)
372	v.SetPointer(value)
373	obj.SetProperty("icon-list", &v)
374}
375
376// GetPropertyIconList gets the "icon-list" property.
377// A list of textures to use as icon.
378func (x *ToplevelBase) GetPropertyIconList() uintptr {
379	obj := gobject.Object{}
380	obj.Ptr = x.GoPointer()
381	var v gobject.Value
382	obj.GetProperty("icon-list", &v)
383	return v.GetPointer()
384}
385
386// SetPropertyModal sets the "modal" property.
387// Whether the surface is modal.
388func (x *ToplevelBase) SetPropertyModal(value bool) {
389	obj := gobject.Object{}
390	obj.Ptr = x.GoPointer()
391	var v gobject.Value
392	v.Init(gobject.TypeBooleanVal)
393	v.SetBoolean(value)
394	obj.SetProperty("modal", &v)
395}
396
397// GetPropertyModal gets the "modal" property.
398// Whether the surface is modal.
399func (x *ToplevelBase) GetPropertyModal() bool {
400	obj := gobject.Object{}
401	obj.Ptr = x.GoPointer()
402	var v gobject.Value
403	obj.GetProperty("modal", &v)
404	return v.GetBoolean()
405}
406
407// GetPropertyShortcutsInhibited gets the "shortcuts-inhibited" property.
408// Whether the surface should inhibit keyboard shortcuts.
409func (x *ToplevelBase) GetPropertyShortcutsInhibited() bool {
410	obj := gobject.Object{}
411	obj.Ptr = x.GoPointer()
412	var v gobject.Value
413	obj.GetProperty("shortcuts-inhibited", &v)
414	return v.GetBoolean()
415}
416
417// SetPropertyStartupId sets the "startup-id" property.
418// The startup ID of the surface.
419//
420// See [class@Gdk.AppLaunchContext] for more information about
421// startup feedback.
422func (x *ToplevelBase) SetPropertyStartupId(value string) {
423	obj := gobject.Object{}
424	obj.Ptr = x.GoPointer()
425	var v gobject.Value
426	v.Init(gobject.TypeStringVal)
427	v.SetString(&value)
428	obj.SetProperty("startup-id", &v)
429}
430
431// GetPropertyStartupId gets the "startup-id" property.
432// The startup ID of the surface.
433//
434// See [class@Gdk.AppLaunchContext] for more information about
435// startup feedback.
436func (x *ToplevelBase) GetPropertyStartupId() string {
437	obj := gobject.Object{}
438	obj.Ptr = x.GoPointer()
439	var v gobject.Value
440	obj.GetProperty("startup-id", &v)
441	return v.GetString()
442}
443
444// SetPropertyTitle sets the "title" property.
445// The title of the surface.
446func (x *ToplevelBase) SetPropertyTitle(value string) {
447	obj := gobject.Object{}
448	obj.Ptr = x.GoPointer()
449	var v gobject.Value
450	v.Init(gobject.TypeStringVal)
451	v.SetString(&value)
452	obj.SetProperty("title", &v)
453}
454
455// GetPropertyTitle gets the "title" property.
456// The title of the surface.
457func (x *ToplevelBase) GetPropertyTitle() string {
458	obj := gobject.Object{}
459	obj.Ptr = x.GoPointer()
460	var v gobject.Value
461	obj.GetProperty("title", &v)
462	return v.GetString()
463}
464
465var XGdkToplevelBeginMove func(uintptr, uintptr, int, float64, float64, uint32)
466var XGdkToplevelBeginResize func(uintptr, SurfaceEdge, uintptr, int, float64, float64, uint32)
467var XGdkToplevelFocus func(uintptr, uint32)
468var XGdkToplevelGetCapabilities func(uintptr) ToplevelCapabilities
469var XGdkToplevelGetGravity func(uintptr) Gravity
470var XGdkToplevelGetState func(uintptr) ToplevelState
471var XGdkToplevelInhibitSystemShortcuts func(uintptr, uintptr)
472var XGdkToplevelLower func(uintptr) bool
473var XGdkToplevelMinimize func(uintptr) bool
474var XGdkToplevelPresent func(uintptr, *ToplevelLayout)
475var XGdkToplevelRestoreSystemShortcuts func(uintptr)
476var XGdkToplevelSetDecorated func(uintptr, bool)
477var XGdkToplevelSetDeletable func(uintptr, bool)
478var XGdkToplevelSetGravity func(uintptr, Gravity)
479var XGdkToplevelSetIconList func(uintptr, *glib.List)
480var XGdkToplevelSetModal func(uintptr, bool)
481var XGdkToplevelSetStartupId func(uintptr, string)
482var XGdkToplevelSetTitle func(uintptr, string)
483var XGdkToplevelSetTransientFor func(uintptr, uintptr)
484var XGdkToplevelShowWindowMenu func(uintptr, uintptr) bool
485var XGdkToplevelSupportsEdgeConstraints func(uintptr) bool
486var XGdkToplevelTitlebarGesture func(uintptr, TitlebarGesture) bool
487
488// Reflects what features a `GdkToplevel` supports.
489type ToplevelCapabilities int
490
491var xToplevelCapabilitiesGLibType func() types.GType
492
493func ToplevelCapabilitiesGLibType() types.GType {
494	return xToplevelCapabilitiesGLibType()
495}
496
497const (
498
499	// Whether tiled window states are supported.
500	ToplevelCapabilitiesEdgeConstraintsValue ToplevelCapabilities = 1
501	// Whether inhibiting system shortcuts is supported.
502	// See [method@Gdk.Toplevel.inhibit_system_shortcuts].
503	ToplevelCapabilitiesInhibitShortcutsValue ToplevelCapabilities = 2
504	// Whether titlebar gestures are supported.
505	// See [method@Gdk.Toplevel.titlebar_gesture].
506	ToplevelCapabilitiesTitlebarGesturesValue ToplevelCapabilities = 4
507	// Whether showing the window menu is supported.
508	// See [method@Gdk.Toplevel.show_window_menu].
509	ToplevelCapabilitiesWindowMenuValue ToplevelCapabilities = 8
510	// Whether the toplevel can be maximized.
511	ToplevelCapabilitiesMaximizeValue ToplevelCapabilities = 16
512	// Whether the toplevel can be made fullscreen.
513	ToplevelCapabilitiesFullscreenValue ToplevelCapabilities = 32
514	// Whether the toplevel can be minimized.
515	// See [method@Gdk.Toplevel.minimize].
516	ToplevelCapabilitiesMinimizeValue ToplevelCapabilities = 64
517	// Whether the toplevel can be lowered.
518	// See [method@Gdk.Toplevel.lower].
519	ToplevelCapabilitiesLowerValue ToplevelCapabilities = 128
520)
521
522// Specifies the state of a toplevel surface.
523//
524// On platforms that support information about individual edges, the
525// %GDK_TOPLEVEL_STATE_TILED state will be set whenever any of the individual
526// tiled states is set. On platforms that lack that support, the tiled state
527// will give an indication of tiledness without any of the per-edge states
528// being set.
529type ToplevelState int
530
531var xToplevelStateGLibType func() types.GType
532
533func ToplevelStateGLibType() types.GType {
534	return xToplevelStateGLibType()
535}
536
537const (
538
539	// the surface is minimized
540	ToplevelStateMinimizedValue ToplevelState = 1
541	// the surface is maximized
542	ToplevelStateMaximizedValue ToplevelState = 2
543	// the surface is sticky
544	ToplevelStateStickyValue ToplevelState = 4
545	// the surface is maximized without decorations
546	ToplevelStateFullscreenValue ToplevelState = 8
547	// the surface is kept above other surfaces
548	ToplevelStateAboveValue ToplevelState = 16
549	// the surface is kept below other surfaces
550	ToplevelStateBelowValue ToplevelState = 32
551	// the surface is presented as focused (with active decorations)
552	ToplevelStateFocusedValue ToplevelState = 64
553	// the surface is in a tiled state
554	ToplevelStateTiledValue ToplevelState = 128
555	// whether the top edge is tiled
556	ToplevelStateTopTiledValue ToplevelState = 256
557	// whether the top edge is resizable
558	ToplevelStateTopResizableValue ToplevelState = 512
559	// whether the right edge is tiled
560	ToplevelStateRightTiledValue ToplevelState = 1024
561	// whether the right edge is resizable
562	ToplevelStateRightResizableValue ToplevelState = 2048
563	// whether the bottom edge is tiled
564	ToplevelStateBottomTiledValue ToplevelState = 4096
565	// whether the bottom edge is resizable
566	ToplevelStateBottomResizableValue ToplevelState = 8192
567	// whether the left edge is tiled
568	ToplevelStateLeftTiledValue ToplevelState = 16384
569	// whether the left edge is resizable
570	ToplevelStateLeftResizableValue ToplevelState = 32768
571	// The surface is not visible to the user.
572	ToplevelStateSuspendedValue ToplevelState = 65536
573)
574
575// Indicates which monitor a surface should span over when in fullscreen mode.
576type FullscreenMode int
577
578var xFullscreenModeGLibType func() types.GType
579
580func FullscreenModeGLibType() types.GType {
581	return xFullscreenModeGLibType()
582}
583
584const (
585
586	// Fullscreen on current monitor only.
587	FullscreenOnCurrentMonitorValue FullscreenMode = 0
588	// Span across all monitors when fullscreen.
589	FullscreenOnAllMonitorsValue FullscreenMode = 1
590)
591
592// Determines a surface edge or corner.
593type SurfaceEdge int
594
595var xSurfaceEdgeGLibType func() types.GType
596
597func SurfaceEdgeGLibType() types.GType {
598	return xSurfaceEdgeGLibType()
599}
600
601const (
602
603	// the top left corner.
604	SurfaceEdgeNorthWestValue SurfaceEdge = 0
605	// the top edge.
606	SurfaceEdgeNorthValue SurfaceEdge = 1
607	// the top right corner.
608	SurfaceEdgeNorthEastValue SurfaceEdge = 2
609	// the left edge.
610	SurfaceEdgeWestValue SurfaceEdge = 3
611	// the right edge.
612	SurfaceEdgeEastValue SurfaceEdge = 4
613	// the lower left corner.
614	SurfaceEdgeSouthWestValue SurfaceEdge = 5
615	// the lower edge.
616	SurfaceEdgeSouthValue SurfaceEdge = 6
617	// the lower right corner.
618	SurfaceEdgeSouthEastValue SurfaceEdge = 7
619)
620
621// The kind of title bar gesture to emit with
622// [method@Gdk.Toplevel.titlebar_gesture].
623type TitlebarGesture int
624
625var xTitlebarGestureGLibType func() types.GType
626
627func TitlebarGestureGLibType() types.GType {
628	return xTitlebarGestureGLibType()
629}
630
631const (
632
633	// double click gesture
634	TitlebarGestureDoubleClickValue TitlebarGesture = 1
635	// right click gesture
636	TitlebarGestureRightClickValue TitlebarGesture = 2
637	// middle click gesture
638	TitlebarGestureMiddleClickValue TitlebarGesture = 3
639)
640
641func init() {
642	core.SetPackageName("GDK", "gtk4")
643	core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1"})
644	var libs []uintptr
645	for _, libPath := range core.GetPaths("GDK") {
646		lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
647		if err != nil {
648			panic(err)
649		}
650		libs = append(libs, lib)
651	}
652
653	core.PuregoSafeRegister(&xToplevelCapabilitiesGLibType, libs, "gdk_toplevel_capabilities_get_type")
654
655	core.PuregoSafeRegister(&xToplevelStateGLibType, libs, "gdk_toplevel_state_get_type")
656
657	core.PuregoSafeRegister(&xFullscreenModeGLibType, libs, "gdk_fullscreen_mode_get_type")
658
659	core.PuregoSafeRegister(&xSurfaceEdgeGLibType, libs, "gdk_surface_edge_get_type")
660
661	core.PuregoSafeRegister(&xTitlebarGestureGLibType, libs, "gdk_titlebar_gesture_get_type")
662
663	core.PuregoSafeRegister(&xToplevelGLibType, libs, "gdk_toplevel_get_type")
664
665	core.PuregoSafeRegister(&XGdkToplevelBeginMove, libs, "gdk_toplevel_begin_move")
666	core.PuregoSafeRegister(&XGdkToplevelBeginResize, libs, "gdk_toplevel_begin_resize")
667	core.PuregoSafeRegister(&XGdkToplevelFocus, libs, "gdk_toplevel_focus")
668	core.PuregoSafeRegister(&XGdkToplevelGetCapabilities, libs, "gdk_toplevel_get_capabilities")
669	core.PuregoSafeRegister(&XGdkToplevelGetGravity, libs, "gdk_toplevel_get_gravity")
670	core.PuregoSafeRegister(&XGdkToplevelGetState, libs, "gdk_toplevel_get_state")
671	core.PuregoSafeRegister(&XGdkToplevelInhibitSystemShortcuts, libs, "gdk_toplevel_inhibit_system_shortcuts")
672	core.PuregoSafeRegister(&XGdkToplevelLower, libs, "gdk_toplevel_lower")
673	core.PuregoSafeRegister(&XGdkToplevelMinimize, libs, "gdk_toplevel_minimize")
674	core.PuregoSafeRegister(&XGdkToplevelPresent, libs, "gdk_toplevel_present")
675	core.PuregoSafeRegister(&XGdkToplevelRestoreSystemShortcuts, libs, "gdk_toplevel_restore_system_shortcuts")
676	core.PuregoSafeRegister(&XGdkToplevelSetDecorated, libs, "gdk_toplevel_set_decorated")
677	core.PuregoSafeRegister(&XGdkToplevelSetDeletable, libs, "gdk_toplevel_set_deletable")
678	core.PuregoSafeRegister(&XGdkToplevelSetGravity, libs, "gdk_toplevel_set_gravity")
679	core.PuregoSafeRegister(&XGdkToplevelSetIconList, libs, "gdk_toplevel_set_icon_list")
680	core.PuregoSafeRegister(&XGdkToplevelSetModal, libs, "gdk_toplevel_set_modal")
681	core.PuregoSafeRegister(&XGdkToplevelSetStartupId, libs, "gdk_toplevel_set_startup_id")
682	core.PuregoSafeRegister(&XGdkToplevelSetTitle, libs, "gdk_toplevel_set_title")
683	core.PuregoSafeRegister(&XGdkToplevelSetTransientFor, libs, "gdk_toplevel_set_transient_for")
684	core.PuregoSafeRegister(&XGdkToplevelShowWindowMenu, libs, "gdk_toplevel_show_window_menu")
685	core.PuregoSafeRegister(&XGdkToplevelSupportsEdgeConstraints, libs, "gdk_toplevel_supports_edge_constraints")
686	core.PuregoSafeRegister(&XGdkToplevelTitlebarGesture, libs, "gdk_toplevel_titlebar_gesture")
687
688}

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