im钱包安装下载|gio

作者: im钱包安装下载
2024-03-07 18:57:54

GrowingIO官网|全域全场景智能易用的分析云

GrowingIO官网|全域全场景智能易用的分析云

增长平台

客户数据平台

增长分析

智能运营

应用市场

咨询服务

用户旅程优化

私域运营

数字化转型

用户全生命周期管理

品牌DTC转型

行业案例

增长学堂

行业报告

公开课

公司动态

公司介绍

新闻资讯

增长大会

StartDT DAY

市场活动

加入我们

登录

免费体验Demo

增长平台

客户数据平台

增长分析

智能运营

应用市场

咨询服务

用户旅程优化

私域运营

数字化转型

用户全生命周期管理

品牌DTC转型

行业案例

增长学堂

行业报告

公开课

公司动态

公司介绍

新闻资讯

增长大会

StartDT DAY

市场活动

加入我们

登录

免费试用

核心竞争力

GrowingIO 增长平台

咨询服务

行业案例

加入我们

客户证言

助力千家企业实现增长

新闻资讯

全域全场景智能易用的分析云

数据+智能+营销,赋能商业决策,实现业绩增长

了解更多

核心竞争力

从洞察到收益,用实效检验数据价值

能力

中国增长黑客理论布道者,数据分析行业优秀企业

服务

创建自动行为数据采集和AI智能预测推荐模型

行业

上千家客户服务经验,积累丰富的行业经验,将最佳实践赋能客户

产品

覆盖从数据采集处理、分析、到AI智能化应用的一站式解决方案

技术

高级数据专家+企业增长策略,助力企业营收及用户双增长

团队

业内优秀的研发与业务团队,海内外前沿数据科学家团队科研技术加持

GrowingIO 增长平台

打造数据运营闭环,助力高效敏捷增长

客户数据平台

查看更多

CDP:整合多端数据,统一用户 ID

整合多端数据,统一用户 ID

支持历史数据导入和内部系统对接

灵活设置标签,支持实时用户画像

增长分析

查看更多

UBA:利用数据打造更好的产品

实时全景监测用户数据

多种分析工具,友好易用

支持多维分析,灵活下钻

智能运营

查看更多

MA:智能精准地与用户建立连接

标签+分群,精准筛选用户

绘制运营画布,自动触发个性旅程

实时优化策略,落地运营闭环

应用市场

查看更多

开箱即用的行业应用及模型市场

精准的商业投放

科学的用户运营决策

助力企业充分挖掘数据价值

咨询服务

从洞察到收益,用实效检验数据价值

用户旅程优化

私域运营

数字化转型

用户全生命周期管理

品牌DTC转型

行业案例

京东安联

保险行业数字化转型成功实践

京东安联

保险行业数字化转型成功实践

得益乳业

3个月,区域内在线化业务GMV环比增长902%

得益乳业

3个月,区域内在线化业务GMV环比增长902%

卓诗尼

营销触达转化率不断刷新历史记录,从1%提升至8%。

卓诗尼

营销触达转化率不断刷新历史记录,从1%提升至8%。

汉光百货

小程序营收单品牌单日增幅超约300%

汉光百货

小程序营收单品牌单日增幅超约300%

中原地产

GrowingIO助力中原地产私域建设,用数据驱动地产行业用户及业务增长

中原地产

GrowingIO助力中原地产私域建设,用数据驱动地产行业用户及业务增长

查看更多案例

加入我们

人才是每一场伟大变革的核心所在

了解更多

我们相信人是一个伟大公司的根本

我们提倡开放交流与自由表达,鼓励学习创新并追求极致。

了解更多

来自客户的肯定

从洞察到收益,用实效检验数据价值

GrowingIO 帮助我们将仁和App、官网和官微等分散在各处的数据进行整合打通,并完成了指标体系、标签体系的搭建;逐步实现了运营场景落地,实践线上数据化营销活动。

招商仁和客户服务部总经理

GrowingIO在数据源整合、指标体系规划以及标签系统搭建等方面的能力非常强且经验丰富,帮助我们在短期内建立起高效的数据增长体系。

蛮牛健康增长团队负责人

   GrowingIO 作为一家第三方数据采集及分析平台,为我们提供了一整套数据采集、清洗整理、展现分析的一站式解决方案。如今已经无法想象诸多工作如果不通过 GrowingIO 来实现将是多么的复杂。

中原地产增长负责人

GrowingIO 帮助安踏官⽅商城完成了包括指标体系规划、渠道监测⽅案、产品优化策略在内的全套数据增⻓解决⽅案,实现了业务流程的数据驱动,⼤幅度提升了消费者的满意度和全⽣命周期价值。

安踏新零售业务部负责人

助力千家企业实现增长

新闻资讯

培育超级用户,必备用户全生命周期(CLV)方法论+RFM模型

来源:GrowingIO微信公众号

2024-01-31

企业如何以数据为支撑,深度打磨产品?

来源:GrowingIO微信公众号

2024-01-31

企业做市场投放,如何找到高质量的用户和渠道

来源:GrowingIO微信公众号

2024-01-31

用好「新型波士顿矩阵」,快速提升私域转化|场景解决方案

来源:GrowingIO微信公众号

2023-12-07

活动效果评估指南

来源:GrowingIO微信公众号

2023-09-15

GrowingIO「RFM标签」:快速实现精准分层营销,操作零门槛

来源:GrowingIO微信公众号

2023-09-04

GrowingIO场景解决方案:如何监控和优化搜索功能?

来源:GrowingIO微信公众号

2023-08-24

客户数据平台新增LTV预测标签:轻松点击,解锁高价值用户识别能力

来源:GrowingIO微信公众号

2023-08-18

GrowingIO分析模型弹性设计:让人人都是分析师

来源:GrowingIO微信公众号

2023-08-18

场景解决方案|做好首页流量分发,购买转化率提升600%+

来源:GrowingIO微信公众号

2023-08-09

技术干货|扩展ClickHouse后,分析云SQL效率提升了500%

来源:GrowingIO微信公众号

2023-08-07

GrowingIO客户数据平台(CDP)能力升级!支持资产圈群,提高企业服务效率

来源:GrowingIO微信公众号

2023-07-14

秒级更新标签值,GrowingIO实时标签功能助力企业提升30%用户转化

来源:GrowingIO微信公众号

2023-07-12

将潜客首购转化率提升20%,GrowingIO首复间隔分析模型能做这些事

来源:GrowingIO微信公众号

2023-07-11

GrowingIO推出新分析应用“渠道价值分析”,助力企业快速评估广告投放ROI

来源:GrowingIO微信公众号

2023-06-30

三大经典场景,GrowingIO助力企业实现不可估量的价值

来源:GrowingIO微信公众号

2023-06-19

GrowingIO产品发版:全系进化,分析更深入、实时性更强

来源:GrowingIO微信公众号

2023-06-07

张溪梦:生成式AI将帮助行业实现真正的“千人千面”

来源:GrowingIO微信公众号

2023-05-25

为什么BI花5天完成的分析,UBA只需30秒?

来源:GrowingIO微信公众号

2023-05-15

从维护几百张表到只需维护一张表,一个UEI模型就够了

2023-04-21

张溪梦:数据闭环趋势明显、全域营销将成主流,TOB企业如何破局?

来源:GrowingIO微信公众号

2023-04-21

张溪梦:用户行为改变、AIGC火热,给企业带来三大增长机会

来源:GrowingIO微信公众号

2023-04-21

张溪梦:预算收紧,企业更要拿钱做数字化建设

来源:GrowingIO微信公众号

2023-04-21

旗下1500+子公司,GrowingIO如何助力集团企业实现灵活数据管控?

来源:GrowingIO微信公众号

2023-04-21

GrowingIO所属奇点云集团完成近亿元C2轮融资,加速“企业级”布局

来源:GrowingIO微信公众号

2023-04-21

全域、实时、可配置,GrowingIO推出OneID融合产品

来源:GrowingIO微信公众号

2023-04-21

GrowingIO推出数据兼容、实时准确的采集云平台

来源:GrowingIO微信公众号

2023-04-21

三大案例,见证分析云企业级解决方案落地实践

2023-04-21

美妆企业如何通过DTC转型实现增长?钛媒体「创新场景50」有解

来源:钛媒体

2022-12-16

《PIPL数据安全合规白皮书》发布,了解数据云+分析云安全合规方案

来源:GrowingIO微信公众号

2022-12-08

全域全场景智能易用的分析云

免费体验 Demo

立即登录

增长平台

客户数据平台

增长分析

智能运营

应用市场

咨询服务

用户旅程优化

私域运营

数字化转型

用户全生命周期管理

品牌DTC转型

行业案例

增长学堂

行业报告

公开课

公司动态

公司介绍

新闻资讯

增长大会

StartDT DAY

市场活动

加入我们

关注我们

联系我们

客服电话:400-102-8388

联系邮箱:market@growingio.com

加入我们

联系我们

隐私条款

帮助文档

SDK相关说明

版权所有 © 北京易数科技有限公司

京ICP备15038330号

京公网安备 11010502037228号

Powered by Minethink

探索

开启您在GrowingIO的订制旅程

您更关注

私域

Z世代

行业案例

CEO洞察

市场活动

关注行业

快消

耐消

地产

金融

技术

运营

其他

您的信息

市场

技术

数字化负责人

其他

享受定制化推荐

不了,随便逛逛

在线咨询

咨询电话

咨询电话400-102-8388

申请演示

免费试用

了解 Gio:用 Go 语言构建跨平台图形应用 - 知乎

了解 Gio:用 Go 语言构建跨平台图形应用 - 知乎切换模式写文章登录/注册了解 Gio:用 Go 语言构建跨平台图形应用猿小玉一名程序员,目前在做游戏方向。Gioui 简介官网:https://gioui.org/Gioui 是一个使用 Go 语言编写的跨平台图形库,它由 Elias Naur 开发。 Gio 支持所有主要平台:Linux、macOS、Windows、Android、iOS、FreeBSD、OpenBSD 和 WebAssembly。它的设计目标是提供简单、高性能和一致的 API,使开发人员能够轻松构建图形化应用程序。Gioui 基于 OpenGL 和原生界面渲染,并具有以下主要特点:跨平台支持:Gioui 提供了对多个平台的支持,包括 Windows、Mac、Linux 和 Android。开发人员可以使用相同的代码库创建适用于不同平台的应用程序,减少了开发和维护的工作量。高性能:Gioui 的底层实现使用 OpenGL 和原生界面渲染,以提供出色的性能。它采用了现代的图形渲染技术,能够在各种平台上实现平滑的动画和流畅的用户体验。简洁的 API:Gioui 提供了简洁而一致的 API,使开发人员能够轻松构建用户界面。它采用声明式的方式定义界面组件,使代码易于编写和理解。Gioui 还提供了丰富的布局和绘图工具,以帮助开发人员创建各种复杂的界面。原生外观:Gioui 旨在提供与目标平台一致的外观和行为。它通过使用原生界面渲染,能够呈现出和操作系统默认应用程序类似的外观,为用户提供一致的体验。来一个栗子 体验下:1、go mod init gio.test2、创建main.go文件package main

import (

"image/color"

"log"

"os"

"gioui.org/app"

"gioui.org/font/gofont"

"gioui.org/io/system"

"gioui.org/layout"

"gioui.org/op"

"gioui.org/text"

"gioui.org/widget/material"

)

func main() {

go func() {

w := app.NewWindow()

err := run(w)

if err != nil {

log.Fatal(err)

}

os.Exit(0)

}()

app.Main()

}

func run(w *app.Window) error {

th := material.NewTheme(gofont.Collection())

var ops op.Ops

for {

e := <-w.Events()

switch e := e.(type) {

case system.DestroyEvent:

return e.Err

case system.FrameEvent:

gtx := layout.NewContext(&ops, e)

title := material.H1(th, "Hello, Gio")

maroon := color.NRGBA{R: 127, G: 0, B: 0, A: 255}

title.Color = maroon

title.Alignment = text.Middle

title.Layout(gtx)

e.Frame(gtx.Ops)

}

}

}

3、go run .4、更多精彩请大家参照官网学习发布于 2023-07-10 16:09・IP 属地北京跨平台​赞同 1​​添加评论​分享​喜欢​收藏​申请

Gio – 2.0

Gio – 2.0

Gio

API Version: 2.0

Library Version: 2.79.3

Sections

Classes

Interfaces

Structs

Enumerations

Bitfields

Error Domains

Callbacks

Functions

Function Macros

Constants

Dependencies

GLib

GModule

GObject

Generated by gi-docgen 2023.1

Namespace

Gio – 2.0

Gio is a library providing useful classes for general purpose I/O, networking, IPC, settings, and other high level application functionality

Version2.79.3

AuthorsGLib Development Team

LicenseLGPL-2.1-or-later

Websitehttps://www.gtk.org

Sourcehttps://gitlab.gnome.org/GNOME/glib/

Build

C headersgio/gdesktopappinfo.h, gio/gfiledescriptorbased.h, gio/gio.h, gio/gunixfdmessage.h, gio/gunixinputstream.h, gio/gunixmounts.h, gio/gunixoutputstream.h

pkg-config filesgio-2.0, gio-unix-2.0

Dependencies

GLib—2.0

The base utility library

Browse documentation

GModule—2.0

Portable API for dynamically loading modules

Browse documentation

GObject—2.0

The base type system library

Browse documentation

Additional documentation

Overview

File Attributes

TLS Overview

GIOError

Pollable Utility Functions

D-Bus Error Handling

D-Bus Introspection Data

D-Bus Name Owning

D-Bus Name Watching

D-Bus Utilities

GMenuModel Exporter

gnetworking.h

Migrating to GDBus

Migrating from GConf to GSettings

Migrating from GnomeVFS to GIO

Migrating from POSIX to GIO

GIOScheduler

Classes Hierarchy

Classes

AppInfoMonitor

GAppInfoMonitor monitors application information for changes.

since: 2.40

AppLaunchContext

Integrating the launch with the launching application. This is used to

handle for instance startup notification and launching the new application

on the same screen as the launching window.

Application

GApplication is the core class for application support.

since: 2.28

ApplicationCommandLine

GApplicationCommandLine represents a command-line invocation of

an application.

BufferedInputStream

Buffered input stream implements GFilterInputStream and provides

for buffered reads.

BufferedOutputStream

Buffered output stream implements GFilterOutputStream and provides

for buffered writes.

BytesIcon

GBytesIcon specifies an image held in memory in a common format (usually

PNG) to be used as icon.

since: 2.38

Cancellable

GCancellable allows operations to be cancelled.

CharsetConverter

GCharsetConverter is an implementation of GConverter based on

GIConv.

ConverterInputStream

Converter input stream implements GInputStream and allows

conversion of data of various types during reading.

ConverterOutputStream

Converter output stream implements GOutputStream and allows

conversion of data of various types during reading.

Credentials

The GCredentials type is a reference-counted wrapper for native credentials.

since: 2.26

DataInputStream

Data input stream implements GInputStream and includes functions

for reading structured data directly from a binary input stream.

DataOutputStream

Data output stream implements GOutputStream and includes functions

for writing data directly to an output stream.

DBusActionGroup

GDBusActionGroup is an implementation of the GActionGroup

interface.

DBusAuthObserver

GDBusAuthObserver provides a mechanism for participating

in how a GDBusServer (or a GDBusConnection)

authenticates remote peers.

since: 2.26

DBusConnection

The GDBusConnection type is used for D-Bus connections to remote

peers such as a message buses.

since: 2.26

DBusInterfaceSkeleton

Abstract base class for D-Bus interfaces on the service side.

since: 2.30

DBusMenuModel

GDBusMenuModel is an implementation of GMenuModel that can be

used as a proxy for a menu model that is exported over D-Bus with

g_dbus_connection_export_menu_model().

DBusMessage

A type for representing D-Bus messages that can be sent or received

on a GDBusConnection.

since: 2.26

DBusMethodInvocation

Instances of the GDBusMethodInvocation class are used when

handling D-Bus method calls. It provides a way to asynchronously

return results and errors.

since: 2.26

DBusObjectManagerClient

GDBusObjectManagerClient is used to create, monitor and delete object

proxies for remote objects exported by a GDBusObjectManagerServer

(or any code implementing the

org.freedesktop.DBus.ObjectManager interface).

since: 2.30

DBusObjectManagerServer

GDBusObjectManagerServer is used to export GDBusObject instances

using the standardized

org.freedesktop.DBus.ObjectManager

interface. For example, remote D-Bus clients can get all objects

and properties in a single call. Additionally, any change in the

object hierarchy is broadcast using signals. This means that D-Bus

clients can keep caches up to date by only listening to D-Bus signals.

since: 2.30

DBusObjectProxy

A GDBusObjectProxy is an object used to represent a remote object

with one or more D-Bus interfaces. Normally, you don’t instantiate

a GDBusObjectProxy yourself — typically GDBusObjectManagerClient

is used to obtain it.

since: 2.30

DBusObjectSkeleton

A GDBusObjectSkeleton instance is essentially a group of D-Bus

interfaces. The set of exported interfaces on the object may be

dynamic and change at runtime.

since: 2.30

DBusProxy

GDBusProxy is a base class used for proxies to access a D-Bus

interface on a remote object. A GDBusProxy can be constructed for

both well-known and unique names.

since: 2.26

DBusServer

GDBusServer is a helper for listening to and accepting D-Bus

connections. This can be used to create a new D-Bus server, allowing two

peers to use the D-Bus protocol for their own specialized communication.

A server instance provided in this way will not perform message routing or

implement the

org.freedesktop.DBus interface.

since: 2.26

DebugControllerDBus

GDebugControllerDBus is an implementation of GDebugController

which exposes debug settings as a D-Bus object.

since: 2.72

DesktopAppInfo

GDesktopAppInfo is an implementation of GAppInfo based on

desktop files.

Emblem

GEmblem is an implementation of GIcon that supports

having an emblem, which is an icon with additional properties.

It can than be added to a GEmblemedIcon.

EmblemedIcon

GEmblemedIcon is an implementation of GIcon that supports

adding an emblem to an icon. Adding multiple emblems to an

icon is ensured via g_emblemed_icon_add_emblem().

FileEnumerator

GFileEnumerator allows you to operate on a set of GFile objects,

returning a GFileInfo structure for each file enumerated (e.g.

g_file_enumerate_children() will return a GFileEnumerator for each

of the children within a directory).

FileIcon

GFileIcon specifies an icon by pointing to an image file

to be used as icon.

FileInfo

Stores information about a file system object referenced by a GFile.

FileInputStream

GFileInputStream provides input streams that take their

content from a file.

FileIOStream

GFileIOStream provides I/O streams that both read and write to the same

file handle.

since: 2.22

FileMonitor

Monitors a file or directory for changes.

FilenameCompleter

Completes partial file and directory names given a partial string by

looking in the file system for clues. Can return a list of possible

completion strings for widget implementations.

FileOutputStream

GFileOutputStream provides output streams that write their

content to a file.

FilterInputStream

Base class for input stream implementations that perform some

kind of filtering operation on a base stream. Typical examples

of filtering operations are character set conversion, compression

and byte order flipping.

FilterOutputStream

Base class for output stream implementations that perform some

kind of filtering operation on a base stream. Typical examples

of filtering operations are character set conversion, compression

and byte order flipping.

InetAddress

GInetAddress represents an IPv4 or IPv6 internet address. Use

g_resolver_lookup_by_name() or

g_resolver_lookup_by_name_async() to look up the GInetAddress for

a hostname. Use g_resolver_lookup_by_address() or

g_resolver_lookup_by_address_async() to look up the hostname for a

GInetAddress.

InetAddressMask

GInetAddressMask represents a range of IPv4 or IPv6 addresses

described by a base address and a length indicating how many bits

of the base address are relevant for matching purposes. These are

often given in string form. For example, 10.0.0.0/8, or fe80::/10.

since: 2.32

InetSocketAddress

An IPv4 or IPv6 socket address. That is, the combination of a

GInetAddress and a port number.

InputStream

GInputStream is a base class for implementing streaming input.

IOModule

Provides an interface and default functions for loading and unloading

modules. This is used internally to make GIO extensible, but can also

be used by others to implement module loading.

IOStream

GIOStream represents an object that has both read and write streams.

Generally the two streams act as separate input and output streams,

but they share some common resources and state. For instance, for

seekable streams, both streams may use the same position.

since: 2.22

ListStore

GListStore is a simple implementation of GListModel that stores

all items in memory.

MemoryInputStream

GMemoryInputStream is a class for using arbitrary

memory chunks as input for GIO streaming input operations.

MemoryOutputStream

GMemoryOutputStream is a class for using arbitrary

memory chunks as output for GIO streaming output operations.

Menu

GMenu is a simple implementation of GMenuModel.

You populate a GMenu by adding GMenuItem instances to it.

since: 2.32

MenuAttributeIter

GMenuAttributeIter is an opaque structure type. You must access it

using the functions below.

since: 2.32

MenuItem

GMenuItem is an opaque structure type. You must access it using the

functions below.

since: 2.32

MenuLinkIter

GMenuLinkIter is an opaque structure type. You must access it using

the functions below.

since: 2.32

MenuModel

GMenuModel represents the contents of a menu — an ordered list of

menu items. The items are associated with actions, which can be

activated through them. Items can be grouped in sections, and may

have submenus associated with them. Both items and sections usually

have some representation data, such as labels or icons. The type of

the associated action (ie whether it is stateful, and what kind of

state it has) can influence the representation of the item.

since: 2.32

MountOperation

GMountOperation provides a mechanism for interacting with the user.

It can be used for authenticating mountable operations, such as loop

mounting files, hard drive partitions or server locations. It can

also be used to ask the user questions or show a list of applications

preventing unmount or eject operations from completing.

NativeSocketAddress

A socket address of some unknown native type.

since: 2.46

NativeVolumeMonitor

NetworkAddress

GNetworkAddress provides an easy way to resolve a hostname and

then attempt to connect to that host, handling the possibility of

multiple IP addresses and multiple address families.

NetworkService

Like GNetworkAddress does with hostnames, GNetworkService

provides an easy way to resolve a SRV record, and then attempt to

connect to one of the hosts that implements that service, handling

service priority/weighting, multiple IP addresses, and multiple

address families.

Notification

GNotification is a mechanism for creating a notification to be shown

to the user — typically as a pop-up notification presented by the

desktop environment shell.

since: 2.40

OutputStream

GOutputStream is a base class for implementing streaming output.

Permission

A GPermission represents the status of the caller’s permission to

perform a certain action.

PropertyAction

A GPropertyAction is a way to get a GAction with a state value

reflecting and controlling the value of a GObject property.

since: 2.38

ProxyAddress

A GInetSocketAddress representing a connection via a proxy server.

since: 2.26

ProxyAddressEnumerator

GProxyAddressEnumerator is a wrapper around

GSocketAddressEnumerator which takes the GSocketAddress

instances returned by the GSocketAddressEnumerator

and wraps them in GProxyAddress instances, using the given

GProxyAddressEnumerator:proxy-resolver.

Resolver

The object that handles DNS resolution. Use g_resolver_get_default()

to get the default resolver.

Settings

The GSettings class provides a convenient API for storing and retrieving

application settings.

SettingsBackend

The GSettingsBackend interface defines a generic interface for

non-strictly-typed data that is stored in a hierarchy. To implement

an alternative storage backend for GSettings, you need to

implement the GSettingsBackend interface and then make it implement the

extension point G_SETTINGS_BACKEND_EXTENSION_POINT_NAME.

SimpleAction

A GSimpleAction is the obvious simple implementation of the

GAction interface. This is the easiest way to create an action for

purposes of adding it to a GSimpleActionGroup.

SimpleActionGroup

GSimpleActionGroup is a hash table filled with GAction objects,

implementing the GActionGroup and GActionMap

interfaces.

since: 2.28

SimpleAsyncResult

As of GLib 2.46, GSimpleAsyncResult is deprecated in favor of

GTask, which provides a simpler API.

SimpleIOStream

GSimpleIOStream creates a GIOStream from an arbitrary

GInputStream and GOutputStream. This allows any pair of

input and output streams to be used with GIOStream methods.

since: 2.44

SimplePermission

GSimplePermission is a trivial implementation of GPermission

that represents a permission that is either always or never allowed. The

value is given at construction and doesn’t change.

SimpleProxyResolver

GSimpleProxyResolver is a simple GProxyResolver implementation

that handles a single default proxy, multiple URI-scheme-specific

proxies, and a list of hosts that proxies should not be used for.

since: 2.36

Socket

A GSocket is a low-level networking primitive. It is a more or less

direct mapping of the BSD socket API in a portable GObject based API.

It supports both the UNIX socket implementations and winsock2 on Windows.

since: 2.22

SocketAddress

GSocketAddress is the equivalent of

struct sockaddr and its subtypes in the BSD sockets

API. This is an abstract class; use GInetSocketAddress for

internet sockets, or GUnixSocketAddress for UNIX domain sockets.

SocketAddressEnumerator

GSocketAddressEnumerator is an enumerator type for

GSocketAddress instances. It is returned by enumeration functions

such as g_socket_connectable_enumerate(), which returns a

GSocketAddressEnumerator to list each GSocketAddress which could

be used to connect to that GSocketConnectable.

SocketClient

GSocketClient is a lightweight high-level utility class for connecting to

a network host using a connection oriented socket type.

since: 2.22

SocketConnection

GSocketConnection is a GIOStream for a connected socket. They

can be created either by GSocketClient when connecting to a host,

or by GSocketListener when accepting a new client.

since: 2.22

SocketControlMessage

A GSocketControlMessage is a special-purpose utility message that

can be sent to or received from a GSocket. These types of

messages are often called ‘ancillary data’.

since: 2.22

SocketListener

A GSocketListener is an object that keeps track of a set

of server sockets and helps you accept sockets from any of the

socket, either sync or async.

since: 2.22

SocketService

A GSocketService is an object that represents a service that

is provided to the network or over local sockets. When a new

connection is made to the service the GSocketService::incoming

signal is emitted.

since: 2.22

Subprocess

GSubprocess allows the creation of and interaction with child processes.

since: 2.40

SubprocessLauncher

This class contains a set of options for launching child processes,

such as where its standard input and output will be directed, the

argument list, the environment, and more.

since: 2.40

Task

A GTask represents and manages a cancellable ‘task’.

TcpConnection

This is the subclass of GSocketConnection that is created

for TCP/IP sockets.

since: 2.22

TcpWrapperConnection

A GTcpWrapperConnection can be used to wrap a GIOStream that is

based on a GSocket, but which is not actually a

GSocketConnection. This is used by GSocketClient so

that it can always return a GSocketConnection, even when the

connection it has actually created is not directly a

GSocketConnection.

since: 2.28

TestDBus

A helper class for testing code which uses D-Bus without touching the user’s

session bus.

since: 2.34

ThemedIcon

GThemedIcon is an implementation of GIcon that supports icon themes.

ThreadedResolver

GThreadedResolver is an implementation of GResolver which calls the libc

lookup functions in threads to allow them to run asynchronously.

since: 2.20

ThreadedSocketService

A GThreadedSocketService is a simple subclass of GSocketService

that handles incoming connections by creating a worker thread and

dispatching the connection to it by emitting the

[signal@Gio.ThreadedSocketService::run signal] in the new thread.

since: 2.22

TlsCertificate

A certificate used for TLS authentication and encryption.

This can represent either a certificate only (eg, the certificate

received by a client from a server), or the combination of

a certificate and a private key (which is needed when acting as a

GTlsServerConnection).

since: 2.28

TlsConnection

GTlsConnection is the base TLS connection class type, which wraps

a GIOStream and provides TLS encryption on top of it. Its

subclasses, GTlsClientConnection and

GTlsServerConnection, implement client-side and server-side TLS, respectively.

since: 2.28

TlsDatabase

GTlsDatabase is used to look up certificates and other information

from a certificate or key store. It is an abstract base class which

TLS library specific subtypes override.

since: 2.30

TlsInteraction

GTlsInteraction provides a mechanism for the TLS connection and database

code to interact with the user. It can be used to ask the user for passwords.

since: 2.30

TlsPassword

An abstract interface representing a password used in TLS. Often used in

user interaction such as unlocking a key storage token.

since: 2.30

UnixConnection

This is the subclass of GSocketConnection that is created

for UNIX domain sockets.

since: 2.22

UnixCredentialsMessage

This GSocketControlMessage contains a GCredentials

instance. It may be sent using g_socket_send_message() and received

using g_socket_receive_message() over UNIX sockets (ie: sockets in

the G_SOCKET_FAMILY_UNIX family).

since: 2.26

UnixFDList

A GUnixFDList contains a list of file descriptors. It owns the file

descriptors that it contains, closing them when finalized.

UnixFDMessage

This GSocketControlMessage contains a GUnixFDList.

It may be sent using g_socket_send_message() and received using

g_socket_receive_message() over UNIX sockets (ie: sockets in the

G_SOCKET_FAMILY_UNIX family). The file descriptors are copied

between processes by the kernel.

UnixInputStream

GUnixInputStream implements GInputStream for reading from a UNIX

file descriptor, including asynchronous operations. (If the file

descriptor refers to a socket or pipe, this will use poll() to do

asynchronous I/O. If it refers to a regular file, it will fall back

to doing asynchronous I/O in another thread.)

UnixMountMonitor

Watches GUnixMounts for changes.

UnixOutputStream

GUnixOutputStream implements GOutputStream for writing to a UNIX

file descriptor, including asynchronous operations. (If the file

descriptor refers to a socket or pipe, this will use poll() to do

asynchronous I/O. If it refers to a regular file, it will fall back

to doing asynchronous I/O in another thread.)

UnixSocketAddress

Support for UNIX-domain (also known as local) sockets, corresponding to

struct sockaddr_un.

Vfs

Entry point for using GIO functionality.

VolumeMonitor

GVolumeMonitor is for listing the user interesting devices and volumes

on the computer. In other words, what a file selector or file manager

would show in a sidebar.

ZlibCompressor

GZlibCompressor is an implementation of GConverter that

compresses data using zlib.

ZlibDecompressor

GZlibDecompressor is an implementation of GConverter that

decompresses data compressed with zlib.

Interfaces

Action

GAction represents a single named action.

ActionGroup

GActionGroup represents a group of actions.

ActionMap

GActionMap is an interface for action containers.

since: 2.32

AppInfo

Information about an installed application and methods to launch

it (with file arguments).

AsyncInitable

GAsyncInitable is an interface for asynchronously initializable objects.

since: 2.22

AsyncResult

GAsyncResult provides a base class for implementing asynchronous function results.

Converter

GConverter is an interface for streaming conversions.

since: 2.24

DatagramBased

Interface for socket-like objects with datagram semantics.

since: 2.48

DBusInterface

Base type for D-Bus interfaces.

since: 2.30

DBusObject

The GDBusObject type is the base type for D-Bus objects on both

the service side (see GDBusObjectSkeleton) and the client side

(see GDBusObjectProxy). It is essentially just a container of interfaces.

DBusObjectManager

The GDBusObjectManager type is the base type for service- and

client-side implementations of the standardized

org.freedesktop.DBus.ObjectManager interface.

DebugController

GDebugController is an interface to expose control of debugging features and

debug output.

since: 2.72

DesktopAppInfoLookup

GDesktopAppInfoLookup is an opaque data structure and can only be accessed

using the following functions.

deprecated: 2.28 

Drive

GDrive represents a piece of hardware connected to the machine.

It’s generally only created for removable hardware or hardware with

removable media.

DtlsClientConnection

GDtlsClientConnection is the client-side subclass of

GDtlsConnection, representing a client-side DTLS connection.

since: 2.48

DtlsConnection

GDtlsConnection is the base DTLS connection class type, which wraps

a GDatagramBased and provides DTLS encryption on top of it. Its

subclasses, GDtlsClientConnection and

GDtlsServerConnection, implement client-side and server-side DTLS, respectively.

since: 2.48

DtlsServerConnection

GDtlsServerConnection is the server-side subclass of

GDtlsConnection, representing a server-side DTLS connection.

since: 2.48

File

GFile is a high level abstraction for manipulating files on a

virtual file system. GFiles are lightweight, immutable objects

that do no I/O upon creation. It is necessary to understand that

GFile objects do not represent files, merely an identifier for a

file. All file content I/O is implemented as streaming operations

(see GInputStream and GOutputStream).

FileDescriptorBased

GFileDescriptorBased is an interface for file descriptor based IO.

since: 2.24

Icon

GIcon is a very minimal interface for icons. It provides functions

for checking the equality of two icons, hashing of icons and

serializing an icon to and from strings.

Initable

GInitable is implemented by objects that can fail during

initialization. If an object implements this interface then

it must be initialized as the first thing after construction,

either via g_initable_init() or g_async_initable_init_async()

(the latter is only available if it also implements GAsyncInitable).

since: 2.22

ListModel

GListModel is an interface that represents a mutable list of

GObject. Its main intention is as a model for various widgets

in user interfaces, such as list views, but it can also be used as a

convenient method of returning lists of data, with support for updates.

LoadableIcon

GLoadableIcon extends the GIcon interface and adds the ability

to load icons from streams.

MemoryMonitor

GMemoryMonitor will monitor system memory and suggest to the application

when to free memory so as to leave more room for other applications.

It is implemented on Linux using the

Low Memory Monitor

(API documentation).

since: 2.64

Mount

The GMount interface represents user-visible mounts. Note, when

porting from GnomeVFS, GMount is the moral

equivalent of GnomeVFSVolume.

NetworkMonitor

GNetworkMonitor provides an easy-to-use cross-platform API

for monitoring network connectivity. On Linux, the available

implementations are based on the kernel’s netlink interface and

on NetworkManager.

since: 2.32

PollableInputStream

GPollableInputStream is implemented by GInputStreams that

can be polled for readiness to read. This can be used when

interfacing with a non-GIO API that expects

UNIX-file-descriptor-style asynchronous I/O rather than GIO-style.

since: 2.28

PollableOutputStream

GPollableOutputStream is implemented by GOutputStreams that

can be polled for readiness to write. This can be used when

interfacing with a non-GIO API that expects

UNIX-file-descriptor-style asynchronous I/O rather than GIO-style.

since: 2.28

PowerProfileMonitor

GPowerProfileMonitor makes it possible for applications as well as OS

components to monitor system power profiles and act upon them. It currently

only exports whether the system is in “Power Saver” mode (known as

“Low Power” mode on some systems).

since: 2.70

Proxy

A GProxy handles connecting to a remote host via a given type of

proxy server. It is implemented by the gio-proxy extension point.

The extensions are named after their proxy protocol name. As an

example, a SOCKS5 proxy implementation can be retrieved with the

name socks5 using the function

g_io_extension_point_get_extension_by_name().

since: 2.26

ProxyResolver

GProxyResolver provides synchronous and asynchronous network proxy

resolution. GProxyResolver is used within GSocketClient through

the method g_socket_connectable_proxy_enumerate().

since: 2.26

RemoteActionGroup

The GRemoteActionGroup interface is implemented by GActionGroup

instances that either transmit action invocations to other processes

or receive action invocations in the local process from other processes.

since: 2.32

Seekable

GSeekable is implemented by streams (implementations of

GInputStream or GOutputStream) that support seeking.

SocketConnectable

Objects that describe one or more potential socket endpoints

implement GSocketConnectable. Callers can then use

g_socket_connectable_enumerate() to get a

GSocketAddressEnumerator to try out each socket address in turn

until one succeeds, as shown in the sample code below.

TlsBackend

TLS (Transport Layer Security, aka SSL) and DTLS backend. This is an

internal type used to coordinate the different classes implemented

by a TLS backend.

since: 2.28

TlsClientConnection

GTlsClientConnection is the client-side subclass of

GTlsConnection, representing a client-side TLS connection.

since: 2.28

TlsFileDatabase

GTlsFileDatabase is implemented by GTlsDatabase objects which

load their certificate information from a file. It is an interface which

TLS library specific subtypes implement.

since: 2.30

TlsServerConnection

GTlsServerConnection is the server-side subclass of

GTlsConnection, representing a server-side TLS connection.

since: 2.28

Volume

The GVolume interface represents user-visible objects that can be

mounted. Note, when porting from GnomeVFS,

GVolume is the moral equivalent of GnomeVFSDrive.

Structs

ActionEntry

This struct defines a single action. It is for use with g_action_map_add_action_entries().

DBusAnnotationInfo

Information about an annotation.

since: 2.26

DBusArgInfo

Information about an argument for a method or a signal.

since: 2.26

DBusErrorEntry

Struct used in g_dbus_error_register_error_domain().

since: 2.26

DBusInterfaceInfo

Information about a D-Bus interface.

since: 2.26

DBusInterfaceVTable

Virtual table for handling properties and method calls for a D-Bus interface.

since: 2.26

DBusMethodInfo

Information about a method on an D-Bus interface.

since: 2.26

DBusNodeInfo

Information about nodes in a remote object hierarchy.

since: 2.26

DBusPropertyInfo

Information about a D-Bus property on a D-Bus interface.

since: 2.26

DBusSignalInfo

Information about a signal on a D-Bus interface.

since: 2.26

DBusSubtreeVTable

Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().

since: 2.26

FileAttributeInfo

Information about a specific attribute.

FileAttributeInfoList

Acts as a lightweight registry for possible valid file attributes.

The registry stores Key-Value pair formats as GFileAttributeInfos.

FileAttributeMatcher

Determines if a string matches a file attribute.

InputMessage

Structure used for scatter/gather data input when receiving multiple

messages or packets in one go. You generally pass in an array of empty

GInputVectors and the operation will use all the buffers as if they

were one buffer, and will set bytes_received to the total number of bytes

received across all GInputVectors.

since: 2.48

InputVector

Structure used for scatter/gather data input.

You generally pass in an array of GInputVectors

and the operation will store the read data starting in the

first buffer, switching to the next as needed.

since: 2.22

IOExtension

GIOExtension is an opaque data structure and can only be accessed

using the following functions.

IOExtensionPoint

GIOExtensionPoint provides a mechanism for modules to extend the

functionality of the library or application that loaded it in an

organized fashion.

IOModuleScope

Represents a scope for loading IO modules. A scope can be used for blocking

duplicate modules, or blocking a module you don’t want to load.

since: 2.30

IOSchedulerJob

Opaque class for defining and scheduling IO jobs.

deprecated: 2.36 

IOStreamAdapter

OutputMessage

Structure used for scatter/gather data output when sending multiple

messages or packets in one go. You generally pass in an array of

GOutputVectors and the operation will use all the buffers as if they

were one buffer.

since: 2.44

OutputVector

Structure used for scatter/gather data output.

You generally pass in an array of GOutputVectors

and the operation will use all the buffers as if they were

one buffer.

since: 2.22

Resource

Applications and libraries often contain binary or textual data that is

really part of the application, rather than user data. For instance

GtkBuilder .ui files,

splashscreen images, GMenu markup XML, CSS files, icons, etc.

These are often shipped as files in $datadir/appname, or manually

included as literal strings in the code.

since: 2.32

SettingsSchema

The GSettingsSchemaSource and GSettingsSchema APIs provide a

mechanism for advanced control over the loading of schemas and a

mechanism for introspecting their content.

since: 2.32

SettingsSchemaKey

GSettingsSchemaKey is an opaque data structure and can only be accessed

using the following functions.

SettingsSchemaSource

This is an opaque structure type. You may not access it directly.

since: 2.32

SrvTarget

A single target host/port that a network service is running on.

StaticResource

GStaticResource is an opaque data structure and can only be accessed

using the following functions.

UnixMountEntry

Defines a Unix mount entry (e.g. /media/cdrom).

This corresponds roughly to a mtab entry.

UnixMountPoint

Defines a Unix mount point (e.g. /dev).

This corresponds roughly to a fstab entry.

Enumerations

BusType

An enumeration for well-known message buses.

since: 2.26

ConverterResult

Results returned from g_converter_convert().

since: 2.24

CredentialsType

Enumeration describing different kinds of native credential types.

since: 2.26

DataStreamByteOrder

GDataStreamByteOrder is used to ensure proper endianness of streaming data sources

across various machine architectures.

DataStreamNewlineType

GDataStreamNewlineType is used when checking for or setting the line endings for a given file.

DBusMessageByteOrder

Enumeration used to describe the byte order of a D-Bus message.

since: 2.26

DBusMessageHeaderField

Header fields used in GDBusMessage.

since: 2.26

DBusMessageType

Message types used in GDBusMessage.

since: 2.26

DriveStartStopType

Enumeration describing how a drive can be started/stopped.

since: 2.22

EmblemOrigin

GEmblemOrigin is used to add information about the origin of the emblem

to GEmblem.

since: 2.18

FileAttributeStatus

Used by g_file_set_attributes_from_info() when setting file attributes.

FileAttributeType

The data types for file attributes.

FileMonitorEvent

Specifies what type of event a monitor event is.

FilesystemPreviewType

Indicates a hint from the file system whether files should be

previewed in a file manager. Returned as the value of the key

G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW.

FileType

Indicates the file’s on-disk type.

IOModuleScopeFlags

Flags for use with g_io_module_scope_new().

since: 2.30

MemoryMonitorWarningLevel

Memory availability warning levels.

since: 2.64

MountOperationResult

GMountOperationResult is returned as a result when a request for

information is send by the mounting operation.

NetworkConnectivity

The host’s network connectivity state, as reported by GNetworkMonitor.

since: 2.44

NotificationPriority

Priority levels for GNotifications.

since: 2.42

PasswordSave

GPasswordSave is used to indicate the lifespan of a saved password.

PollableReturn

Return value for various IO operations that signal errors via the

return value and not necessarily via a GError.

since: 2.60

ResolverRecordType

The type of record that g_resolver_lookup_records() or

g_resolver_lookup_records_async() should retrieve. The records are returned

as lists of GVariant tuples. Each record type has different values in

the variant tuples returned.

since: 2.34

SocketClientEvent

Describes an event occurring on a GSocketClient. See the

GSocketClient::event signal for more details.

since: 2.32

SocketFamily

The protocol family of a GSocketAddress. (These values are

identical to the system defines AF_INET, AF_INET6 and AF_UNIX,

if available.)

since: 2.22

SocketListenerEvent

Describes an event occurring on a GSocketListener. See the

GSocketListener::event signal for more details.

since: 2.46

SocketProtocol

A protocol identifier is specified when creating a GSocket, which is a

family/type specific identifier, where 0 means the default protocol for

the particular family/type.

since: 2.22

SocketType

Flags used when creating a GSocket. Some protocols may not implement

all the socket types.

since: 2.22

TlsAuthenticationMode

The client authentication mode for a GTlsServerConnection.

since: 2.28

TlsCertificateRequestFlags

Flags for g_tls_interaction_request_certificate(),

g_tls_interaction_request_certificate_async(), and g_tls_interaction_invoke_request_certificate().

since: 2.40

TlsChannelBindingType

The type of TLS channel binding data to retrieve from GTlsConnection

or GDtlsConnection, as documented by RFC 5929 or RFC 9266. The

tls-unique-for-telnet

binding type is not currently implemented.

since: 2.66

TlsDatabaseLookupFlags

Flags for g_tls_database_lookup_certificate_for_handle(),

g_tls_database_lookup_certificate_issuer(),

and g_tls_database_lookup_certificates_issued_by().

since: 2.30

TlsInteractionResult

GTlsInteractionResult is returned by various functions in GTlsInteraction

when finishing an interaction request.

since: 2.30

TlsProtocolVersion

The TLS or DTLS protocol version used by a GTlsConnection or

GDtlsConnection. The integer values of these versions are sequential

to ensure newer known protocol versions compare greater than older

known versions. Any known DTLS protocol version will compare greater

than any SSL or TLS protocol version. The protocol version may be

G_TLS_PROTOCOL_VERSION_UNKNOWN if the TLS backend supports a newer

protocol version that GLib does not yet know about. This means that

it’s possible for an unknown DTLS protocol version to compare less

than the TLS protocol versions.

since: 2.70

TlsRehandshakeMode

When to allow rehandshaking. See g_tls_connection_set_rehandshake_mode().

deprecated: 2.60. since: 2.28

UnixSocketAddressType

The type of name used by a GUnixSocketAddress.

G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain

socket bound to a filesystem path. G_UNIX_SOCKET_ADDRESS_ANONYMOUS

indicates a socket not bound to any name (eg, a client-side socket,

or a socket created with socketpair()).

since: 2.26

ZlibCompressorFormat

Used to select the type of data format to use for GZlibDecompressor

and GZlibCompressor.

since: 2.24

Bitfields

AppInfoCreateFlags

Flags used when creating a GAppInfo.

ApplicationFlags

Flags used to define the behaviour of a GApplication.

since: 2.28

AskPasswordFlags

GAskPasswordFlags are used to request specific information from the

user, or to notify the user of their choices in an authentication situation.

BusNameOwnerFlags

Flags used in g_bus_own_name().

since: 2.26

BusNameWatcherFlags

Flags used in g_bus_watch_name().

since: 2.26

ConverterFlags

Flags used when calling a g_converter_convert().

since: 2.24

DBusCallFlags

Flags used in g_dbus_connection_call() and similar APIs.

since: 2.26

DBusCapabilityFlags

Capabilities negotiated with the remote peer.

since: 2.26

DBusConnectionFlags

Flags used when creating a new GDBusConnection.

since: 2.26

DBusInterfaceSkeletonFlags

Flags describing the behavior of a GDBusInterfaceSkeleton instance.

since: 2.30

DBusMessageFlags

Message flags used in GDBusMessage.

since: 2.26

DBusObjectManagerClientFlags

Flags used when constructing a GDBusObjectManagerClient.

since: 2.30

DBusPropertyInfoFlags

Flags describing the access control of a D-Bus property.

since: 2.26

DBusProxyFlags

Flags used when constructing an instance of a GDBusProxy derived class.

since: 2.26

DBusSendMessageFlags

Flags used when sending GDBusMessages on a GDBusConnection.

since: 2.26

DBusServerFlags

Flags used when creating a GDBusServer.

since: 2.26

DBusSignalFlags

Flags used when subscribing to signals via g_dbus_connection_signal_subscribe().

since: 2.26

DBusSubtreeFlags

Flags passed to g_dbus_connection_register_subtree().

since: 2.26

DriveStartFlags

Flags used when starting a drive.

since: 2.22

FileAttributeInfoFlags

Flags specifying the behaviour of an attribute.

FileCopyFlags

Flags used when copying or moving files.

FileCreateFlags

Flags used when an operation may create a file.

FileMeasureFlags

Flags that can be used with g_file_measure_disk_usage().

since: 2.38

FileMonitorFlags

Flags used to set what a GFileMonitor will watch for.

FileQueryInfoFlags

Flags used when querying a GFileInfo.

IOStreamSpliceFlags

GIOStreamSpliceFlags determine how streams should be spliced.

since: 2.28

MountMountFlags

Flags used when mounting a mount.

MountUnmountFlags

Flags used when an unmounting a mount.

OutputStreamSpliceFlags

GOutputStreamSpliceFlags determine how streams should be spliced.

ResolverNameLookupFlags

Flags to modify lookup behavior.

since: 2.60

ResourceFlags

GResourceFlags give information about a particular file inside a resource bundle.

since: 2.32

ResourceLookupFlags

GResourceLookupFlags determine how resource path lookups are handled.

since: 2.32

SettingsBindFlags

Flags used when creating a binding. These flags determine in which

direction the binding works. The default is to synchronize in both directions.

SocketMsgFlags

Flags used in g_socket_receive_message() and g_socket_send_message().

The flags listed in the enum are some commonly available flags, but the

values used for them are the same as on the platform, and any other flags

are passed in/out as is. So to use a platform specific flag, just include

the right system header and pass in the flag.

since: 2.22

SubprocessFlags

Flags to define the behaviour of a GSubprocess.

since: 2.40

TestDBusFlags

Flags to define future GTestDBus behaviour.

since: 2.34

TlsCertificateFlags

A set of flags describing TLS certification validation. This can be

used to describe why a particular certificate was rejected (for

example, in GTlsConnection::accept-certificate).

since: 2.28

TlsDatabaseVerifyFlags

Flags for g_tls_database_verify_chain().

since: 2.30

TlsPasswordFlags

Various flags for the password.

since: 2.30

Error Domains

DBusError

Error codes for the G_DBUS_ERROR error domain.

since: 2.26

IOErrorEnum

Error codes returned by GIO functions.

ResolverError

An error code used with G_RESOLVER_ERROR in a GError returned

from a GResolver routine.

since: 2.22

ResourceError

An error code used with G_RESOURCE_ERROR in a GError returned

from a GResource routine.

since: 2.32

TlsChannelBindingError

An error code used with G_TLS_CHANNEL_BINDING_ERROR in a GError to

indicate a TLS channel binding retrieval error.

since: 2.66

TlsError

An error code used with G_TLS_ERROR in a GError returned from a

TLS-related routine.

since: 2.28

Callbacks

AsyncReadyCallback

Type definition for a function that will be called back when an asynchronous

operation within GIO has been completed. GAsyncReadyCallback

callbacks from GTask are guaranteed to be invoked in a later

iteration of the

[thread-default main context][g-main-context-push-thread-default]

where the GTask was created. All other users of

GAsyncReadyCallback must likewise call it asynchronously in a

later iteration of the main context.

BusAcquiredCallback

Invoked when a connection to a message bus has been obtained.

since: 2.26

BusNameAcquiredCallback

Invoked when the name is acquired.

since: 2.26

BusNameAppearedCallback

Invoked when the name being watched is known to have to have an owner.

since: 2.26

BusNameLostCallback

Invoked when the name is lost or connection has been closed.

since: 2.26

BusNameVanishedCallback

Invoked when the name being watched is known not to have to have an owner.

since: 2.26

CancellableSourceFunc

This is the function type of the callback used for the GSource

returned by g_cancellable_source_new().

since: 2.28

DatagramBasedSourceFunc

This is the function type of the callback used for the GSource

returned by g_datagram_based_create_source().

since: 2.48

DBusInterfaceGetPropertyFunc

The type of the get_property function in GDBusInterfaceVTable.

since: 2.26

DBusInterfaceMethodCallFunc

The type of the method_call function in GDBusInterfaceVTable.

since: 2.26

DBusInterfaceSetPropertyFunc

The type of the set_property function in GDBusInterfaceVTable.

since: 2.26

DBusMessageFilterFunction

Signature for function used in g_dbus_connection_add_filter().

since: 2.26

DBusProxyTypeFunc

Function signature for a function used to determine the GType to

use for an interface proxy (if interface_name is not NULL) or

object proxy (if interface_name is NULL).

since: 2.30

DBusSignalCallback

Signature for callback function used in g_dbus_connection_signal_subscribe().

since: 2.26

DBusSubtreeDispatchFunc

The type of the dispatch function in GDBusSubtreeVTable.

since: 2.26

DBusSubtreeEnumerateFunc

The type of the enumerate function in GDBusSubtreeVTable.

since: 2.26

DBusSubtreeIntrospectFunc

The type of the introspect function in GDBusSubtreeVTable.

since: 2.26

DesktopAppLaunchCallback

During invocation, g_desktop_app_info_launch_uris_as_manager() may

create one or more child processes. This callback is invoked once

for each, providing the process ID.

FileMeasureProgressCallback

This callback type is used by g_file_measure_disk_usage() to make

periodic progress reports when measuring the amount of disk spaced

used by a directory.

since: 2.38

FileProgressCallback

When doing file operations that may take a while, such as moving

a file or copying a file, a progress callback is used to pass how

far along that operation is to the application.

FileReadMoreCallback

When loading the partial contents of a file with g_file_load_partial_contents_async(),

it may become necessary to determine if any more data from the file should be loaded.

A GFileReadMoreCallback function facilitates this by returning TRUE if more data

should be read, or FALSE otherwise.

IOSchedulerJobFunc

I/O Job function.

deprecated: 2.36 

PollableSourceFunc

This is the function type of the callback used for the GSource

returned by g_pollable_input_stream_create_source() and g_pollable_output_stream_create_source().

since: 2.28

ReallocFunc

Changes the size of the memory block pointed to by data to

size bytes.

SettingsBindGetMapping

The type for the function that is used to convert from GSettings to

an object property. The value is already initialized to hold values

of the appropriate type.

SettingsBindSetMapping

The type for the function that is used to convert an object property

value to a GVariant for storing it in GSettings.

SettingsGetMapping

The type of the function that is used to convert from a value stored

in a GSettings to a value that is useful to the application.

SimpleAsyncThreadFunc

Simple thread function that runs an asynchronous operation and

checks for cancellation.

SocketSourceFunc

This is the function type of the callback used for the GSource

returned by g_socket_create_source().

since: 2.22

TaskThreadFunc

The prototype for a task function to be run in a thread via

g_task_run_in_thread() or g_task_run_in_thread_sync().

since: 2.36

VfsFileLookupFunc

This function type is used by g_vfs_register_uri_scheme() to make it

possible for a client to associate an URI scheme to a different GFile

implementation.

since: 2.50

Functions

bus_get

Asynchronously connects to the message bus specified by bus_type.

since: 2.26

bus_get_finish

Finishes an operation started with g_bus_get().

since: 2.26

bus_get_sync

Synchronously connects to the message bus specified by bus_type.

Note that the returned object may shared with other callers,

e.g. if two separate parts of a process calls this function with

the same bus_type, they will share the same object.

since: 2.26

bus_own_name

Starts acquiring name on the bus specified by bus_type and calls

name_acquired_handler and name_lost_handler when the name is

acquired respectively lost. Callbacks will be invoked in the

[thread-default main context][g-main-context-push-thread-default]

of the thread you are calling this function from.

since: 2.26

bus_own_name_on_connection

Like g_bus_own_name() but takes a GDBusConnection instead of a

GBusType.

since: 2.26

bus_own_name_on_connection_with_closures

Version of g_bus_own_name_on_connection() using closures instead of

callbacks for easier binding in other languages.

since: 2.26

bus_own_name_with_closures

Version of g_bus_own_name() using closures instead of callbacks for

easier binding in other languages.

since: 2.26

bus_unown_name

Stops owning a name.

since: 2.26

bus_unwatch_name

Stops watching a name.

since: 2.26

bus_watch_name

Starts watching name on the bus specified by bus_type and calls

name_appeared_handler and name_vanished_handler when the name is

known to have an owner respectively known to lose its

owner. Callbacks will be invoked in the

[thread-default main context][g-main-context-push-thread-default]

of the thread you are calling this function from.

since: 2.26

bus_watch_name_on_connection

Like g_bus_watch_name() but takes a GDBusConnection instead of a

GBusType.

since: 2.26

bus_watch_name_on_connection_with_closures

Version of g_bus_watch_name_on_connection() using closures instead of callbacks for

easier binding in other languages.

since: 2.26

bus_watch_name_with_closures

Version of g_bus_watch_name() using closures instead of callbacks for

easier binding in other languages.

since: 2.26

content_type_can_be_executable

Checks if a content type can be executable. Note that for instance

things like text files can be executables (i.e. scripts and batch files).

content_type_equals

Compares two content types for equality.

content_type_from_mime_type

Tries to find a content type based on the mime type name.

since: 2.18

content_type_get_description

Gets the human readable description of the content type.

content_type_get_generic_icon_name

Gets the generic icon name for a content type.

since: 2.34

content_type_get_icon

Gets the icon for a content type.

content_type_get_mime_dirs

Get the list of directories which MIME data is loaded from. See

g_content_type_set_mime_dirs() for details.

since: 2.60

content_type_get_mime_type

Gets the mime type for the content type, if one is registered.

content_type_get_symbolic_icon

Gets the symbolic icon for a content type.

since: 2.34

content_type_guess

Guesses the content type based on example data. If the function is

uncertain, result_uncertain will be set to TRUE. Either filename

or data may be NULL, in which case the guess will be based solely

on the other argument.

content_type_guess_for_tree

Tries to guess the type of the tree with root root, by

looking at the files it contains. The result is an array

of content types, with the best guess coming first.

since: 2.18

content_type_is_a

Determines if type is a subset of supertype.

content_type_is_mime_type

Determines if type is a subset of mime_type.

Convenience wrapper around g_content_type_is_a().

since: 2.52

content_type_is_unknown

Checks if the content type is the generic “unknown” type.

On UNIX this is the “application/octet-stream” mimetype,

while on win32 it is “*” and on OSX it is a dynamic type

or octet-stream.

content_type_set_mime_dirs

Set the list of directories used by GIO to load the MIME database.

If dirs is NULL, the directories used are the default:

since: 2.60

content_types_get_registered

Gets a list of strings containing all the registered content types

known to the system. The list and its data should be freed using

g_list_free_full (list, g_free).

dbus_address_escape_value

Escape string so it can appear in a D-Bus address as the value

part of a key-value pair.

since: 2.36

dbus_address_get_for_bus_sync

Synchronously looks up the D-Bus address for the well-known message

bus instance specified by bus_type. This may involve using various

platform specific mechanisms.

since: 2.26

dbus_address_get_stream

Asynchronously connects to an endpoint specified by address and

sets up the connection so it is in a state to run the client-side

of the D-Bus authentication conversation. address must be in the

D-Bus address format.

since: 2.26

dbus_address_get_stream_finish

Finishes an operation started with g_dbus_address_get_stream().

since: 2.26

dbus_address_get_stream_sync

Synchronously connects to an endpoint specified by address and

sets up the connection so it is in a state to run the client-side

of the D-Bus authentication conversation. address must be in the

D-Bus address format.

since: 2.26

dbus_escape_object_path

This is a language binding friendly version of g_dbus_escape_object_path_bytestring().

since: 2.68

dbus_escape_object_path_bytestring

Escapes bytes for use in a D-Bus object path component.

bytes is an array of zero or more nonzero bytes in an

unspecified encoding, followed by a single zero byte.

since: 2.68

dbus_generate_guid

Generate a D-Bus GUID that can be used with

e.g. g_dbus_connection_new().

since: 2.26

dbus_gvalue_to_gvariant

Converts a GValue to a GVariant of the type indicated by the type

parameter.

since: 2.30

dbus_gvariant_to_gvalue

Converts a GVariant to a GValue. If value is floating, it is consumed.

since: 2.30

dbus_is_address

Checks if string is a

D-Bus address.

since: 2.26

dbus_is_error_name

Check whether string is a valid D-Bus error name.

since: 2.70

dbus_is_guid

Checks if string is a D-Bus GUID.

since: 2.26

dbus_is_interface_name

Checks if string is a valid D-Bus interface name.

since: 2.26

dbus_is_member_name

Checks if string is a valid D-Bus member (e.g. signal or method) name.

since: 2.26

dbus_is_name

Checks if string is a valid D-Bus bus name (either unique or well-known).

since: 2.26

dbus_is_supported_address

Like g_dbus_is_address() but also checks if the library supports the

transports in string and that key/value pairs for each transport

are valid. See the specification of the

D-Bus address format.

since: 2.26

dbus_is_unique_name

Checks if string is a valid D-Bus unique bus name.

since: 2.26

dbus_unescape_object_path

Unescapes an string that was previously escaped with

g_dbus_escape_object_path(). If the string is in a format that could

not have been returned by g_dbus_escape_object_path(), this function

returns NULL.

since: 2.68

io_error_from_errno

Converts errno.h error codes into GIO error codes.

io_error_from_file_error

Converts GFileError error codes into GIO error codes.

since: 2.74

io_error_quark

Gets the GIO Error Quark.

io_modules_load_all_in_directory

Loads all the modules in the specified directory.

io_modules_load_all_in_directory_with_scope

Loads all the modules in the specified directory.

since: 2.30

io_modules_scan_all_in_directory

Scans all the modules in the specified directory, ensuring that

any extension point implemented by a module is registered.

since: 2.24

io_modules_scan_all_in_directory_with_scope

Scans all the modules in the specified directory, ensuring that

any extension point implemented by a module is registered.

since: 2.30

io_scheduler_cancel_all_jobs

Cancels all cancellable I/O jobs.

deprecated: 2.36 

io_scheduler_push_job

Schedules the I/O job to run in another thread.

deprecated: 2.36 

keyfile_settings_backend_new

Creates a keyfile-backed GSettingsBackend.

memory_settings_backend_new

Creates a memory-backed GSettingsBackend.

since: 2.28

networking_init

Initializes the platform networking libraries (eg, on Windows, this

calls WSAStartup()). GLib will call this itself if it is needed, so

you only need to call it if you directly call system networking

functions (without calling any GLib networking functions first).

since: 2.36

null_settings_backend_new

Creates a readonly GSettingsBackend.

since: 2.28

pollable_source_new

Utility method for GPollableInputStream and GPollableOutputStream

implementations. Creates a new GSource that expects a callback of

type GPollableSourceFunc. The new source does not actually do

anything on its own; use g_source_add_child_source() to add other

sources to it to cause it to trigger.

since: 2.28

pollable_source_new_full

Utility method for GPollableInputStream and GPollableOutputStream

implementations. Creates a new GSource, as with

g_pollable_source_new(), but also attaching child_source (with a

dummy callback), and cancellable, if they are non-NULL.

since: 2.34

pollable_stream_read

Tries to read from stream, as with g_input_stream_read() (if

blocking is TRUE) or g_pollable_input_stream_read_nonblocking()

(if blocking is FALSE). This can be used to more easily share

code between blocking and non-blocking implementations of a method.

since: 2.34

pollable_stream_write

Tries to write to stream, as with g_output_stream_write() (if

blocking is TRUE) or g_pollable_output_stream_write_nonblocking()

(if blocking is FALSE). This can be used to more easily share

code between blocking and non-blocking implementations of a method.

since: 2.34

pollable_stream_write_all

Tries to write count bytes to stream, as with

g_output_stream_write_all(), but using g_pollable_stream_write()

rather than g_output_stream_write().

since: 2.34

resources_enumerate_children

Returns all the names of children at the specified path in the set of

globally registered resources.

The return result is a NULL terminated list of strings which should

be released with g_strfreev().

since: 2.32

resources_get_info

Looks for a file at the specified path in the set of

globally registered resources and if found returns information about it.

since: 2.32

resources_lookup_data

Looks for a file at the specified path in the set of

globally registered resources and returns a GBytes that

lets you directly access the data in memory.

since: 2.32

resources_open_stream

Looks for a file at the specified path in the set of

globally registered resources and returns a GInputStream

that lets you read the data.

since: 2.32

resources_register

Registers the resource with the process-global set of resources.

Once a resource is registered the files in it can be accessed

with the global resource lookup functions like g_resources_lookup_data().

since: 2.32

resources_unregister

Unregisters the resource from the process-global set of resources.

since: 2.32

simple_async_report_error_in_idle

Reports an error in an asynchronous function in an idle function by

directly setting the contents of the GAsyncResult with the given error information.

deprecated: 2.46 

simple_async_report_gerror_in_idle

Reports an error in an idle function. Similar to

g_simple_async_report_error_in_idle(), but takes a GError rather

than building a new one.

deprecated: 2.46 

simple_async_report_take_gerror_in_idle

Reports an error in an idle function. Similar to

g_simple_async_report_gerror_in_idle(), but takes over the caller’s

ownership of error, so the caller does not have to free it any more.

deprecated: 2.46 since: 2.28

unix_is_mount_path_system_internal

Determines if mount_path is considered an implementation of the

OS. This is primarily used for hiding mountable and mounted volumes

that only are used in the OS and has little to no relevance to the

casual user.

unix_is_system_device_path

Determines if device_path is considered a block device path which is only

used in implementation of the OS. This is primarily used for hiding

mounted volumes that are intended as APIs for programs to read, and system

administrators at a shell; rather than something that should, for example,

appear in a GUI. For example, the Linux /proc filesystem.

since: 2.56

unix_is_system_fs_type

Determines if fs_type is considered a type of file system which is only

used in implementation of the OS. This is primarily used for hiding

mounted volumes that are intended as APIs for programs to read, and system

administrators at a shell; rather than something that should, for example,

appear in a GUI. For example, the Linux /proc filesystem.

since: 2.56

unix_mount_at

Gets a GUnixMountEntry for a given mount path. If time_read

is set, it will be filled with a unix timestamp for checking

if the mounts have changed since with g_unix_mounts_changed_since().

unix_mount_compare

Compares two unix mounts.

unix_mount_copy

Makes a copy of mount_entry.

since: 2.54

unix_mount_for

Gets a GUnixMountEntry for a given file path. If time_read

is set, it will be filled with a unix timestamp for checking

if the mounts have changed since with g_unix_mounts_changed_since().

since: 2.52

unix_mount_free

Frees a unix mount.

unix_mount_get_device_path

Gets the device path for a unix mount.

unix_mount_get_fs_type

Gets the filesystem type for the unix mount.

unix_mount_get_mount_path

Gets the mount path for a unix mount.

unix_mount_get_options

Gets a comma-separated list of mount options for the unix mount. For example,

rw,relatime,seclabel,data=ordered.

since: 2.58

unix_mount_get_root_path

Gets the root of the mount within the filesystem. This is useful e.g. for

mounts created by bind operation, or btrfs subvolumes.

since: 2.60

unix_mount_guess_can_eject

Guesses whether a Unix mount can be ejected.

unix_mount_guess_icon

Guesses the icon of a Unix mount.

unix_mount_guess_name

Guesses the name of a Unix mount.

The result is a translated string.

unix_mount_guess_should_display

Guesses whether a Unix mount should be displayed in the UI.

unix_mount_guess_symbolic_icon

Guesses the symbolic icon of a Unix mount.

since: 2.34

unix_mount_is_readonly

Checks if a unix mount is mounted read only.

unix_mount_is_system_internal

Checks if a Unix mount is a system mount. This is the Boolean OR of

g_unix_is_system_fs_type(), g_unix_is_system_device_path() and

g_unix_is_mount_path_system_internal() on mount_entry’s properties.

unix_mount_points_changed_since

Checks if the unix mount points have changed since a given unix time.

unix_mount_points_get

Gets a GList of GUnixMountPoint containing the unix mount points.

If time_read is set, it will be filled with the mount timestamp,

allowing for checking if the mounts have changed with g_unix_mount_points_changed_since().

unix_mounts_changed_since

Checks if the unix mounts have changed since a given unix time.

unix_mounts_get

Gets a GList of GUnixMountEntry containing the unix mounts.

If time_read is set, it will be filled with the mount

timestamp, allowing for checking if the mounts have changed

with g_unix_mounts_changed_since().

Function Macros

DBUS_ACTION_GROUP

DBUS_ACTION_GROUP_CLASS

DBUS_AUTH_OBSERVER

DBUS_CONNECTION

DBUS_INTERFACE

DBUS_INTERFACE_SKELETON

DBUS_INTERFACE_SKELETON_CLASS

DBUS_MENU_MODEL

DBUS_MESSAGE

DBUS_METHOD_INVOCATION

DBUS_OBJECT

DBUS_OBJECT_MANAGER

DBUS_OBJECT_MANAGER_CLIENT

DBUS_OBJECT_MANAGER_CLIENT_CLASS

DBUS_OBJECT_MANAGER_SERVER

DBUS_OBJECT_MANAGER_SERVER_CLASS

DBUS_OBJECT_PROXY

DBUS_OBJECT_PROXY_CLASS

DBUS_OBJECT_SKELETON

DBUS_OBJECT_SKELETON_CLASS

DBUS_PROXY

DBUS_PROXY_CLASS

DBUS_SERVER

DEPRECATED_ENUMERATOR_IN_2_26_FOR

DEPRECATED_ENUMERATOR_IN_2_28_FOR

DEPRECATED_ENUMERATOR_IN_2_30_FOR

DEPRECATED_ENUMERATOR_IN_2_32_FOR

DEPRECATED_ENUMERATOR_IN_2_34_FOR

DEPRECATED_ENUMERATOR_IN_2_36_FOR

DEPRECATED_ENUMERATOR_IN_2_38_FOR

DEPRECATED_ENUMERATOR_IN_2_40_FOR

DEPRECATED_ENUMERATOR_IN_2_42_FOR

DEPRECATED_ENUMERATOR_IN_2_44_FOR

DEPRECATED_ENUMERATOR_IN_2_46_FOR

DEPRECATED_ENUMERATOR_IN_2_48_FOR

DEPRECATED_ENUMERATOR_IN_2_50_FOR

DEPRECATED_ENUMERATOR_IN_2_52_FOR

DEPRECATED_ENUMERATOR_IN_2_54_FOR

DEPRECATED_ENUMERATOR_IN_2_56_FOR

DEPRECATED_ENUMERATOR_IN_2_58_FOR

DEPRECATED_ENUMERATOR_IN_2_60_FOR

DEPRECATED_ENUMERATOR_IN_2_62_FOR

DEPRECATED_ENUMERATOR_IN_2_64_FOR

DEPRECATED_ENUMERATOR_IN_2_66_FOR

DEPRECATED_ENUMERATOR_IN_2_68_FOR

DEPRECATED_ENUMERATOR_IN_2_70_FOR

DEPRECATED_ENUMERATOR_IN_2_72_FOR

DEPRECATED_ENUMERATOR_IN_2_74_FOR

DEPRECATED_ENUMERATOR_IN_2_76_FOR

DEPRECATED_ENUMERATOR_IN_2_78_FOR

DEPRECATED_ENUMERATOR_IN_2_80_FOR

DEPRECATED_FOR

DEPRECATED_IN_2_26_FOR

DEPRECATED_IN_2_28_FOR

DEPRECATED_IN_2_30_FOR

DEPRECATED_IN_2_32_FOR

DEPRECATED_IN_2_34_FOR

DEPRECATED_IN_2_36_FOR

DEPRECATED_IN_2_38_FOR

DEPRECATED_IN_2_40_FOR

DEPRECATED_IN_2_42_FOR

DEPRECATED_IN_2_44_FOR

DEPRECATED_IN_2_46_FOR

DEPRECATED_IN_2_48_FOR

DEPRECATED_IN_2_50_FOR

DEPRECATED_IN_2_52_FOR

DEPRECATED_IN_2_54_FOR

DEPRECATED_IN_2_56_FOR

DEPRECATED_IN_2_58_FOR

DEPRECATED_IN_2_60_FOR

DEPRECATED_IN_2_62_FOR

DEPRECATED_IN_2_64_FOR

DEPRECATED_IN_2_66_FOR

DEPRECATED_IN_2_68_FOR

DEPRECATED_IN_2_70_FOR

DEPRECATED_IN_2_72_FOR

DEPRECATED_IN_2_74_FOR

DEPRECATED_IN_2_76_FOR

DEPRECATED_IN_2_78_FOR

DEPRECATED_IN_2_80_FOR

DEPRECATED_MACRO_IN_2_26_FOR

DEPRECATED_MACRO_IN_2_28_FOR

DEPRECATED_MACRO_IN_2_30_FOR

DEPRECATED_MACRO_IN_2_32_FOR

DEPRECATED_MACRO_IN_2_34_FOR

DEPRECATED_MACRO_IN_2_36_FOR

DEPRECATED_MACRO_IN_2_38_FOR

DEPRECATED_MACRO_IN_2_40_FOR

DEPRECATED_MACRO_IN_2_42_FOR

DEPRECATED_MACRO_IN_2_44_FOR

DEPRECATED_MACRO_IN_2_46_FOR

DEPRECATED_MACRO_IN_2_48_FOR

DEPRECATED_MACRO_IN_2_50_FOR

DEPRECATED_MACRO_IN_2_52_FOR

DEPRECATED_MACRO_IN_2_54_FOR

DEPRECATED_MACRO_IN_2_56_FOR

DEPRECATED_MACRO_IN_2_58_FOR

DEPRECATED_MACRO_IN_2_60_FOR

DEPRECATED_MACRO_IN_2_62_FOR

DEPRECATED_MACRO_IN_2_64_FOR

DEPRECATED_MACRO_IN_2_66_FOR

DEPRECATED_MACRO_IN_2_68_FOR

DEPRECATED_MACRO_IN_2_70_FOR

DEPRECATED_MACRO_IN_2_72_FOR

DEPRECATED_MACRO_IN_2_74_FOR

DEPRECATED_MACRO_IN_2_76_FOR

DEPRECATED_MACRO_IN_2_78_FOR

DEPRECATED_MACRO_IN_2_80_FOR

DEPRECATED_TYPE_IN_2_26_FOR

DEPRECATED_TYPE_IN_2_28_FOR

DEPRECATED_TYPE_IN_2_30_FOR

DEPRECATED_TYPE_IN_2_32_FOR

DEPRECATED_TYPE_IN_2_34_FOR

DEPRECATED_TYPE_IN_2_36_FOR

DEPRECATED_TYPE_IN_2_38_FOR

DEPRECATED_TYPE_IN_2_40_FOR

DEPRECATED_TYPE_IN_2_42_FOR

DEPRECATED_TYPE_IN_2_44_FOR

DEPRECATED_TYPE_IN_2_46_FOR

DEPRECATED_TYPE_IN_2_48_FOR

DEPRECATED_TYPE_IN_2_50_FOR

DEPRECATED_TYPE_IN_2_52_FOR

DEPRECATED_TYPE_IN_2_54_FOR

DEPRECATED_TYPE_IN_2_56_FOR

DEPRECATED_TYPE_IN_2_58_FOR

DEPRECATED_TYPE_IN_2_60_FOR

DEPRECATED_TYPE_IN_2_62_FOR

DEPRECATED_TYPE_IN_2_64_FOR

DEPRECATED_TYPE_IN_2_66_FOR

DEPRECATED_TYPE_IN_2_68_FOR

DEPRECATED_TYPE_IN_2_70_FOR

DEPRECATED_TYPE_IN_2_72_FOR

DEPRECATED_TYPE_IN_2_74_FOR

DEPRECATED_TYPE_IN_2_76_FOR

DEPRECATED_TYPE_IN_2_78_FOR

DEPRECATED_TYPE_IN_2_80_FOR

TEST_DBUS

UNAVAILABLE

UNAVAILABLE_STATIC_INLINE

Constants

DBUS_METHOD_INVOCATION_HANDLED

The value returned by handlers of the signals generated by

the gdbus-codegen tool to indicate that a method call has been

handled by an implementation. It is equal to TRUE, but using

this macro is sometimes more readable.

DBUS_METHOD_INVOCATION_UNHANDLED

The value returned by handlers of the signals generated by

the gdbus-codegen tool to indicate that a method call has not been

handled by an implementation. It is equal to FALSE, but using

this macro is sometimes more readable.

DEBUG_CONTROLLER_EXTENSION_POINT_NAME

Extension point for debug control functionality.

See [Extending GIO][extending-gio].

DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME

Extension point for default handler to URI association. See

[Extending GIO][extending-gio].

deprecated: 2.28 

DRIVE_IDENTIFIER_KIND_UNIX_DEVICE

The string used to obtain a Unix device path with g_drive_get_identifier().

FILE_ATTRIBUTE_ACCESS_CAN_DELETE

A key in the “access” namespace for checking deletion privileges.

FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE

A key in the “access” namespace for getting execution privileges.

FILE_ATTRIBUTE_ACCESS_CAN_READ

A key in the “access” namespace for getting read privileges.

FILE_ATTRIBUTE_ACCESS_CAN_RENAME

A key in the “access” namespace for checking renaming privileges.

FILE_ATTRIBUTE_ACCESS_CAN_TRASH

A key in the “access” namespace for checking trashing privileges.

FILE_ATTRIBUTE_ACCESS_CAN_WRITE

A key in the “access” namespace for getting write privileges.

FILE_ATTRIBUTE_DOS_IS_ARCHIVE

A key in the “dos” namespace for checking if the file’s archive flag

is set.

FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT

A key in the “dos” namespace for checking if the file is a NTFS mount point

(a volume mount or a junction point).

FILE_ATTRIBUTE_DOS_IS_SYSTEM

A key in the “dos” namespace for checking if the file’s backup flag

is set.

FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG

A key in the “dos” namespace for getting the file NTFS reparse tag.

FILE_ATTRIBUTE_ETAG_VALUE

A key in the “etag” namespace for getting the value of the file’s

entity tag.

FILE_ATTRIBUTE_FILESYSTEM_FREE

A key in the “filesystem” namespace for getting the number of bytes

of free space left on the file system.

FILE_ATTRIBUTE_FILESYSTEM_READONLY

A key in the “filesystem” namespace for checking if the file system

is read only.

FILE_ATTRIBUTE_FILESYSTEM_REMOTE

A key in the “filesystem” namespace for checking if the file system

is remote.

FILE_ATTRIBUTE_FILESYSTEM_SIZE

A key in the “filesystem” namespace for getting the total size (in

bytes) of the file system, used in g_file_query_filesystem_info().

FILE_ATTRIBUTE_FILESYSTEM_TYPE

A key in the “filesystem” namespace for getting the file system’s type.

FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW

A key in the “filesystem” namespace for hinting a file manager

application whether it should preview (e.g. thumbnail) files on the

file system.

FILE_ATTRIBUTE_FILESYSTEM_USED

A key in the “filesystem” namespace for getting the number of bytes

used by data on the file system.

FILE_ATTRIBUTE_GVFS_BACKEND

A key in the “gvfs” namespace that gets the name of the current

GVFS backend in use.

FILE_ATTRIBUTE_ID_FILE

A key in the “id” namespace for getting a file identifier.

FILE_ATTRIBUTE_ID_FILESYSTEM

A key in the “id” namespace for getting the file system identifier.

FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT

A key in the “mountable” namespace for checking if a file (of

type G_FILE_TYPE_MOUNTABLE) can be ejected.

FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT

A key in the “mountable” namespace for checking if a file (of

type G_FILE_TYPE_MOUNTABLE) is mountable.

FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL

A key in the “mountable” namespace for checking if a file (of

type G_FILE_TYPE_MOUNTABLE) can be polled.

FILE_ATTRIBUTE_MOUNTABLE_CAN_START

A key in the “mountable” namespace for checking if a file (of

type G_FILE_TYPE_MOUNTABLE) can be started.

FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED

A key in the “mountable” namespace for checking if a file (of

type G_FILE_TYPE_MOUNTABLE) can be started degraded.

FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP

A key in the “mountable” namespace for checking if a file (of

type G_FILE_TYPE_MOUNTABLE) can be stopped.

FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT

A key in the “mountable” namespace for checking if a file (of

type G_FILE_TYPE_MOUNTABLE) is unmountable.

FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI

A key in the “mountable” namespace for getting the HAL UDI for the mountable file.

FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC

A key in the “mountable” namespace for checking if a file (of

type G_FILE_TYPE_MOUNTABLE) is automatically polled for media.

FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE

A key in the “mountable” namespace for getting the GDriveStartStopType.

FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE

A key in the “mountable” namespace for getting the unix device.

FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE

A key in the “mountable” namespace for getting the unix device file.

FILE_ATTRIBUTE_OWNER_GROUP

A key in the “owner” namespace for getting the file owner’s group.

FILE_ATTRIBUTE_OWNER_USER

A key in the “owner” namespace for getting the user name of the

file’s owner.

FILE_ATTRIBUTE_OWNER_USER_REAL

A key in the “owner” namespace for getting the real name of the

user that owns the file.

FILE_ATTRIBUTE_PREVIEW_ICON

A key in the “preview” namespace for getting a GIcon that can be

used to get preview of the file.

FILE_ATTRIBUTE_RECENT_MODIFIED

A key in the “recent” namespace for getting time, when the metadata for the

file in recent:/// was last changed.

FILE_ATTRIBUTE_SELINUX_CONTEXT

A key in the “selinux” namespace for getting the file’s SELinux context.

FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE

A key in the “standard” namespace for getting the amount of disk space

that is consumed by the file (in bytes).

FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE

A key in the “standard” namespace for getting the content type of the file.

FILE_ATTRIBUTE_STANDARD_COPY_NAME

A key in the “standard” namespace for getting the copy name of the file.

FILE_ATTRIBUTE_STANDARD_DESCRIPTION

A key in the “standard” namespace for getting the description of the file.

FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME

A key in the “standard” namespace for getting the display name of the file.

FILE_ATTRIBUTE_STANDARD_EDIT_NAME

A key in the “standard” namespace for edit name of the file.

FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE

A key in the “standard” namespace for getting the fast content type.

FILE_ATTRIBUTE_STANDARD_ICON

A key in the “standard” namespace for getting the icon for the file.

FILE_ATTRIBUTE_STANDARD_IS_BACKUP

A key in the “standard” namespace for checking if a file is a backup file.

FILE_ATTRIBUTE_STANDARD_IS_HIDDEN

A key in the “standard” namespace for checking if a file is hidden.

FILE_ATTRIBUTE_STANDARD_IS_SYMLINK

A key in the “standard” namespace for checking if the file is a symlink.

Typically the actual type is something else, if we followed the symlink

to get the type.

FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL

A key in the “standard” namespace for checking if a file is virtual.

FILE_ATTRIBUTE_STANDARD_IS_VOLATILE

A key in the “standard” namespace for checking if a file is

volatile. This is meant for opaque, non-POSIX-like backends to

indicate that the URI is not persistent. Applications should look

at G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET for the persistent URI.

FILE_ATTRIBUTE_STANDARD_NAME

A key in the “standard” namespace for getting the name of the file.

FILE_ATTRIBUTE_STANDARD_SIZE

A key in the “standard” namespace for getting the file’s size (in bytes).

FILE_ATTRIBUTE_STANDARD_SORT_ORDER

A key in the “standard” namespace for setting the sort order of a file.

FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON

A key in the “standard” namespace for getting the symbolic icon for the file.

FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET

A key in the “standard” namespace for getting the symlink target, if the file

is a symlink.

FILE_ATTRIBUTE_STANDARD_TARGET_URI

A key in the “standard” namespace for getting the target URI for the file, in

the case of G_FILE_TYPE_SHORTCUT or G_FILE_TYPE_MOUNTABLE files.

FILE_ATTRIBUTE_STANDARD_TYPE

A key in the “standard” namespace for storing file types.

FILE_ATTRIBUTE_THUMBNAIL_IS_VALID

A key in the “thumbnail” namespace for checking whether the thumbnail is outdated.

FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_LARGE

A key in the “thumbnail” namespace for checking whether the large

thumbnail is outdated.

FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_NORMAL

A key in the “thumbnail” namespace for checking whether the normal

thumbnail is outdated.

FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XLARGE

A key in the “thumbnail” namespace for checking whether the x-large

thumbnail is outdated.

FILE_ATTRIBUTE_THUMBNAIL_IS_VALID_XXLARGE

A key in the “thumbnail” namespace for checking whether the xx-large

thumbnail is outdated.

FILE_ATTRIBUTE_THUMBNAIL_PATH

A key in the “thumbnail” namespace for getting the path to the thumbnail

image with the biggest size available.

FILE_ATTRIBUTE_THUMBNAIL_PATH_LARGE

A key in the “thumbnail” namespace for getting the path to the large

thumbnail image.

FILE_ATTRIBUTE_THUMBNAIL_PATH_NORMAL

A key in the “thumbnail” namespace for getting the path to the normal

thumbnail image.

FILE_ATTRIBUTE_THUMBNAIL_PATH_XLARGE

A key in the “thumbnail” namespace for getting the path to the x-large

thumbnail image.

FILE_ATTRIBUTE_THUMBNAIL_PATH_XXLARGE

A key in the “thumbnail” namespace for getting the path to the xx-large

thumbnail image.

FILE_ATTRIBUTE_THUMBNAILING_FAILED

A key in the “thumbnail” namespace for checking if thumbnailing failed.

FILE_ATTRIBUTE_THUMBNAILING_FAILED_LARGE

A key in the “thumbnail” namespace for checking if thumbnailing failed

for the large image.

FILE_ATTRIBUTE_THUMBNAILING_FAILED_NORMAL

A key in the “thumbnail” namespace for checking if thumbnailing failed

for the normal image.

FILE_ATTRIBUTE_THUMBNAILING_FAILED_XLARGE

A key in the “thumbnail” namespace for checking if thumbnailing failed

for the x-large image.

FILE_ATTRIBUTE_THUMBNAILING_FAILED_XXLARGE

A key in the “thumbnail” namespace for checking if thumbnailing failed

for the xx-large image.

FILE_ATTRIBUTE_TIME_ACCESS

A key in the “time” namespace for getting the time the file was last accessed.

FILE_ATTRIBUTE_TIME_ACCESS_NSEC

A key in the “time” namespace for getting the nanoseconds of the time

the file was last accessed. This should be used in conjunction with

G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding GFileAttributeType is

G_FILE_ATTRIBUTE_TYPE_UINT32.

FILE_ATTRIBUTE_TIME_ACCESS_USEC

A key in the “time” namespace for getting the microseconds of the time

the file was last accessed.

FILE_ATTRIBUTE_TIME_CHANGED

A key in the “time” namespace for getting the time the file was last changed.

FILE_ATTRIBUTE_TIME_CHANGED_NSEC

A key in the “time” namespace for getting the nanoseconds of the time

the file was last changed. This should be used in conjunction with

G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding GFileAttributeType is

G_FILE_ATTRIBUTE_TYPE_UINT32.

FILE_ATTRIBUTE_TIME_CHANGED_USEC

A key in the “time” namespace for getting the microseconds of the time

the file was last changed.

FILE_ATTRIBUTE_TIME_CREATED

A key in the “time” namespace for getting the time the file was created.

FILE_ATTRIBUTE_TIME_CREATED_NSEC

A key in the “time” namespace for getting the nanoseconds of the time

the file was created. This should be used in conjunction with

G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding GFileAttributeType is

G_FILE_ATTRIBUTE_TYPE_UINT32.

FILE_ATTRIBUTE_TIME_CREATED_USEC

A key in the “time” namespace for getting the microseconds of the time

the file was created.

FILE_ATTRIBUTE_TIME_MODIFIED

A key in the “time” namespace for getting the time the file was last modified.

FILE_ATTRIBUTE_TIME_MODIFIED_NSEC

A key in the “time” namespace for getting the nanoseconds of the time

the file was last modified. This should be used in conjunction with

G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding GFileAttributeType is

G_FILE_ATTRIBUTE_TYPE_UINT32.

FILE_ATTRIBUTE_TIME_MODIFIED_USEC

A key in the “time” namespace for getting the microseconds of the time

the file was last modified.

FILE_ATTRIBUTE_TRASH_DELETION_DATE

A key in the “trash” namespace for getting the deletion date and time

of a file inside the trash:/// folder.

FILE_ATTRIBUTE_TRASH_ITEM_COUNT

A key in the “trash” namespace for getting the number of (toplevel) items

that are present in the trash:/// folder.

FILE_ATTRIBUTE_TRASH_ORIG_PATH

A key in the “trash” namespace for getting the original path of a file

inside the trash:/// folder before it was trashed.

FILE_ATTRIBUTE_UNIX_BLOCK_SIZE

A key in the “unix” namespace for getting the block size for the file system.

FILE_ATTRIBUTE_UNIX_BLOCKS

A key in the “unix” namespace for getting the number of blocks allocated

for the file.

FILE_ATTRIBUTE_UNIX_DEVICE

A key in the “unix” namespace for getting the device id of the device the

file is located on (see stat() documentation).

FILE_ATTRIBUTE_UNIX_GID

A key in the “unix” namespace for getting the group ID for the file.

FILE_ATTRIBUTE_UNIX_INODE

A key in the “unix” namespace for getting the inode of the file.

FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT

A key in the “unix” namespace for checking if the file represents a

UNIX mount point.

FILE_ATTRIBUTE_UNIX_MODE

A key in the “unix” namespace for getting the mode of the file

(e.g. whether the file is a regular file, symlink, etc).

FILE_ATTRIBUTE_UNIX_NLINK

A key in the “unix” namespace for getting the number of hard links

for a file.

FILE_ATTRIBUTE_UNIX_RDEV

A key in the “unix” namespace for getting the device ID for the file

(if it is a special file).

FILE_ATTRIBUTE_UNIX_UID

A key in the “unix” namespace for getting the user ID for the file.

MEMORY_MONITOR_EXTENSION_POINT_NAME

Extension point for memory usage monitoring functionality.

See [Extending GIO][extending-gio].

MENU_ATTRIBUTE_ACTION

The menu item attribute which holds the action name of the item. Action

names are namespaced with an identifier for the action group in which the

action resides. For example, “win.” for window-specific actions and “app.”

for application-wide actions.

MENU_ATTRIBUTE_ACTION_NAMESPACE

The menu item attribute that holds the namespace for all action names in

menus that are linked from this item.

MENU_ATTRIBUTE_ICON

The menu item attribute which holds the icon of the item.

MENU_ATTRIBUTE_LABEL

The menu item attribute which holds the label of the item.

MENU_ATTRIBUTE_TARGET

The menu item attribute which holds the target with which the item’s action

will be activated.

MENU_EXPORTER_MAX_SECTION_SIZE

The maximum number of entries in a menu section supported by g_dbus_connection_export_menu_model().

MENU_LINK_SECTION

The name of the link that associates a menu item with a section. The linked

menu will usually be shown in place of the menu item, using the item’s label

as a header.

MENU_LINK_SUBMENU

The name of the link that associates a menu item with a submenu.

NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME

NETWORK_MONITOR_EXTENSION_POINT_NAME

Extension point for network status monitoring functionality.

See [Extending GIO][extending-gio].

POWER_PROFILE_MONITOR_EXTENSION_POINT_NAME

Extension point for power profile usage monitoring functionality.

See [Extending GIO][extending-gio].

PROXY_EXTENSION_POINT_NAME

Extension point for proxy functionality.

See [Extending GIO][extending-gio].

PROXY_RESOLVER_EXTENSION_POINT_NAME

Extension point for proxy resolving functionality.

See [Extending GIO][extending-gio].

SETTINGS_BACKEND_EXTENSION_POINT_NAME

Extension point for GSettingsBackend functionality.

TLS_BACKEND_EXTENSION_POINT_NAME

Extension point for TLS functionality via GTlsBackend.

See [Extending GIO][extending-gio].

TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT

The purpose used to verify the client certificate in a TLS connection.

Used by TLS servers.

TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER

The purpose used to verify the server certificate in a TLS connection. This

is the most common purpose in use. Used by TLS clients.

VFS_EXTENSION_POINT_NAME

Extension point for GVfs functionality.

See [Extending GIO][extending-gio].

VOLUME_IDENTIFIER_KIND_CLASS

The string used to obtain the volume class with g_volume_get_identifier().

VOLUME_IDENTIFIER_KIND_HAL_UDI

The string used to obtain a Hal UDI with g_volume_get_identifier().

deprecated: 2.58 

VOLUME_IDENTIFIER_KIND_LABEL

The string used to obtain a filesystem label with g_volume_get_identifier().

VOLUME_IDENTIFIER_KIND_NFS_MOUNT

The string used to obtain a NFS mount with g_volume_get_identifier().

VOLUME_IDENTIFIER_KIND_UNIX_DEVICE

The string used to obtain a Unix device path with g_volume_get_identifier().

VOLUME_IDENTIFIER_KIND_UUID

The string used to obtain a UUID with g_volume_get_identifier().

VOLUME_MONITOR_EXTENSION_POINT_NAME

Extension point for volume monitor functionality.

See [Extending GIO][extending-gio].

Gio UI

Gio UI

Home

Newsletter

Install

Linux

Windows

macOS

Android

iOS, tvOS

WebAssembly

Learn

Get Started

Split Widget

Common Errors

Showcase

Cryptopower

G45W

godcr

gotraceui

Photon

Protonet

Sointu

Sprig

Tailscale

Wormhole William

Architecture

Window

Drawing

Input

Widget

Layout

Theme

Units

Text

Color

Community

Contributing

FAQ

Gio UI

Cross-Platform GUI for Go

Getting Started

Showcase

Why?

Sponsors

Gio is a library for writing cross-platform immediate mode GUI-s in Go. Gio

supports all the major platforms: Linux, macOS, Windows, Android, iOS, FreeBSD,

OpenBSD and WebAssembly.

For a quick demonstration take a look at the WebAssembly demo below.

This requires a browser that supports WebAssembly.

The source for the Kitchen project.

Getting Started

Gio is designed to work with very few dependencies. It depends only on the

platform libraries for window management, input and GPU drawing.

To install the necessary dependencies, take a look at:

Linux

Windows

macOS

Android

iOS / tvOS

WebAssembly

Once you have everything installed head over to Learn, which

contains links to get you started with Gio.

First ProjectHello World.

LearnMore helpful resources.

Showcase

godcr

Tailscale

gotraceui

Sointu

Protonet

More here ...

Why?

Gio helps Go developers to build efficient, fluid, and portable GUIs across

all major platforms. It combines bleeding-edge 2D graphics technology with the

flexibility of the immediate mode graphics paradigm to create a compelling and

consistent foundation for application development.

Gio includes an efficient vector renderer based on the Pathfinder project implemented on OpenGL ES and Direct3D 11,

and is migrating towards an even more efficient compute-shader-based renderer

built atop piet-gpu. Text and other

shapes are rendered using only their outlines without baking them into texture

images, to support efficient animations, transformed drawing and pixel

resolution independence.

Sponsors

Development of Gio is funded by sponsorships. If you find Gio useful, please consider sponsoring the

project on OpenCollective or one or more of its developers directly.

通过 Gio 构建 Go GUI 程序 - 墨天轮

通过 Gio 构建 Go GUI 程序 - 墨天轮

排行 数据库百科 核心案例 行业报告 月度解读 大事记 产业图谱

中国数据库

向量数据库

时序数据库

实时数据库

搜索引擎

空间数据库

图数据库

数据仓库

大调查

2021年报告

2022年报告

年度数据库

2020年openGauss

2021年TiDB

2022年PolarDB

2023年OceanBase

首页

资讯

数说

活动

大会

学习 课程中心 推荐优质内容、热门课程学习路径 预设学习计划、达成学习目标知识图谱 综合了解技术体系知识点课程库 快速筛选、搜索相关课程视频学习 专业视频分享技术知识电子文档 快速搜索阅览技术文档文档

问答

工具 SQLRUN 在线数据库即时SQL运行平台数据库在线实训平台 实操环境、开箱即用、一键连接AWR分析 上传AWR报告,查看分析结果SQL格式化 快速格式化绝大多数SQL语句SQL审核 审核编写规范,提升执行效率PLSQL解密 解密超4000字符的PL/SQL语句OraC函数 查询Oracle C 函数的详细描述智能助手小墨 关于数据库相关的问题,您都可以问我 数据库百科核心案例行业报告月度解读大事记产业图谱我的订单

登录后可立即获得以下权益 免费培训课程 收藏优质文章 疑难问题解答 下载专业文档 签到免费抽奖 提升成长等级 立即登录 登录 注册 登录 注册 首页资讯数说活动大会课程文档排行问答我的订单 微信扫码 复制链接 新浪微博 分享数说 采集到收藏夹 分享到数说 首页 /

通过 Gio 构建 Go GUI 程序 通过 Gio 构建 Go GUI 程序 幽鬼 2021-10-18 3079

争做团队核心程序员,关注「幽鬼」GUI 不是 Go 语言擅长的领域,但社区一直在努力,让 Go 进入 GUI 领域,于是有了 fyne、gio 等这样的 GUI 框架。今天起,给大家带来一系列 Gio 教程,尝试从零开始构建一个 Gio GUI 程序。本系列基于 Go1.17,而 Gio 没有发布具体的版本01 Gio 是什么Gio 在 Go 中实现了可移植的即时模式 GUI 程序。Gio 程序可在所有主要平台上运行:iOS/tvOS、Android、Linux (Wayland/X11)、macOS、Windows、FreeBSD、OpenBSD 和对浏览器的实验性支持 (Webassembly/WebGL)。有一个用于在虚拟机中运行 Gio 程序的 unikernel 端口[1]。Gio 包括一个基于 Pathfinder 项目[2]的高效矢量渲染器,以及一个基于 piet-gpu 项目[3]的实验渲染器。两种渲染器都支持 Vulkan、Metal、Direct3D 11 和 OpenGL ES。对于低端设备,有一个在未扩展的 OpenGL ES 2.0 上运行的 CPU 回调。文本和其他形状仅使用其轮廓进行渲染,而无需将它们烘焙成纹理图像,以支持高效动画、转换绘图和显示分辨率独立性。Gio 的代码在 https://git.sr.ht/~eliasnaur/gio,在 GitHub 上有镜像:https://github.com/gioui/gio。02 运行官方的示例Gio 设计时让依赖尽可能少。它仅依赖用于窗口管理、输入和 GPU 绘图的平台库。官方提供了一个 Hello 程序,执行如下命令:$ go run gioui.org/example/hello@latest成功会打开一个窗口:另外一个更复杂的例子,material design 的 widgets:$ go run gioui.org/example/kitchen@latest结果:这些示例教程可以在 https://github.com/gioui/gio-example 找到。03 系列教程虽然命令行很棒,但 95% 的用户不是高级用户。他们想要按下按钮,切换开关,然后继续他们的生活。Gio 是一个很棒的工具包,用于构建满足你需求的精美、闪电般快速、灵活的用户界面。该系列由 10 个教程组成,我们将完全从零开始,并构建一个自包含的 GUI 应用程序:本系列教程基于 https://jonegil.github.io/gui-with-gio/,但不是简单的翻译。欢迎对 gio 感兴趣的一起交流。参考资料[1]unikernel 端口: https://eliasnaur.com/unik[2]Pathfinder 项目: https://github.com/servo/pathfinder[3]piet-gpu 项目: https://github.com/linebender/piet-gpu往期推荐怎么回事?Go 标准库 sync 包中竟然包含一个 porn 网址欢迎关注「幽鬼」,像她一样做团队的核心。

数据库 文章转载自幽鬼,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。 评论 领墨值 有奖问卷 意见反馈 客服小墨

Gio首页、文档和下载 - Go 的微型 GUI 框架 - OSCHINA - 中文开源技术交流社区

Gio首页、文档和下载 - Go 的微型 GUI 框架 - OSCHINA - 中文开源技术交流社区

Gitee

资讯

专区

问答

活动

软件库

Tool

博客

培训

众包

登录

注册

开源软件库

/

GUI开发框架

/

Gio

Gio

Go 的微型 GUI 框架

收藏24

评论0

分享

微信

QQ

微博

纠错

Gio 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!

Gio 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!

2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!

2021 年度 OSC 中国开源项目评选 >>> 中场回顾

Gio 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

授权协议

MIT

开发语言

Google Go

操作系统

跨平台

软件类型

开源软件

所属分类

程序开发、 GUI开发框架

开源组织

地区

不详

投 递 者

红薯

适用人群

未知

收录时间

2019-10-08

软件首页

软件文档

官方下载

概览

资讯

博客

问答

安全信息

软件简介

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告

Gio 在 Go 中实现了可移植的即时模式 GUI 程序。Gio 程序可在所有主要平台上运行:

Linux(Wayland)

macOS, iOS, tvOS

Windows

Android

WebAssembly/WebGL

Gio 包括一个基于 Pathfinder 项目(https://github.com/pcwalton/pathfinder)的高效矢量渲染器。文本和其他形状仅使用其轮廓进行渲染,而无需将其烘焙到纹理图像中,以支持有效的动画、变换后的图形和像素分辨率独立性。

展开阅读全文

评论

点击引领话题

发布并加入讨论

给软件打分:

暂无内容

{{o.author.name}}

发表了博客

{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}

{{parseInt(o.viewCount) | bigNumberTransform}}

微信

QQ

微博

举报

没有更多内容

暂无内容

{{o.author.name}}

发表了问答

{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}

{{parseInt(o.viewCount) | bigNumberTransform}}

微信

QQ

微博

举报

没有更多内容

暂无内容

暂无内容

Awesome 软件

换一换

Tantivy - 全文搜索引擎库

FreeRDP - 远程桌面协议(RDP)工具

Pixel Art to CSS - 基于 React 的像素绘画应用

Xapian - C++检索引擎

放置工厂 - Idle-factory(汉化版)

LocalSend - 跨平台本地文件传输应用

KubeArmor - 云原生运行时安全执行系统

Directus - 基于 TypeScript 的数据库管理工具

Qlib - 量化投资平台

Hibernate Search - Hibernate搜索框架

PyRobot - AI 机器人框架

Overleaf - 在线协作式 LaTeX 编辑器

SantaCoder - 轻量级 AI 编程模型

Maple Mono - 开源圆角等宽字体

SysmonForLinux - 监视和记录系统活动

tealdeer - 轻量级 Linux 命令行手册

Loongnix - 龙芯开源操作系统

Amazing-QR - Python 二维码生成器

FreeMind - 思维导图软件

VisualGLM-6B - 多模态对话语言模型

Texmaker - 跨平台的 LaTeX 编辑器

SylixOS - 嵌入式硬实时操作系统

JEPaaS - 低代码快速开发平台

BLOOMChat - 176B 的多语言聊天 LLM

Anbox - 在 Linux 系统中运行 Android 应用

EdgeGPT - Bing Chat 逆向工程

LoxiLB - 基于 eBPF 的云原生负载均衡器

TinyOS - 无线传感器网络操作系统

Brave Desktop - 桌面 Web 浏览器

Bytecode Viewer - Java/Android 逆向工程套件

热门内容

更多精彩内容

LFOSSA 祝大家女神节快乐!助力女性开源职业发展!

我的历时一年的独立开发故事

GreptimeDB v0.7 发布 — 全面支持云原生监控场景

野火IM 1.2.3 已经发布,即时通讯系统

一个使用 Java 开发的 LLM 应用开发框架,Agents-Flex alpha.2 发布

EmbedXrpc V5.0.0 已经发布,用于单片机场景的“gRPC”

2023 年 DevOps 报告:文化、用户中心性和技术能力驱动组织成功

AI 加速引擎 PAI-TorchAcc:整体介绍与性能概述

KCL v0.8.0 重磅发布 - 融汇社区生态,助力配置体验!

快手启动鸿蒙原生应用开发

"Java 将继续存在",60% 的公司计划扩招 Java 开发人员

如果企图在人工智能上搞“小院高墙”,将会犯下新历史错误

星动纪元开源人形机器人训练框架 Humanoid-Gym

微信即将推出原生 Linux 版本

开源日报 | Google=开源,好评;Microsoft=闭源收入还低,差评

WFS 文件存储系统 v1.0.1 发布

Syncthing 1.27.4 发布,连续文件同步工具

【比较 ORM 操作数据】总结

Node.js 新版官网开启 Beta 测试:全新现代化 UI、优化交互

零一万物开源 Yi-9B,代码数学综合能力全面增强

手敲,Ascend算子开发入门笔记分享

带你认识一下多模态对比语言图像预训练CLIP

理事长走进统信软件,深度探讨社区发展规划 | 理事长走进系列

2023RT-Thread 开发者大会开发板盲盒路透!

提前预约!“一考双证”的统信-龙蜥技术认证大讲堂直播

探索操作系统的无限可能!《龙蜥+超级探访》预告片高能来袭 | 第二期

CVE-2023-22518:Atlassian Confluence身份认证绕过漏洞通告

『Newsletter丨第二期』PieCloudDB Database 新增控制台、LDAP 支持、虚拟数仓日志等多项功能

大模型时代,如何找准AI发展新方向?TVP读书会与你共探

2023-09 补丁日: 微软多个漏洞安全更新通告

中国电信天翼云位列云数据库领导者象限!

OpenHarmony持久化存储UI状态:PersistentStorage

中移苏州研究院完成服务器操作系统无感知迁移,实现业务高效稳定运行

详解数据库SQL中的三个语句:DROP、TRUNCATE 、DELETE

数仓实践丨表扫描时过滤行数过多引起的性能瓶颈问题

KubeCon China 2023 | 拥抱开源,华为云原生华彩绽放

CNCF 发布 Wasm 全景图

OpenHarmony Meetup成都站招募令

腾讯重磅技术创作特训营:创作避坑与AI提效指南 | 分享抽键盘长鹅

【直播预约中】 腾讯大数据 x StarRocks|构建新一代实时湖仓

央行数研所穆长春:货币桥兼容多种对接模式,区块链是其较为适合的选择

《NGINX 完全指南》章节精选 | 流量管理和可编程性

MySQL 8 中 utf8mb4 的强大:释放多语言数据的潜力

龙蜥社区荣获 OSCHINA “2023 年度优秀开源技术团队”

从数据到决策:项目管理和度量领域必备技能

openEuler 社区 2024 年 1 月运作月报

一文详解应用安全防护ESAPI

社区会议预定新方式:WeLink(蓝版)

天翼云亮相操作系统大会&openEuler Summit 2023,斩获五项大奖!

NAT协议的实现方式

CnosDB容灾方案概述

vivo 基于 StarRocks 构建实时大数据分析平台,为业务搭建数据桥梁

喜迎1024程序员节!祝各位开发者们“码”到“程”功!

一图揭秘为什么开发者都选择华为云软件开发生产线CodeArts

解密JavaChassis3:易扩展的多种注册中心支持

Apache Doris 2.0.2 版本正式发布!

直播|《嵌入式系统原理及应用》教学分享交流

不想放弃 Jenkins?这么做也能云原生

实战讲解|Trino 在袋鼠云数栈的探索与实践

亿级月活游戏《迷你世界》全栈容器化实践分享

openEuler RISC-V 操作系统开发实习生招聘(BJ106)

近6成金融机构的选择!华为云GaussDB加快金融核心系统转型

CVE-2023-5217:Google Chrome libvpx堆缓冲区溢出漏洞通告

代码静态检查为什么需要对告警去做运营?

3步体验在DAYU200开发板上完成OpenHarmony对接华为云IoT

数字先锋 | 审理办案“云上见”,便民利企更高效!

对话苏光牛:国内数据库市场已进入关键转折点,2024年或是分水岭

全面解析内存泄漏检测与修复技术

openEuler将携手傲空间亮相OSSUMMIT 2023

腾讯大数据 x StarRocks|构建新一代实时湖仓

ELT已死,EtLT才是现代数据处理架构的终点!

GaussDB跨云容灾:实现跨地域的数据库高可用能力

安全日报(2023.11.28)

边缘计算分论坛动手实践指南,RA8D1 OpenMV 硬件全球首发!

找到你的openEuler大本营!openEuler城市用户组等你来pick~

“国云入闽 数耀鹭岛”,中国电信天翼云创新助力数字福建新征程!

AIGC参数量节节攀升,对存储带来的挑战如何解决?

700 亿参数 LLaMA2 训练加速 195%,基础大模型最佳实践再升级

2023RT-Thread开发者大会三重好礼!第一重Sipeed便携笔记本电脑!

超燃现场,SIG组开放工作会议亮点回看!

荣获2023年度AIGC两项行业大奖,潞晨科技势头正劲,实力出圈

什么是全同态加密(FHE)中的自举(Bootstrapping)?

CnosDB 签约京清能源,助力分布式 光伏发电解决监测系统难题

基于 MySQL 多通道主主复制的机房容灾方案

写给自己的十句话

产品更新|Proton的JDBC和ODBC驱动程序现已开源,可支持高基数GROUP BY

Alluxio AI全新产品发布:无缝对接低成本对象存储AI训练解决方案

DevOps 中 API 治理的工程问题和落地实践案例

SupermanMiner挖矿木马新变种持续活跃

首个“全4K”运动会,上云!

一文带你实现云上部署轻量化定制表单Docker

一次性全讲透GaussDB(DWS)锁的问题

荣耀开发者大会2023 · 一张图读懂开发者服务分论坛

破晓未来·迎接智能新时代:混合AI大模型开发者工作坊震撼预告

MySQL 全文索引触发 OOM 一例

Enhancer-轻量化的字节码增强组件包

安全日报(2023.12.28)

免费、安全、可靠!一站式构建平台 ABS 介绍及实例演示 | 龙蜥技术

openEuler 正式加入 LFEU 成为Associate Member

全站热门评论

monkey_cici 2024-02-26 11:39

开源系统还是要看民企的深度统信和华为欧拉...

高排量低炭烧 2024-02-26 21:29

鸿蒙只是人家现学的,人家本来薪水就这么高,而不是新手培训完就值这个数

我的ID是jmjoy 2024-03-07 17:45

让市场说了算明显不行,某些企业利用资本先发优势大搞垄断,霸占生态位不干人事,店大欺客,早就应该治治了。

小呆呆的星空 2024-03-07 17:19

有钱人当然不要做程序员,草根出身做程序员待遇是不错的

gmg 2024-02-26 22:23

有点好奇为什么发布这种表面看起来吸引眼球的标题。

u

unameuname 2024-02-19 14:02

第一次钓鱼,别TM给我鱼竿,我只要鱼。

小xu中年 2024-03-07 16:31

……

CheckStyle 2024-02-21 18:45

关键是什么业务?10个人,2023年,一年,赚2000多万,泼天的富贵啊

91winter 2024-03-07 17:03

可能是钓鱼的吧~

gitlinux 2024-03-07 16:12

postrm脚本,if语句忘写 fi 啦,手动修正一下即可

Yoona520 2024-02-24 17:44

国外那个P站的技术水准可不低,毕竟服务全世界除CN之外的人

RobotPainter 2024-03-07 17:40

我感觉挺好的,这就是没有小院高墙的体现

y

yfxuwork 2024-03-07 16:42

linuxmint下打开后扫码登录失败, 不过希望之后能像qq一样出个appimage的包。 多方便。

neou 2024-03-07 16:32

不要什么都让国家管,支不支持Linux要让企业说了算,让市场说了算。

天朝八阿哥 2024-02-29 10:32

虽然不懂,但表示很赞,比随便就冠以“国产”“自主研发”之类的让人舒心太多了

魔力猫 2024-02-01 14:19

最近这些事件的主角,初心绝对不是什么为了创造啥,为的只是赚钱。开源只是赚钱手段,而且是觉得自己为了钱放弃很多的那种心态,心理先把自己当成了牺牲者,然后认为所有人都应该补偿自己。不拿钱补偿就是忘恩负义的白眼狼!

大星星 2024-03-07 15:29

有没可能是故意的

姜鹏飞 2024-03-07 17:15

漂亮

屮殖 2024-03-07 15:38

我人品咋了?就事论事就是人品有问题?对我简介都这么关心?我都忘了自己写了什么了。是不是爱一点点国,就是眼中钉了?是不是爱国必须表现装给你们看才行?评论一个社会事件怎么搞到爱国程度了?我就事论事,让某些人不要总是用嫉妒心看待别人,只能害了自己,难道不对?

记得小蘋初见123 2024-02-29 16:53

百小僧,出列

dantezhu 2024-02-28 11:20

那,这就叫专业。

小xu中年 2024-03-07 16:29

拥抱信创

Z生生不息 2024-01-31 18:33

没有人要求你必须要维护必须开源。但是你有权力要求用户“不得以任何形式传播及公开”吗?这是 AGPL 开源协议所允许的吗?如果你连开源协议都搞不清楚,早点把仓库归档吧。整得跟小学生耍流氓一样。

爱吃生梨 2024-01-31 15:35

百小僧果然是刷新中国开源底线里程碑式的人物,这不追随者来了。而且从.net扩散到java

redblueme 2024-03-07 16:07

牛逼,有空试一下

J

JK_STAR 2024-03-07 16:08

QT写的

2

2cong 2024-02-26 11:21

如果让我抄,我就会!

屮殖 2024-03-07 15:47

你说的很对,能源的确是另一个很重要的方面。但是AI和挖矿不一样,他的使用是要比训练少数量级差别的算力的。而AI能达到的功能是由训练实现的。目前情况下,电力很多国家都够支撑,但是芯片实现的算力全世界只有为数不多的AI公司才能有条件训练大模型了。对比小模型就能看出来,小模型是个人能训练的。

闲大赋 2024-02-18 20:49

我对此专利的解读『 https://my.oschina.net/xiandafu/blog/11043929』

jobell 2024-03-07 17:02

微信开发工具赶紧推出linux版本吧

k

kylexy 2024-02-26 10:38

大实话。。。。

luwenhua 2024-03-05 18:18

其实用用惯了,比windows省心多了

屮殖 2024-03-07 15:41

小米的新闻,主角却是华为,这说明谁更重要,以至于敌人想除之而后快呢?

小xu中年 2024-03-07 16:27

t

tedx53 2024-02-27 09:42

高考状元的试卷给我抄,我也能轻松上清华

zhangjinsongok 2024-02-01 16:29

开源世界的孤胆英雄。

osc_94406955 2024-03-01 09:29

预计该问题会在 24 小时内彻底解决............. 今天3月1日了,bug神奇的消失

小xu中年 2024-03-07 16:31

优秀

RobotPainter 2024-03-07 17:21

下意识navbar里找Pricing。。。

朋克 2024-02-28 11:36

这才是正常的盈利模式

d

dwcz 2024-02-18 22:12

中国法治的水平:二创可以演绎原创,三创不能演绎二创。

J

Jason909 2024-03-07 15:43

“还有 84% 的 IntelliJ IDEA 用户表示,他们在 Java 开发实践中还使用过其他 IDE,其中 VSCode 是最常见的选择。”Eclipse的第二还能保多久?

fyf187 2024-03-07 16:00

内容可能含有违规信息

c

cassan 2024-03-01 22:19

开源了,我们国内的公司又可以申请知识产权了

有你何须仰望 2024-03-07 15:46

越看越像新版QQ NT

大风起兮9527 2024-02-06 08:57

这事没啥好讨论的啊,代码如果开始的时候是开源,那么你有闭源的权利,但是要从声明之后的版本开始,不能回溯。文档也是如此,但是有一点,如果文档虽然没有声明开源,但是自己在公开场合发布过,你可以建议请求不要随意传播,但是不能强硬的禁止。关于白嫖,这个说法过分了,对于这些想要商业化的项目,开源伊始的初心,无非是面推广费、免费测试。各有所图,不要互相指责。

屮殖 2024-03-07 15:26

汉代盐铁论就论断和实践的产业政策问题,往往被庸人自以为是的小聪明批判。程序员很多人是理科生,很多人从来不看历史。

osc_56137622 2024-03-07 17:34

赞:+1:

魔力猫 2024-02-01 09:48

开源不是不可以收费,基本上也没人认为开源项目里有收费项目是什么十恶不赦的罪过。问题在于,你要合理合法,要符合开源的道德。最近的事件,要么是某和尚绑票,不合理不合法更没道德,绑票拿赎金。要么就是这位,明明合法的事情,偏偏发个歧视公告,张嘴白嫖闭嘴白嫖,过嘴瘾有意思吗?开源生意,哪怕你心理一万个不愿意,但是既然你做了这个生意,伪君子人设好歹你不干的时候再扔呀,一会儿伪君子一会儿真小人,觉得不找骂才怪。

yl-yue 2024-02-18 13:49

操作也是相当炸裂,原来还可以这样玩,字太多了没读透,我的理解,就算是鸡肋专利也够他们吹嘘了,要是限制性专利,那是相当牛逼,开源行业要炸。

小肥侠 2024-02-19 17:51

所以将开源软件打包到应用商店,是真的有市场。

Yokesily 2024-03-07 18:43

看这截图,很多杀毒防火墙软件都很缺乏用户体验设计!又红色感叹号告诉危险,又绿色告诉已验证,所以这弹窗到底想告诉用户什么??从用户角度看,用户想知道的是~谁发起什么操作,就比如xx软件创建了test服务,或者用户主动创建了test服务,提示内容要关键到位啊

老盖 2024-02-01 14:11

windows没希望了,一群阿三,越做越差

o

osc_91229770 2024-02-18 12:03

这也申请专利,这个不是正常crud,常规操作吗

skykainls 2024-03-07 16:13

还是逃不过东半球最强法务部的子弹

魔力猫 2024-02-01 09:35

这篇说的好听,但你心里,公有制就是白嫖,你之前公告写着“ioGame21 在线文档依旧采用自愿付费模式策略。简单的说,我们提供了最新在线文档的白嫖方式,如果你打算跟进框架最新版本的,依旧可以选择白嫖在线文档。”,“综上,想继续白嫖的,请跟进最新版本。”不是吗?这是什么理念?我看更像精神分裂的理念,伪君子和真小人之间来回切换,嘴上都不一致。

m

moon_red 2024-03-07 18:09

第一个Warning是在Wayland环境下用X11的qt出现的,不影响使用。libva和iHD_drv_video.so都是视频硬件加速,可能是你libva没配好

风一样的Man 2024-03-06 10:50

我还没开始用, 你就砍掉了

simba_sailor 2024-03-07 17:03

有安装了今天更新的修复登陆问题的版本,可能 登陆,可以有聊天历史同步。现在主要的问题是中文输入不了。

屮殖 2024-03-07 15:42

啥意思?你看看大毛那样不就知道了?我们还有个任务没完成呢,毛子那种待遇我们几乎是必然的事,不要早做准备?

软件作者

本软件还没有认证的作者

认证为作者

邀请作者认证

此软件还没有被作者认证,快来邀请作者认证吧!

成功邀请奖励:

开源伯乐勋章

专属邀请文案:

你的软件 “Gio” 被开源中国社区收录啦,快点击 https://www.oschina.net/p/gio 认证为软件作者吧!

复制邀请文案

同类软件推荐

更多

awtk-hmihttps://gitee.com/zlgopen/awtk-hmi

基于 AWTK 和 AWTK-MVVM 实现的串口屏方案。 界面修改数据,自动通知 MCU。 MCU 修改数据,自动更新界面。 1. 主要特色: 1.1 开发 强大的界面设计器 AWStudio...

ArkUI-X声明式 UI 开发框架

ArkUI 是一套构建分布式应用的声明式 UI 开发框架。它具备简洁自然的 UI 信息语法、丰富的 UI 组件、多维的状态管理,以及实时界面预览等相关能力,帮助您提升应用开发效率,并能在多种设备...

SeerGDB 的 GUI 前端

Seer 是一个用于 Linux 的 gdb 的 gui 前端,目前正在积极开发当中。其目标是成为一个简单但令人愉悦的 gdb 图形用户界面。 要求 Linux C++17 带有“mi”解释器的...

Niva跨平台桌面应用开发框架

Niva 是一个跨平台(支持 Windows 和 MacOS)的桌面应用开发框架,使用前端技术开发,可用于构建轻量级的桌面应用。 Niva 旨在提供最简单的方式让前端用纯前端技术快速构建自己的跨...

Compose MultiplatformKotlin 声明式 UI 框架

Compose Multiplatform 是用于跨多个平台共享 UI 的声明式框架,基于 Kotlin 和 Jetpack Compose。 目前支持以下平台: iOS (Alpha) And...

热门资讯

1

黄仁勋:别让你的孩子长大后成为程序员

2

Visual Studio Code 1.87 发布,语音听写

3

开源中国 APP 全新上线:“动弹”回归、集成大模型对话、畅读技术报告

4

马斯克起诉 OpenAI 及其 CEO 奥特曼,要求公司恢复开源状态

5

倒了一个 Yuzu,还有千千万万个“转世”开源模拟器

6

向使当时真开源,小人/君子有谁知?某开源账号引发众怒

7

微信即将推出原生 Linux 版本

8

全球最流行开源 Switch 模拟器 Yuzu 删除代码仓库、向任天堂支付 240 万美元

9

新款 MacBook Air:搭载 M3 芯片、可外接 2 台显示器、全球最好的 AI 消费级笔记本电脑

10

织梦 CMS “混沌”往事二十年

0 评论

24 收藏

微信

QQ

微博

分享

登录后可查看更多优质内容

使用微信快捷登录

OSCHINA 社区

关于我们

联系我们

加入我们

合作伙伴

Open API

在线工具

Gitee.com

企业研发管理

CopyCat-代码克隆检测

实用在线工具

国家反诈中心APP下载

攻略

项目运营

Awesome 软件(持续更新中)

QQ群

229767317

公众号

视频号

©OSCHINA(OSChina.NET)

工信部

开源软件推进联盟

指定官方社区

社区规范

深圳市奥思网络科技有限公司版权所有

粤ICP备12009483号

顶部

Get Started

Get Started

Home

Newsletter

Install

Linux

Windows

macOS

Android

iOS, tvOS

WebAssembly

Learn

Get Started

Split Widget

Common Errors

Showcase

Cryptopower

G45W

godcr

gotraceui

Photon

Protonet

Sointu

Sprig

Tailscale

Wormhole William

Architecture

Window

Drawing

Input

Widget

Layout

Theme

Units

Text

Color

Community

Contributing

FAQ

Get Started

Hello, Gio!

Creating a new package

Creating the program

Creating the window

Creating a theme

Listening for events

Drawing the text

This example does a really quick introduction on getting something up and

running. It does not explain all the details, those will be covered in

another tutorial.

Ensure that you have followed installation instructions.

If everything is setup correctly, then running:

go run gioui.org/example/hello@latest

Should display a pretty “Hello, Gio!” message.

Creating a new package

If you are unfamiliar with Go, then more help can be found at go.dev/learn.

First step in creating a Go program requires setting up the module.

We’ll use gio.test as our module name, however, it’s recommended to use a

repository name when you want to upload it. The module name can be later changed.

go mod init gio.test

Creating the program

Let’s create main.go with the following code:

package main

import (

"image/color"

"log"

"os"

"gioui.org/app"

"gioui.org/op"

"gioui.org/text"

"gioui.org/widget/material"

)

func main() {

go func() {

w := app.NewWindow()

err := run(w)

if err != nil {

log.Fatal(err)

}

os.Exit(0)

}()

app.Main()

}

func run(w *app.Window) error {

th := material.NewTheme()

var ops op.Ops

for {

switch e := w.NextEvent().(type) {

case app.DestroyEvent:

return e.Err

case app.FrameEvent:

// This graphics context is used for managing the rendering state.

gtx := app.NewContext(&ops, e)

// Define an large label with an appropriate text:

title := material.H1(th, "Hello, Gio")

// Change the color of the label.

maroon := color.NRGBA{R: 127, G: 0, B: 0, A: 255}

title.Color = maroon

// Change the position of the label.

title.Alignment = text.Middle

// Draw the label to the graphics context.

title.Layout(gtx)

// Pass the drawing operations to the GPU.

e.Frame(gtx.Ops)

}

}

}

Let’s then update all the dependencies with:

go mod tidy

Once that succeeds, the program should start up with:

go run .

Now to explain what’s happening.

Creating the window

Every program requires a window, the main starts up the application loop that

talks to the operating system and starts the window logic in a separate

goroutine.

func main() {

go func() {

w := app.NewWindow()

err := run(w)

if err != nil {

log.Fatal(err)

}

os.Exit(0)

}()

app.Main()

}

Creating a theme

Applications need to define their fonts and different color settings.

Themes contain all the necessary information.

func run(w *app.Window) error {

th := material.NewTheme()

Listening for events

The communication with the operating system (i.e. keyboard, mouse, GPU) happens

through events. Gio uses the following approach to process events:

for {

switch e := w.NextEvent().(type) {

case app.DestroyEvent:

return e.Err

case app.FrameEvent:

app.DestroyEvent means the user pressed the close button.

app.FrameEvent means the program should handle input and render a new

frame.

Drawing the text

To draw the text it needs to go through several stages:

// This graphics context is used for managing the rendering state.

gtx := app.NewContext(&ops, e)

// Define an large label with an appropriate text:

title := material.H1(th, "Hello, Gio")

// Change the color of the label.

maroon := color.NRGBA{R: 127, G: 0, B: 0, A: 255}

title.Color = maroon

// Change the position of the label.

title.Alignment = text.Middle

// Draw the label to the graphics context.

title.Layout(gtx)

// Pass the drawing operations to the GPU.

e.Frame(gtx.Ops)

Next

Split Widget

GitHub - gioui/gio: Mirror of the Gio main repository (https://git.sr.ht/~eliasnaur/gio)

GitHub - gioui/gio: Mirror of the Gio main repository (https://git.sr.ht/~eliasnaur/gio)

Skip to content

Toggle navigation

Sign in

Product

Actions

Automate any workflow

Packages

Host and manage packages

Security

Find and fix vulnerabilities

Codespaces

Instant dev environments

Copilot

Write better code with AI

Code review

Manage code changes

Issues

Plan and track work

Discussions

Collaborate outside of code

Explore

All features

Documentation

GitHub Skills

Blog

Solutions

For

Enterprise

Teams

Startups

Education

By Solution

CI/CD & Automation

DevOps

DevSecOps

Resources

Learning Pathways

White papers, Ebooks, Webinars

Customer Stories

Partners

Open Source

GitHub Sponsors

Fund open source developers

The ReadME Project

GitHub community articles

Repositories

Topics

Trending

Collections

Pricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

You signed in with another tab or window. Reload to refresh your session.

You signed out in another tab or window. Reload to refresh your session.

You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

gioui

/

gio

Public

Notifications

Fork

116

Star

1.4k

Mirror of the Gio main repository (https://git.sr.ht/~eliasnaur/gio)

gioui.org

License

View license

1.4k

stars

116

forks

Branches

Tags

Activity

Star

Notifications

Code

Pull requests

15

Actions

Projects

0

Security

Insights

Additional navigation options

Code

Pull requests

Actions

Projects

Security

Insights

gioui/gio

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

 mainBranchesTagsGo to fileCodeFolders and filesNameNameLast commit messageLast commit dateLatest commit History2,948 Commits.builds.builds  appapp  f32f32  fontfont  gesturegesture  gpugpu  internalinternal  ioio  layoutlayout  opop  texttext  unitunit  widgetwidget  .gitattributes.gitattributes  LICENSELICENSE  README.mdREADME.md  flake.lockflake.lock  flake.nixflake.nix  go.modgo.mod  go.sumgo.sum  View all filesRepository files navigationREADMELicenseGio - https://gioui.org

Immediate mode GUI programs in Go for Android, iOS, macOS, Linux,

FreeBSD, OpenBSD, Windows, and WebAssembly (experimental).

Installation, examples, documentation

Go to gioui.org.

Issues

File bugs and TODOs through the issue tracker or send an email

to ~eliasnaur/gio@todo.sr.ht. For general discussion, use the

mailing list: ~eliasnaur/gio@lists.sr.ht.

Contributing

Post discussion to the mailing list and patches to

gio-patches. No Sourcehut

account is required and you can post without being subscribed.

See the contribution guide for more details.

An official GitHub mirror is available.

Tags

Pre-1.0 tags are provided for reference only, and do not designate releases with ongoing support. Bugfixes will not be backported to older tags.

Tags follow semantic versioning. In particular, as the major version is zero:

breaking API or behavior changes will increment the minor version component.

non-breaking changes will increment the patch version component.

About

Mirror of the Gio main repository (https://git.sr.ht/~eliasnaur/gio)

gioui.org

Topics

mirror

gio

Resources

Readme

License

View license

Activity

Custom properties

Stars

1.4k

stars

Watchers

40

watching

Forks

116

forks

Report repository

Used by 1k

+ 1,007

Contributors

55

+ 41 contributors

Languages

Go

89.7%

C

7.1%

Java

1.7%

Objective-C

1.4%

Nix

0.1%

Footer

© 2024 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

12.6. 可用的 GIO 命令 Red Hat Enterprise Linux 9 | Red Hat Customer Portal

12.6. 可用的 GIO 命令 Red Hat Enterprise Linux 9 | Red Hat Customer Portal

Red Hat Customer Portal - Access to 24x7 support and knowledge

Skip to navigation

Skip to main content

Utilities

Subscriptions

Downloads

Containers

Support Cases

Subscriptions

Downloads

Containers

Support Cases

Products & Services

Products

Support

Production Support

Development Support

Product Life Cycles

Services

Consulting

Technical Account Management

Training & Certifications

Documentation

Red Hat Enterprise Linux

Red Hat JBoss Enterprise Application Platform

Red Hat OpenStack Platform

Red Hat OpenShift Container Platform

All Documentation

Ecosystem Catalog

Red Hat Partner Ecosystem

Partner Resources

Tools

Tools

Troubleshoot a product issue

Packages

Errata

Customer Portal Labs

Configuration

Deployment

Security

Troubleshoot

All labs

Red Hat Insights

Increase visibility into IT operations to detect and resolve technical issues before they impact your business.

Learn More

Go to Insights

Security

Red Hat Product Security Center

Engage with our Red Hat Product Security team, access security updates, and ensure your environments are not exposed to any known security vulnerabilities.

Product Security Center

Security Updates

Security Advisories

Red Hat CVE Database

Security Labs

Keep your systems secure with Red Hat's specialized responses to security vulnerabilities.

View Responses

Resources

Security Blog

Security Measurement

Severity Ratings

Backporting Policies

Product Signing (GPG) Keys

Community

Customer Portal Community

Discussions

Private Groups

Community Activity

Customer Events

Red Hat Convergence

Red Hat Summit

Stories

Red Hat Subscription Value

You Asked. We Acted.

Open Source Communities

Or troubleshoot an issue.

English

Select Your Language

English

한국어

日本語

中文 (中国)

Infrastructure and Management

Red Hat Enterprise Linux

Red Hat Satellite

Red Hat Subscription Management

Red Hat Insights

Red Hat Ansible Automation Platform

Cloud Computing

Red Hat OpenShift

Red Hat OpenStack Platform

Red Hat OpenShift Container Platform

Red Hat OpenShift AI

Red Hat OpenShift Dedicated

Red Hat Advanced Cluster Security for Kubernetes

Red Hat Advanced Cluster Management for Kubernetes

Red Hat Quay

OpenShift Dev Spaces

Red Hat OpenShift Service on AWS

Storage

Red Hat Gluster Storage

Red Hat Hyperconverged Infrastructure

Red Hat Ceph Storage

Red Hat OpenShift Data Foundation

Runtimes

Red Hat Runtimes

Red Hat JBoss Enterprise Application Platform

Red Hat Data Grid

Red Hat JBoss Web Server

Red Hat build of Keycloak

Red Hat support for Spring Boot

Red Hat build of Node.js

Red Hat build of Quarkus

Integration and Automation

Red Hat Application Foundations

Red Hat Fuse

Red Hat AMQ

Red Hat 3scale API Management

All Products

Jump To

Close

Expand all

Collapse all

Table of contents

使用 GNOME 桌面环境管理系统

前言

使开源包含更多

对红帽文档提供反馈

1. 在 GNOME 中安装软件

Expand section "1. 在 GNOME 中安装软件"

Collapse section "1. 在 GNOME 中安装软件"

1.1. 先决条件

1.2. GNOME 软件应用程序

1.3. 使用 GNOME 软件安装应用程序

1.4. 安装应用程序来打开文件类型

1.5. 在 GNOME 中安装 RPM 软件包文件

1.6. 从 Activities Overview 搜索安装应用程序

1.7. 其他资源

2. 使用 Flatpak 安装应用程序

Expand section "2. 使用 Flatpak 安装应用程序"

Collapse section "2. 使用 Flatpak 安装应用程序"

2.1. Flatpak 技术

2.2. 设置 Flatpak

2.3. 启用 Red Hat Flatpak remote

2.4. 搜索 Flatpak 应用程序

2.5. 安装 Flatpak 应用程序

2.6. 启动 Flatpak 应用程序

2.7. 更新 Flatpak 应用程序

2.8. 在图形界面中安装 Flatpak 应用程序

2.9. 在图形界面中更新 Flatpak 应用程序

3. 使用 GNOME 注册系统以进行更新

Expand section "3. 使用 GNOME 注册系统以进行更新"

Collapse section "3. 使用 GNOME 注册系统以进行更新"

3.1. 在 GNOME 中使用红帽帐户注册系统

3.2. 在 GNOME 中使用激活码注册系统

3.3. 使用 GNOME 取消系统注册

3.4. 其他资源

4. 使用桌面 GUI 更改语言

5. 在合上笔记本电脑盖子时更改系统的行为

6. 在按下电源按钮时更改系统的行为

7. 显示系统安全分类

Expand section "7. 显示系统安全分类"

Collapse section "7. 显示系统安全分类"

7.1. 启用系统安全分类横幅

7.2. 通知系统安全分类

8. 为所有用户设置默认桌面会话

9. 设置打印机

Expand section "9. 设置打印机"

Collapse section "9. 设置打印机"

9.1. 在 GNOME 中访问打印机设置

9.2. 在设置中添加新打印机

9.3. 在 Settings 中打印测试页面

10. 修改打印机设置

Expand section "10. 修改打印机设置"

Collapse section "10. 修改打印机设置"

10.1. 显示和修改打印机的详情

10.2. 设置默认打印机

10.3. 设置打印选项

10.4. 删除打印机

11. 浏览网络共享上的文件

Expand section "11. 浏览网络共享上的文件"

Collapse section "11. 浏览网络共享上的文件"

11.1. 网络共享的 GVFS URI 格式

11.2. 在 GNOME 中挂载存储卷

11.3. 卸载 GNOME 中的存储卷

11.4. 其他资源(或后续步骤)

12. 管理 GNOME 中的存储卷

Expand section "12. 管理 GNOME 中的存储卷"

Collapse section "12. 管理 GNOME 中的存储卷"

12.1. GVFS 系统

12.2. GVFS URI 字符串的格式

12.3. 在 GNOME 中挂载存储卷

12.4. 卸载 GNOME 中的存储卷

12.5. 访问文件系统中的 GVFS 挂载

12.6. 可用的 GIO 命令

12.7. GIO 命令示例

12.8. GVFS 元数据概述

12.9. 设置自定义的 GIO 元数据属性

12.10. GVFS 挂载的密码管理

12.11. GVFS 后端

13. GNOME 中的卷管理故障排除

Expand section "13. GNOME 中的卷管理故障排除"

Collapse section "13. GNOME 中的卷管理故障排除"

13.1. 从非 GIO 客户端访问 GVFS 位置的故障排除

13.2. 对不可见连接的 USB 磁盘的故障排除

13.3. 对文件中列出的未知或不需要的分区进行故障排除

13.4. 与远程 GVFS 文件系统的连接不可用的故障处理

13.5. 对 GNOME 中忙碌的磁盘的故障排除

14. 通过 NFS 存储用户设置

法律通告

Settings

Close

Language:

한국어

Français

简体中文

日本語

English

Language:

한국어

Français

简体中文

日本語

English

Format:

Multi-page

Single-page

Format:

Multi-page

Single-page

Language and Page Formatting Options

Language:

한국어

Français

简体中文

日本語

English

Language:

한국어

Français

简体中文

日本語

English

Format:

Multi-page

Single-page

Format:

Multi-page

Single-page

12.6. 可用的 GIO 命令

GIO 提供一些对脚本或测试可能有用的命令。

以下是一组 POSIX 命令的对应命令,如下所示:

命令描述

gio cat

显示文件的内容.

gio mkdir

创建新目录。

gio rename

重命名文件。

gio mount

提供对 gio 挂载功能的各个方面的访问。

gio set

设置文件上的文件属性。

gio copy

制作文件的副本。

gio list

列出目录内容。

gio move

将文件从一个地方移到另一个地方。

gio remove

删除文件。

gio trash

将文件或目录发送到 垃圾桶。根据文件所在的位置,这可能是不同的文件夹,并非所有文件系统都支持这个概念。在文件存在于用户主目录中的常见情形,回收文件夹为 $XDG_DATA_HOME/Trash。

gio info

显示给定位置的信息。

gio save

从标准输入读取数据,并将数据保存到给定位置。

gio tree

以类似于树的格式,递归列出指定位置的内容。如果未指定位置,则默认为当前目录。

以下额外的命令提供更多对 GIO 细节的控制:

命令描述

gio monitor

监控文件或目录的更改,如创建、删除、内容和属性的更改,以及影响监控位置的挂载和卸载操作。

gio mime

如果未指定处理程序,则列出 mimetype 的注册的和推荐的应用程序,否则,它被设置为 mimetype 的默认处理程序。

gio open

使用默认的应用程序来打开文件,该应用程序被注册来处理此类文件。

注意

为方便用户,bash 完成作为软件包的一部分提供。

所有这些命令都是原生 GIO 客户端,不需要运行备用的 FUSE 守护进程。它们的目的不是代替 POSIX 命令,实际上,支持的切换范围极小。在它们的基本形式中,这些命令使用 URI 字符串作为参数,而不是本地路径。

其他资源

The gio(1) 手册页。

Previous

Next

Red Hat

Quick Links

Downloads

Subscriptions

Support Cases

Customer Service

Product Documentation

Help

Contact Us

Customer Portal FAQ

Log-in Assistance

Site Info

Trust Red Hat

Browser Support Policy

Accessibility

Awards and Recognition

Colophon

Related Sites

redhat.com

developers.redhat.com

connect.redhat.com

cloud.redhat.com

About

Red Hat Subscription Value

About Red Hat

Red Hat Jobs

Copyright © 2024 Red Hat, Inc.

Privacy Statement

Terms of Use

All Policies and Guidelines

We've updated our Privacy Statement effective September 15, 2023.

Red Hat Summit

Twitter