v0.2.1 c0399be

gtkprogressbar.go RawHistoryFolder

1// Package gtk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gtk
3
4import (
5	"github.com/ebitengine/purego"
6
7	"github.com/bnema/puregotk/pkg/core"
8	"github.com/bnema/puregotk/v4/gobject"
9	"github.com/bnema/puregotk/v4/gobject/types"
10	"github.com/bnema/puregotk/v4/pango"
11)
12
13// Displays the progress of a long-running operation.
14//
15// `GtkProgressBar` provides a visual clue that processing is underway.
16// It can be used in two different modes: percentage mode and activity mode.
17//
18// <picture>
19//
20//	<source srcset="progressbar-dark.png" media="(prefers-color-scheme: dark)">
21//	<img alt="An example GtkProgressBar" src="progressbar.png">
22//
23// </picture>
24//
25// When an application can determine how much work needs to take place
26// (e.g. read a fixed number of bytes from a file) and can monitor its
27// progress, it can use the `GtkProgressBar` in percentage mode and the
28// user sees a growing bar indicating the percentage of the work that
29// has been completed. In this mode, the application is required to call
30// [method@Gtk.ProgressBar.set_fraction] periodically to update the progress bar.
31//
32// When an application has no accurate way of knowing the amount of work
33// to do, it can use the `GtkProgressBar` in activity mode, which shows
34// activity by a block moving back and forth within the progress area. In
35// this mode, the application is required to call [method@Gtk.ProgressBar.pulse]
36// periodically to update the progress bar.
37//
38// There is quite a bit of flexibility provided to control the appearance
39// of the `GtkProgressBar`. Functions are provided to control the orientation
40// of the bar, optional text can be displayed along with the bar, and the
41// step size used in activity mode can be set.
42//
43// # CSS nodes
44//
45// ```
46// progressbar[.osd]
47// ├── [text]
48// ╰── trough[.empty][.full]
49//
50//	╰── progress[.pulse]
51//
52// ```
53//
54// `GtkProgressBar` has a main CSS node with name progressbar and subnodes with
55// names text and trough, of which the latter has a subnode named progress. The
56// text subnode is only present if text is shown. The progress subnode has the
57// style class .pulse when in activity mode. It gets the style classes .left,
58// .right, .top or .bottom added when the progress 'touches' the corresponding
59// end of the GtkProgressBar. The .osd class on the progressbar node is for use
60// in overlays like the one Epiphany has for page loading progress.
61//
62// # Accessibility
63//
64// `GtkProgressBar` uses the [enum@Gtk.AccessibleRole.progress_bar] role
65// and sets the [enum@Gtk.AccessibleProperty.value_min], [enum@Gtk.AccessibleProperty.value_max] and [enum@Gtk.AccessibleProperty.value_now] properties to reflect
66// the progress.
67type ProgressBar struct {
68	Widget
69}
70
71var xProgressBarGLibType func() types.GType
72
73func ProgressBarGLibType() types.GType {
74	return xProgressBarGLibType()
75}
76
77func ProgressBarNewFromInternalPtr(ptr uintptr) *ProgressBar {
78	cls := &ProgressBar{}
79	cls.Ptr = ptr
80	return cls
81}
82
83var xNewProgressBar func() uintptr
84
85// Creates a new `GtkProgressBar`.
86func NewProgressBar() *ProgressBar {
87	var cls *ProgressBar
88
89	cret := xNewProgressBar()
90
91	if cret == 0 {
92		return nil
93	}
94	gobject.IncreaseRef(cret)
95	cls = &ProgressBar{}
96	cls.Ptr = cret
97	return cls
98}
99
100var xProgressBarGetEllipsize func(uintptr) pango.EllipsizeMode
101
102// Returns the ellipsizing position of the progress bar.
103//
104// See [method@Gtk.ProgressBar.set_ellipsize].
105func (x *ProgressBar) GetEllipsize() pango.EllipsizeMode {
106
107	cret := xProgressBarGetEllipsize(x.GoPointer())
108	return cret
109}
110
111var xProgressBarGetFraction func(uintptr) float64
112
113// Returns the current fraction of the task that’s been completed.
114func (x *ProgressBar) GetFraction() float64 {
115
116	cret := xProgressBarGetFraction(x.GoPointer())
117	return cret
118}
119
120var xProgressBarGetInverted func(uintptr) bool
121
122// Returns whether the progress bar is inverted.
123func (x *ProgressBar) GetInverted() bool {
124
125	cret := xProgressBarGetInverted(x.GoPointer())
126	return cret
127}
128
129var xProgressBarGetPulseStep func(uintptr) float64
130
131// Retrieves the pulse step.
132//
133// See [method@Gtk.ProgressBar.set_pulse_step].
134func (x *ProgressBar) GetPulseStep() float64 {
135
136	cret := xProgressBarGetPulseStep(x.GoPointer())
137	return cret
138}
139
140var xProgressBarGetShowText func(uintptr) bool
141
142// Returns whether the `GtkProgressBar` shows text.
143//
144// See [method@Gtk.ProgressBar.set_show_text].
145func (x *ProgressBar) GetShowText() bool {
146
147	cret := xProgressBarGetShowText(x.GoPointer())
148	return cret
149}
150
151var xProgressBarGetText func(uintptr) string
152
153// Retrieves the text that is displayed with the progress bar.
154//
155// The return value is a reference to the text, not a copy of it,
156// so will become invalid if you change the text in the progress bar.
157func (x *ProgressBar) GetText() string {
158
159	cret := xProgressBarGetText(x.GoPointer())
160	return cret
161}
162
163var xProgressBarPulse func(uintptr)
164
165// Indicates that some progress has been made, but you don’t know how much.
166//
167// Causes the progress bar to enter “activity mode,” where a block
168// bounces back and forth. Each call to [method@Gtk.ProgressBar.pulse]
169// causes the block to move by a little bit (the amount of movement
170// per pulse is determined by [method@Gtk.ProgressBar.set_pulse_step]).
171func (x *ProgressBar) Pulse() {
172
173	xProgressBarPulse(x.GoPointer())
174
175}
176
177var xProgressBarSetEllipsize func(uintptr, pango.EllipsizeMode)
178
179// Sets the mode used to ellipsize the text.
180//
181// The text is ellipsized if there is not enough space
182// to render the entire string.
183func (x *ProgressBar) SetEllipsize(ModeVar pango.EllipsizeMode) {
184
185	xProgressBarSetEllipsize(x.GoPointer(), ModeVar)
186
187}
188
189var xProgressBarSetFraction func(uintptr, float64)
190
191// Causes the progress bar to “fill in” the given fraction
192// of the bar.
193//
194// The fraction should be between 0.0 and 1.0, inclusive.
195func (x *ProgressBar) SetFraction(FractionVar float64) {
196
197	xProgressBarSetFraction(x.GoPointer(), FractionVar)
198
199}
200
201var xProgressBarSetInverted func(uintptr, bool)
202
203// Sets whether the progress bar is inverted.
204//
205// Progress bars normally grow from top to bottom or left to right.
206// Inverted progress bars grow in the opposite direction.
207func (x *ProgressBar) SetInverted(InvertedVar bool) {
208
209	xProgressBarSetInverted(x.GoPointer(), InvertedVar)
210
211}
212
213var xProgressBarSetPulseStep func(uintptr, float64)
214
215// Sets the fraction of total progress bar length to move the
216// bouncing block.
217//
218// The bouncing block is moved when [method@Gtk.ProgressBar.pulse]
219// is called.
220func (x *ProgressBar) SetPulseStep(FractionVar float64) {
221
222	xProgressBarSetPulseStep(x.GoPointer(), FractionVar)
223
224}
225
226var xProgressBarSetShowText func(uintptr, bool)
227
228// Sets whether the progress bar will show text next to the bar.
229//
230// The shown text is either the value of the [property@Gtk.ProgressBar:text]
231// property or, if that is %NULL, the [property@Gtk.ProgressBar:fraction] value,
232// as a percentage.
233//
234// To make a progress bar that is styled and sized suitably for containing
235// text (even if the actual text is blank), set [property@Gtk.ProgressBar:show-text]
236// to %TRUE and [property@Gtk.ProgressBar:text] to the empty string (not %NULL).
237func (x *ProgressBar) SetShowText(ShowTextVar bool) {
238
239	xProgressBarSetShowText(x.GoPointer(), ShowTextVar)
240
241}
242
243var xProgressBarSetText func(uintptr, uintptr)
244
245// Causes the given @text to appear next to the progress bar.
246//
247// If @text is %NULL and [property@Gtk.ProgressBar:show-text] is %TRUE,
248// the current value of [property@Gtk.ProgressBar:fraction] will be displayed
249// as a percentage.
250//
251// If @text is non-%NULL and [property@Gtk.ProgressBar:show-text] is %TRUE,
252// the text will be displayed. In this case, it will not display the progress
253// percentage. If @text is the empty string, the progress bar will still
254// be styled and sized suitably for containing text, as long as
255// [property@Gtk.ProgressBar:show-text] is %TRUE.
256func (x *ProgressBar) SetText(TextVar *string) {
257
258	TextVarPtr := core.GStrdupNullable(TextVar)
259	defer core.GFreeNullable(TextVarPtr)
260
261	xProgressBarSetText(x.GoPointer(), TextVarPtr)
262
263}
264
265func (c *ProgressBar) GoPointer() uintptr {
266	if c == nil {
267		return 0
268	}
269	return c.Ptr
270}
271
272func (c *ProgressBar) SetGoPointer(ptr uintptr) {
273	c.Ptr = ptr
274}
275
276// SetPropertyFraction sets the "fraction" property.
277// The fraction of total work that has been completed.
278func (x *ProgressBar) SetPropertyFraction(value float64) {
279	var v gobject.Value
280	v.Init(gobject.TypeDoubleVal)
281	v.SetDouble(value)
282	x.SetProperty("fraction", &v)
283}
284
285// GetPropertyFraction gets the "fraction" property.
286// The fraction of total work that has been completed.
287func (x *ProgressBar) GetPropertyFraction() float64 {
288	var v gobject.Value
289	x.GetProperty("fraction", &v)
290	return v.GetDouble()
291}
292
293// SetPropertyInverted sets the "inverted" property.
294// Invert the direction in which the progress bar grows.
295func (x *ProgressBar) SetPropertyInverted(value bool) {
296	var v gobject.Value
297	v.Init(gobject.TypeBooleanVal)
298	v.SetBoolean(value)
299	x.SetProperty("inverted", &v)
300}
301
302// GetPropertyInverted gets the "inverted" property.
303// Invert the direction in which the progress bar grows.
304func (x *ProgressBar) GetPropertyInverted() bool {
305	var v gobject.Value
306	x.GetProperty("inverted", &v)
307	return v.GetBoolean()
308}
309
310// SetPropertyPulseStep sets the "pulse-step" property.
311// The fraction of total progress to move the bounding block when pulsed.
312func (x *ProgressBar) SetPropertyPulseStep(value float64) {
313	var v gobject.Value
314	v.Init(gobject.TypeDoubleVal)
315	v.SetDouble(value)
316	x.SetProperty("pulse-step", &v)
317}
318
319// GetPropertyPulseStep gets the "pulse-step" property.
320// The fraction of total progress to move the bounding block when pulsed.
321func (x *ProgressBar) GetPropertyPulseStep() float64 {
322	var v gobject.Value
323	x.GetProperty("pulse-step", &v)
324	return v.GetDouble()
325}
326
327// SetPropertyShowText sets the "show-text" property.
328// Sets whether the progress bar will show a text in addition
329// to the bar itself.
330//
331// The shown text is either the value of the [property@Gtk.ProgressBar:text]
332// property or, if that is %NULL, the [property@Gtk.ProgressBar:fraction]
333// value, as a percentage.
334//
335// To make a progress bar that is styled and sized suitably for showing text
336// (even if the actual text is blank), set [property@Gtk.ProgressBar:show-text]
337// to %TRUE and [property@Gtk.ProgressBar:text] to the empty string (not %NULL).
338func (x *ProgressBar) SetPropertyShowText(value bool) {
339	var v gobject.Value
340	v.Init(gobject.TypeBooleanVal)
341	v.SetBoolean(value)
342	x.SetProperty("show-text", &v)
343}
344
345// GetPropertyShowText gets the "show-text" property.
346// Sets whether the progress bar will show a text in addition
347// to the bar itself.
348//
349// The shown text is either the value of the [property@Gtk.ProgressBar:text]
350// property or, if that is %NULL, the [property@Gtk.ProgressBar:fraction]
351// value, as a percentage.
352//
353// To make a progress bar that is styled and sized suitably for showing text
354// (even if the actual text is blank), set [property@Gtk.ProgressBar:show-text]
355// to %TRUE and [property@Gtk.ProgressBar:text] to the empty string (not %NULL).
356func (x *ProgressBar) GetPropertyShowText() bool {
357	var v gobject.Value
358	x.GetProperty("show-text", &v)
359	return v.GetBoolean()
360}
361
362// SetPropertyText sets the "text" property.
363// Text to be displayed in the progress bar.
364func (x *ProgressBar) SetPropertyText(value string) {
365	var v gobject.Value
366	v.Init(gobject.TypeStringVal)
367	v.SetString(&value)
368	x.SetProperty("text", &v)
369}
370
371// GetPropertyText gets the "text" property.
372// Text to be displayed in the progress bar.
373func (x *ProgressBar) GetPropertyText() string {
374	var v gobject.Value
375	x.GetProperty("text", &v)
376	return v.GetString()
377}
378
379// Requests the user's screen reader to announce the given message.
380//
381// This kind of notification is useful for messages that
382// either have only a visual representation or that are not
383// exposed visually at all, e.g. a notification about a
384// successful operation.
385//
386// Also, by using this API, you can ensure that the message
387// does not interrupts the user's current screen reader output.
388func (x *ProgressBar) Announce(MessageVar string, PriorityVar AccessibleAnnouncementPriority) {
389
390	XGtkAccessibleAnnounce(x.GoPointer(), MessageVar, PriorityVar)
391
392}
393
394// Retrieves the accessible parent for an accessible object.
395//
396// This function returns `NULL` for top level widgets.
397func (x *ProgressBar) GetAccessibleParent() *AccessibleBase {
398	var cls *AccessibleBase
399
400	cret := XGtkAccessibleGetAccessibleParent(x.GoPointer())
401
402	if cret == 0 {
403		return nil
404	}
405	cls = &AccessibleBase{}
406	cls.Ptr = cret
407	return cls
408}
409
410// Retrieves the accessible role of an accessible object.
411func (x *ProgressBar) GetAccessibleRole() AccessibleRole {
412
413	cret := XGtkAccessibleGetAccessibleRole(x.GoPointer())
414	return cret
415}
416
417// Retrieves the implementation for the given accessible object.
418func (x *ProgressBar) GetAtContext() *ATContext {
419	var cls *ATContext
420
421	cret := XGtkAccessibleGetAtContext(x.GoPointer())
422
423	if cret == 0 {
424		return nil
425	}
426	cls = &ATContext{}
427	cls.Ptr = cret
428	return cls
429}
430
431// Queries the coordinates and dimensions of this accessible
432//
433// This functionality can be overridden by `GtkAccessible`
434// implementations, e.g. to get the bounds from an ignored
435// child widget.
436func (x *ProgressBar) GetBounds(XVar *int, YVar *int, WidthVar *int, HeightVar *int) bool {
437
438	cret := XGtkAccessibleGetBounds(x.GoPointer(), XVar, YVar, WidthVar, HeightVar)
439	return cret
440}
441
442// Retrieves the first accessible child of an accessible object.
443func (x *ProgressBar) GetFirstAccessibleChild() *AccessibleBase {
444	var cls *AccessibleBase
445
446	cret := XGtkAccessibleGetFirstAccessibleChild(x.GoPointer())
447
448	if cret == 0 {
449		return nil
450	}
451	cls = &AccessibleBase{}
452	cls.Ptr = cret
453	return cls
454}
455
456// Retrieves the next accessible sibling of an accessible object
457func (x *ProgressBar) GetNextAccessibleSibling() *AccessibleBase {
458	var cls *AccessibleBase
459
460	cret := XGtkAccessibleGetNextAccessibleSibling(x.GoPointer())
461
462	if cret == 0 {
463		return nil
464	}
465	cls = &AccessibleBase{}
466	cls.Ptr = cret
467	return cls
468}
469
470// Queries a platform state, such as focus.
471//
472// This functionality can be overridden by `GtkAccessible`
473// implementations, e.g. to get platform state from an ignored
474// child widget, as is the case for `GtkText` wrappers.
475func (x *ProgressBar) GetPlatformState(StateVar AccessiblePlatformState) bool {
476
477	cret := XGtkAccessibleGetPlatformState(x.GoPointer(), StateVar)
478	return cret
479}
480
481// Resets the accessible property to its default value.
482func (x *ProgressBar) ResetProperty(PropertyVar AccessibleProperty) {
483
484	XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
485
486}
487
488// Resets the accessible relation to its default value.
489func (x *ProgressBar) ResetRelation(RelationVar AccessibleRelation) {
490
491	XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
492
493}
494
495// Resets the accessible state to its default value.
496func (x *ProgressBar) ResetState(StateVar AccessibleState) {
497
498	XGtkAccessibleResetState(x.GoPointer(), StateVar)
499
500}
501
502// Sets the parent and sibling of an accessible object.
503//
504// This function is meant to be used by accessible implementations that are
505// not part of the widget hierarchy, and but act as a logical bridge between
506// widgets. For instance, if a widget creates an object that holds metadata
507// for each child, and you want that object to implement the `GtkAccessible`
508// interface, you will use this function to ensure that the parent of each
509// child widget is the metadata object, and the parent of each metadata
510// object is the container widget.
511func (x *ProgressBar) SetAccessibleParent(ParentVar Accessible, NextSiblingVar Accessible) {
512
513	XGtkAccessibleSetAccessibleParent(x.GoPointer(), ParentVar.GoPointer(), NextSiblingVar.GoPointer())
514
515}
516
517// Updates the next accessible sibling.
518//
519// That might be useful when a new child of a custom accessible
520// is created, and it needs to be linked to a previous child.
521func (x *ProgressBar) UpdateNextAccessibleSibling(NewSiblingVar Accessible) {
522
523	XGtkAccessibleUpdateNextAccessibleSibling(x.GoPointer(), NewSiblingVar.GoPointer())
524
525}
526
527// Informs ATs that the platform state has changed.
528//
529// This function should be used by `GtkAccessible` implementations that
530// have a platform state but are not widgets. Widgets handle platform
531// states automatically.
532func (x *ProgressBar) UpdatePlatformState(StateVar AccessiblePlatformState) {
533
534	XGtkAccessibleUpdatePlatformState(x.GoPointer(), StateVar)
535
536}
537
538// Updates a list of accessible properties.
539//
540// See the [enum@Gtk.AccessibleProperty] documentation for the
541// value types of accessible properties.
542//
543// This function should be called by `GtkWidget` types whenever
544// an accessible property change must be communicated to assistive
545// technologies.
546//
547// Example:
548// ```c
549// value = gtk_adjustment_get_value (adjustment);
550// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
551//
552//	GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
553//	-1);
554//
555// ```
556func (x *ProgressBar) UpdateProperty(FirstPropertyVar AccessibleProperty, varArgs ...interface{}) {
557
558	XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
559
560}
561
562// Updates an array of accessible properties.
563//
564// This function should be called by `GtkWidget` types whenever an accessible
565// property change must be communicated to assistive technologies.
566//
567// This function is meant to be used by language bindings.
568func (x *ProgressBar) UpdatePropertyValue(NPropertiesVar int, PropertiesVar []AccessibleProperty, ValuesVar []gobject.Value) {
569
570	XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
571
572}
573
574// Updates a list of accessible relations.
575//
576// This function should be called by `GtkWidget` types whenever an accessible
577// relation change must be communicated to assistive technologies.
578//
579// If the [enum@Gtk.AccessibleRelation] requires a list of references,
580// you should pass each reference individually, followed by `NULL`, e.g.
581//
582// ```c
583// gtk_accessible_update_relation (accessible,
584//
585//	GTK_ACCESSIBLE_RELATION_CONTROLS,
586//	  ref1, NULL,
587//	GTK_ACCESSIBLE_RELATION_LABELLED_BY,
588//	  ref1, ref2, ref3, NULL,
589//	-1);
590//
591// ```
592func (x *ProgressBar) UpdateRelation(FirstRelationVar AccessibleRelation, varArgs ...interface{}) {
593
594	XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
595
596}
597
598// Updates an array of accessible relations.
599//
600// This function should be called by `GtkWidget` types whenever an accessible
601// relation change must be communicated to assistive technologies.
602//
603// This function is meant to be used by language bindings.
604func (x *ProgressBar) UpdateRelationValue(NRelationsVar int, RelationsVar []AccessibleRelation, ValuesVar []gobject.Value) {
605
606	XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
607
608}
609
610// Updates a list of accessible states.
611//
612// See the [enum@Gtk.AccessibleState] documentation for the
613// value types of accessible states.
614//
615// This function should be called by `GtkWidget` types whenever
616// an accessible state change must be communicated to assistive
617// technologies.
618//
619// Example:
620//
621// ```c
622// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
623// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
624//
625//	GTK_ACCESSIBLE_STATE_CHECKED, value,
626//	-1);
627//
628// ```
629func (x *ProgressBar) UpdateState(FirstStateVar AccessibleState, varArgs ...interface{}) {
630
631	XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
632
633}
634
635// Updates an array of accessible states.
636//
637// This function should be called by `GtkWidget` types whenever an accessible
638// state change must be communicated to assistive technologies.
639//
640// This function is meant to be used by language bindings.
641func (x *ProgressBar) UpdateStateValue(NStatesVar int, StatesVar []AccessibleState, ValuesVar []gobject.Value) {
642
643	XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
644
645}
646
647// Gets the ID of the @buildable object.
648//
649// `GtkBuilder` sets the name based on the ID attribute
650// of the `<object>` tag used to construct the @buildable.
651func (x *ProgressBar) GetBuildableId() string {
652
653	cret := XGtkBuildableGetBuildableId(x.GoPointer())
654	return cret
655}
656
657// Retrieves the orientation of the @orientable.
658func (x *ProgressBar) GetOrientation() Orientation {
659
660	cret := XGtkOrientableGetOrientation(x.GoPointer())
661	return cret
662}
663
664// Sets the orientation of the @orientable.
665func (x *ProgressBar) SetOrientation(OrientationVar Orientation) {
666
667	XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
668
669}
670
671func init() {
672	core.SetPackageName("GTK", "gtk4")
673	core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
674	var libs []uintptr
675	for _, libPath := range core.GetPaths("GTK") {
676		lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
677		if err != nil {
678			panic(err)
679		}
680		libs = append(libs, lib)
681	}
682
683	core.PuregoSafeRegister(&xProgressBarGLibType, libs, "gtk_progress_bar_get_type")
684
685	core.PuregoSafeRegister(&xNewProgressBar, libs, "gtk_progress_bar_new")
686
687	core.PuregoSafeRegister(&xProgressBarGetEllipsize, libs, "gtk_progress_bar_get_ellipsize")
688	core.PuregoSafeRegister(&xProgressBarGetFraction, libs, "gtk_progress_bar_get_fraction")
689	core.PuregoSafeRegister(&xProgressBarGetInverted, libs, "gtk_progress_bar_get_inverted")
690	core.PuregoSafeRegister(&xProgressBarGetPulseStep, libs, "gtk_progress_bar_get_pulse_step")
691	core.PuregoSafeRegister(&xProgressBarGetShowText, libs, "gtk_progress_bar_get_show_text")
692	core.PuregoSafeRegister(&xProgressBarGetText, libs, "gtk_progress_bar_get_text")
693	core.PuregoSafeRegister(&xProgressBarPulse, libs, "gtk_progress_bar_pulse")
694	core.PuregoSafeRegister(&xProgressBarSetEllipsize, libs, "gtk_progress_bar_set_ellipsize")
695	core.PuregoSafeRegister(&xProgressBarSetFraction, libs, "gtk_progress_bar_set_fraction")
696	core.PuregoSafeRegister(&xProgressBarSetInverted, libs, "gtk_progress_bar_set_inverted")
697	core.PuregoSafeRegister(&xProgressBarSetPulseStep, libs, "gtk_progress_bar_set_pulse_step")
698	core.PuregoSafeRegister(&xProgressBarSetShowText, libs, "gtk_progress_bar_set_show_text")
699	core.PuregoSafeRegister(&xProgressBarSetText, libs, "gtk_progress_bar_set_text")
700
701}

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