Extension point for default handler to URI association. See [Extending GIO][extending-gio]. The #GDesktopAppInfoLookup interface is deprecated and unused by GIO. `GDesktopAppInfo` is an implementation of [iface@Gio.AppInfo] based on desktop files. Note that `<gio/gdesktopappinfo.h>` belongs to the UNIX-specific GIO interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file or the `GioUnix-2.0` GIR namespace when using it. Creates a new #GDesktopAppInfo based on a desktop file id. A desktop file id is the basename of the desktop file, including the .desktop extension. GIO is looking for a desktop file with this name in the `applications` subdirectories of the XDG data directories (i.e. the directories specified in the `XDG_DATA_HOME` and `XDG_DATA_DIRS` environment variables). GIO also supports the prefix-to-subdirectory mapping that is described in the [Menu Spec](http://standards.freedesktop.org/menu-spec/latest/) (i.e. a desktop id of kde-foo.desktop will match `/usr/share/applications/kde/foo.desktop`). a new #GDesktopAppInfo, or %NULL if no desktop file with that id exists. the desktop file id Creates a new #GDesktopAppInfo. a new #GDesktopAppInfo or %NULL on error. the path of a desktop file, in the GLib filename encoding Creates a new #GDesktopAppInfo. a new #GDesktopAppInfo or %NULL on error. an opened #GKeyFile Gets the user-visible display name of the "additional application action" specified by @action_name. This corresponds to the "Name" key within the keyfile group for the action. the locale-specific action name a #GDesktopAppInfo the name of the action as from g_desktop_app_info_list_actions() Looks up a boolean value in the keyfile backing @info. The @key is looked up in the "Desktop Entry" group. the boolean value, or %FALSE if the key is not found a #GDesktopAppInfo the key to look up Gets the categories from the desktop file. The unparsed Categories key from the desktop file; i.e. no attempt is made to split it by ';' or validate it. a #GDesktopAppInfo When @info was created from a known filename, return it. In some situations such as the #GDesktopAppInfo returned from g_desktop_app_info_new_from_keyfile(), this function will return %NULL. The full path to the file for @info, or %NULL if not known. a #GDesktopAppInfo Gets the generic name from the desktop file. The value of the GenericName key a #GDesktopAppInfo Gets all applications that implement @interface. An application implements an interface if that interface is listed in the Implements= line of the desktop file of the application. a list of #GDesktopAppInfo objects. the name of the interface A desktop file is hidden if the Hidden key in it is set to True. %TRUE if hidden, %FALSE otherwise. a #GDesktopAppInfo. Gets the keywords from the desktop file. The value of the Keywords key a #GDesktopAppInfo Looks up a localized string value in the keyfile backing @info translated to the current locale. The @key is looked up in the "Desktop Entry" group. a newly allocated string, or %NULL if the key is not found a #GDesktopAppInfo the key to look up Gets the value of the NoDisplay key, which helps determine if the application info should be shown in menus. See %G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show(). The value of the NoDisplay key a #GDesktopAppInfo Checks if the application info should be shown in menus that list available applications for a specific name of the desktop, based on the `OnlyShowIn` and `NotShowIn` keys. @desktop_env should typically be given as %NULL, in which case the `XDG_CURRENT_DESKTOP` environment variable is consulted. If you want to override the default mechanism then you may specify @desktop_env, but this is not recommended. Note that g_app_info_should_show() for @info will include this check (with %NULL for @desktop_env) as well as additional checks. %TRUE if the @info should be shown in @desktop_env according to the `OnlyShowIn` and `NotShowIn` keys, %FALSE otherwise. a #GDesktopAppInfo a string specifying a desktop name Retrieves the StartupWMClass field from @info. This represents the WM_CLASS property of the main window of the application, if launched through @info. the startup WM class, or %NULL if none is set in the desktop file. a #GDesktopAppInfo that supports startup notify Looks up a string value in the keyfile backing @info. The @key is looked up in the "Desktop Entry" group. a newly allocated string, or %NULL if the key is not found a #GDesktopAppInfo the key to look up Looks up a string list value in the keyfile backing @info. The @key is looked up in the "Desktop Entry" group. a %NULL-terminated string array or %NULL if the specified key cannot be found. The array should be freed with g_strfreev(). a #GDesktopAppInfo the key to look up return location for the number of returned strings, or %NULL Returns whether @key exists in the "Desktop Entry" group of the keyfile backing @info. %TRUE if the @key exists a #GDesktopAppInfo the key to look up Activates the named application action. You may only call this function on action names that were returned from g_desktop_app_info_list_actions(). Note that if the main entry of the desktop file indicates that the application supports startup notification, and @launch_context is non-%NULL, then startup notification will be used when activating the action (and as such, invocation of the action on the receiving side must signal the end of startup notification when it is completed). This is the expected behaviour of applications declaring additional actions, as per the desktop file specification. As with g_app_info_launch() there is no way to detect failures that occur while using this function. a #GDesktopAppInfo the name of the action as from g_desktop_app_info_list_actions() a #GAppLaunchContext This function performs the equivalent of g_app_info_launch_uris(), but is intended primarily for operating system components that launch applications. Ordinary applications should use g_app_info_launch_uris(). If the application is launched via GSpawn, then @spawn_flags, @user_setup and @user_setup_data are used for the call to g_spawn_async(). Additionally, @pid_callback (with @pid_callback_data) will be called to inform about the PID of the created process. See g_spawn_async_with_pipes() for information on certain parameter conditions that can enable an optimized posix_spawn() codepath to be used. If application launching occurs via some other mechanism (eg: D-Bus activation) then @spawn_flags, @user_setup, @user_setup_data, @pid_callback and @pid_callback_data are ignored. %TRUE on successful launch, %FALSE otherwise. a #GDesktopAppInfo List of URIs a #GAppLaunchContext #GSpawnFlags, used for each process a #GSpawnChildSetupFunc, used once for each process. User data for @user_setup Callback for child processes User data for @callback Equivalent to g_desktop_app_info_launch_uris_as_manager() but allows you to pass in file descriptors for the stdin, stdout and stderr streams of the launched process. If application launching occurs via some non-spawn mechanism (e.g. D-Bus activation) then @stdin_fd, @stdout_fd and @stderr_fd are ignored. %TRUE on successful launch, %FALSE otherwise. a #GDesktopAppInfo List of URIs a #GAppLaunchContext #GSpawnFlags, used for each process a #GSpawnChildSetupFunc, used once for each process. User data for @user_setup Callback for child processes User data for @callback file descriptor to use for child's stdin, or -1 file descriptor to use for child's stdout, or -1 file descriptor to use for child's stderr, or -1 Returns the list of "additional application actions" supported on the desktop file, as per the desktop file specification. As per the specification, this is the list of actions that are explicitly listed in the "Actions" key of the [Desktop Entry] group. a list of strings, always non-%NULL a #GDesktopAppInfo Searches desktop files for ones that match @search_string. The return value is an array of strvs. Each strv contains a list of applications that matched @search_string with an equal score. The outer list is sorted by score so that the first strv contains the best-matching applications, and so on. The algorithm for determining matches is undefined and may change at any time. None of the search results are subjected to the normal validation checks performed by g_desktop_app_info_new() (for example, checking that the executable referenced by a result exists), and so it is possible for g_desktop_app_info_new() to return %NULL when passed an app ID returned by this function. It is expected that calling code will do this when subsequently creating a #GDesktopAppInfo for each result. a list of strvs. Free each item with g_strfreev() and free the outer list with g_free(). the search string to use Sets the name of the desktop that the application is running in. This is used by g_app_info_should_show() and g_desktop_app_info_get_show_in() to evaluate the `OnlyShowIn` and `NotShowIn` desktop entry fields. Should be called only once; subsequent calls are ignored. do not use this API. Since 2.42 the value of the `XDG_CURRENT_DESKTOP` environment variable will be used. a string specifying what desktop this is The origin filename of this #GDesktopAppInfo #GDesktopAppInfoLookup is an opaque data structure and can only be accessed using the following functions. The #GDesktopAppInfoLookup interface is deprecated and unused by GIO. Gets the default application for launching applications using this URI scheme for a particular #GDesktopAppInfoLookup implementation. The #GDesktopAppInfoLookup interface and this function is used to implement g_app_info_get_default_for_uri_scheme() backends in a GIO module. There is no reason for applications to use it directly. Applications should use g_app_info_get_default_for_uri_scheme(). The #GDesktopAppInfoLookup interface is deprecated and unused by GIO. #GAppInfo for given @uri_scheme or %NULL on error. a #GDesktopAppInfoLookup a string containing a URI scheme. Interface that is used by backends to associate default handlers with URI schemes. Virtual method for g_desktop_app_info_lookup_get_default_for_uri_scheme(). 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. a #GDesktopAppInfo Process identifier User data This [class@Gio.SocketControlMessage] contains a [class@Gio.UnixFDList]. It may be sent using [method@Gio.Socket.send_message] and received using [method@Gio.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. For an easier way to send and receive file descriptors over stream-oriented UNIX sockets, see [method@Gio.UnixConnection.send_fd] and [method@Gio.UnixConnection.receive_fd]. Note that `<gio/gunixfdmessage.h>` belongs to the UNIX-specific GIO interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file or the `GioUnix-2.0` GIR namespace when using it. Creates a new #GUnixFDMessage containing an empty file descriptor list. a new #GUnixFDMessage Creates a new #GUnixFDMessage containing @list. a new #GUnixFDMessage a #GUnixFDList Adds a file descriptor to @message. The file descriptor is duplicated using dup(). You keep your copy of the descriptor and the copy contained in @message will be closed when @message is finalized. A possible cause of failure is exceeding the per-process or system-wide file descriptor limit. %TRUE in case of success, else %FALSE (and @error is set) a #GUnixFDMessage a valid open file descriptor Gets the #GUnixFDList contained in @message. This function does not return a reference to the caller, but the returned list is valid for the lifetime of @message. the #GUnixFDList from @message a #GUnixFDMessage Returns the array of file descriptors that is contained in this object. After this call, the descriptors are no longer contained in @message. Further calls will return an empty list (unless more descriptors have been added). The return result of this function must be freed with g_free(). The caller is also responsible for closing all of the file descriptors. If @length is non-%NULL then it is set to the number of file descriptors in the returned array. The returned array is also terminated with -1. This function never returns %NULL. In case there are no file descriptors contained in @message, an empty array is returned. an array of file descriptors a #GUnixFDMessage pointer to the length of the returned array, or %NULL The [class@Gio.UnixFDList] object to send with the message. `GFileDescriptorBased` is an interface for file descriptor based IO. It is implemented by streams (implementations of [class@Gio.InputStream] or [class@Gio.OutputStream]) that are based on file descriptors. Note that `<gio/gfiledescriptorbased.h>` belongs to the UNIX-specific GIO interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file or the `GioUnix-2.0` GIR namespace when using it. Gets the underlying file descriptor. The file descriptor a #GFileDescriptorBased. An interface for file descriptor based io objects. The parent interface. Gets the underlying file descriptor. `GUnixInputStream` implements [class@Gio.InputStream] 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.) Note that `<gio/gunixinputstream.h>` belongs to the UNIX-specific GIO interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file or the `GioUnix-2.0` GIR namespace when using it. Creates a new #GUnixInputStream for the given @fd. If @close_fd is %TRUE, the file descriptor will be closed when the stream is closed. a new #GUnixInputStream a UNIX file descriptor %TRUE to close the file descriptor when done Returns whether the file descriptor of @stream will be closed when the stream is closed. %TRUE if the file descriptor is closed when done a #GUnixInputStream Return the UNIX file descriptor that the stream reads from. The file descriptor of @stream a #GUnixInputStream Sets whether the file descriptor of @stream shall be closed when the stream is closed. a #GUnixInputStream %TRUE to close the file descriptor when done Whether to close the file descriptor when the stream is closed. The file descriptor that the stream reads from. Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>). This corresponds roughly to a mtab entry. Watches #GUnixMounts for changes. Deprecated alias for g_unix_mount_monitor_get(). This function was never a true constructor, which is why it was renamed. Use g_unix_mount_monitor_get() instead. a #GUnixMountMonitor. Gets the #GUnixMountMonitor for the current thread-default main context. The mount monitor can be used to monitor for changes to the list of mounted filesystems as well as the list of mount points (ie: fstab entries). You must only call g_object_unref() on the return value from under the same main context as you called this function. the #GUnixMountMonitor. This function does nothing. Before 2.44, this was a partially-effective way of controlling the rate at which events would be reported under some uncommon circumstances. Since @mount_monitor is a singleton, it also meant that calling this function would have side effects for other users of the monitor. This function does nothing. Don't call it. a #GUnixMountMonitor a integer with the limit in milliseconds to poll for changes. Emitted when the unix mount points have changed. Emitted when the unix mounts have changed. Defines a Unix mount point (e.g. <filename>/dev</filename>). This corresponds roughly to a fstab entry. Gets a #GUnixMountPoint for a given mount path. If @time_read is set, it will be filled with a unix timestamp for checking if the mount points have changed since with g_unix_mount_points_changed_since(). If more mount points have the same mount path, the last matching mount point is returned. a #GUnixMountPoint, or %NULL if no match is found. path for a possible unix mount point. guint64 to contain a timestamp. Compares two unix mount points. 1, 0 or -1 if @mount1 is greater than, equal to, or less than @mount2, respectively. a #GUnixMount. a #GUnixMount. Makes a copy of @mount_point. a new #GUnixMountPoint a #GUnixMountPoint. Frees a unix mount point. unix mount point to free. Gets the device path for a unix mount point. a string containing the device path. a #GUnixMountPoint. Gets the file system type for the mount point. a string containing the file system type. a #GUnixMountPoint. Gets the mount path for a unix mount point. a string containing the mount path. a #GUnixMountPoint. Gets the options for the mount point. a string containing the options. a #GUnixMountPoint. Guesses whether a Unix mount point can be ejected. %TRUE if @mount_point is deemed to be ejectable. a #GUnixMountPoint Guesses the icon of a Unix mount point. a #GIcon a #GUnixMountPoint Guesses the name of a Unix mount point. The result is a translated string. A newly allocated string that must be freed with g_free() a #GUnixMountPoint Guesses the symbolic icon of a Unix mount point. a #GIcon a #GUnixMountPoint Checks if a unix mount point is a loopback device. %TRUE if the mount point is a loopback. %FALSE otherwise. a #GUnixMountPoint. Checks if a unix mount point is read only. %TRUE if a mount point is read only. a #GUnixMountPoint. Checks if a unix mount point is mountable by the user. %TRUE if the mount point is user mountable. a #GUnixMountPoint. `GUnixOutputStream` implements [class@Gio.OutputStream] 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.) Note that `<gio/gunixoutputstream.h>` belongs to the UNIX-specific GIO interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file file or the `GioUnix-2.0` GIR namespace when using it. Creates a new #GUnixOutputStream for the given @fd. If @close_fd, is %TRUE, the file descriptor will be closed when the output stream is destroyed. a new #GOutputStream a UNIX file descriptor %TRUE to close the file descriptor when done Returns whether the file descriptor of @stream will be closed when the stream is closed. %TRUE if the file descriptor is closed when done a #GUnixOutputStream Return the UNIX file descriptor that the stream writes to. The file descriptor of @stream a #GUnixOutputStream Sets whether the file descriptor of @stream shall be closed when the stream is closed. a #GUnixOutputStream %TRUE to close the file descriptor when done Whether to close the file descriptor when the stream is closed. The file descriptor that the stream writes to. Gets the default application for launching applications using this URI scheme for a particular #GDesktopAppInfoLookup implementation. The #GDesktopAppInfoLookup interface and this function is used to implement g_app_info_get_default_for_uri_scheme() backends in a GIO module. There is no reason for applications to use it directly. Applications should use g_app_info_get_default_for_uri_scheme(). The #GDesktopAppInfoLookup interface is deprecated and unused by GIO. #GAppInfo for given @uri_scheme or %NULL on error. a #GDesktopAppInfoLookup a string containing a URI scheme. Gets the underlying file descriptor. The file descriptor a #GFileDescriptorBased. 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. %TRUE if @mount_path is considered an implementation detail of the OS. a mount path, e.g. `/media/disk` or `/usr` 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. The list of device paths considered ‘system’ ones may change over time. %TRUE if @device_path is considered an implementation detail of the OS. a device path, e.g. `/dev/loop0` or `nfsd` 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. The list of file system types considered ‘system’ ones may change over time. %TRUE if @fs_type is considered an implementation detail of the OS. a file system type, e.g. `procfs` or `tmpfs` 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(). If more mounts have the same mount path, the last matching mount is returned. This will return %NULL if there is no mount point at @mount_path. a #GUnixMountEntry. path for a possible unix mount. guint64 to contain a timestamp. Compares two unix mounts. 1, 0 or -1 if @mount1 is greater than, equal to, or less than @mount2, respectively. first #GUnixMountEntry to compare. second #GUnixMountEntry to compare. Makes a copy of @mount_entry. a new #GUnixMountEntry a #GUnixMountEntry. 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(). If more mounts have the same mount path, the last matching mount is returned. This will return %NULL if looking up the mount entry fails, if @file_path doesn’t exist or there is an I/O error. a #GUnixMountEntry. file path on some unix mount. guint64 to contain a timestamp. Frees a unix mount. a #GUnixMountEntry. Gets the device path for a unix mount. a string containing the device path. a #GUnixMount. Gets the filesystem type for the unix mount. a string containing the file system type. a #GUnixMount. Gets the mount path for a unix mount. the mount path for @mount_entry. input #GUnixMountEntry to get the mount path for. Gets a comma-separated list of mount options for the unix mount. For example, `rw,relatime,seclabel,data=ordered`. This is similar to g_unix_mount_point_get_options(), but it takes a #GUnixMountEntry as an argument. a string containing the options, or %NULL if not available. a #GUnixMountEntry. Gets the root of the mount within the filesystem. This is useful e.g. for mounts created by bind operation, or btrfs subvolumes. For example, the root path is equal to "/" for mount created by "mount /dev/sda1 /mnt/foo" and "/bar" for "mount --bind /mnt/foo/bar /mnt/bar". a string containing the root, or %NULL if not supported. a #GUnixMountEntry. Guesses whether a Unix mount can be ejected. %TRUE if @mount_entry is deemed to be ejectable. a #GUnixMountEntry Guesses the icon of a Unix mount. a #GIcon a #GUnixMountEntry Guesses the name of a Unix mount. The result is a translated string. A newly allocated string that must be freed with g_free() a #GUnixMountEntry Guesses whether a Unix mount should be displayed in the UI. %TRUE if @mount_entry is deemed to be displayable. a #GUnixMountEntry Guesses the symbolic icon of a Unix mount. a #GIcon a #GUnixMountEntry Checks if a unix mount is mounted read only. %TRUE if @mount_entry is read only. a #GUnixMount. 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. The definition of what a ‘system’ mount entry is may change over time as new file system types and device paths are ignored. %TRUE if the unix mount is for a system path. a #GUnixMount. Gets a #GUnixMountPoint for a given mount path. If @time_read is set, it will be filled with a unix timestamp for checking if the mount points have changed since with g_unix_mount_points_changed_since(). If more mount points have the same mount path, the last matching mount point is returned. a #GUnixMountPoint, or %NULL if no match is found. path for a possible unix mount point. guint64 to contain a timestamp. Compares two unix mount points. 1, 0 or -1 if @mount1 is greater than, equal to, or less than @mount2, respectively. a #GUnixMount. a #GUnixMount. Makes a copy of @mount_point. a new #GUnixMountPoint a #GUnixMountPoint. Frees a unix mount point. unix mount point to free. Gets the device path for a unix mount point. a string containing the device path. a #GUnixMountPoint. Gets the file system type for the mount point. a string containing the file system type. a #GUnixMountPoint. Gets the mount path for a unix mount point. a string containing the mount path. a #GUnixMountPoint. Gets the options for the mount point. a string containing the options. a #GUnixMountPoint. Guesses whether a Unix mount point can be ejected. %TRUE if @mount_point is deemed to be ejectable. a #GUnixMountPoint Guesses the icon of a Unix mount point. a #GIcon a #GUnixMountPoint Guesses the name of a Unix mount point. The result is a translated string. A newly allocated string that must be freed with g_free() a #GUnixMountPoint Guesses the symbolic icon of a Unix mount point. a #GIcon a #GUnixMountPoint Checks if a unix mount point is a loopback device. %TRUE if the mount point is a loopback. %FALSE otherwise. a #GUnixMountPoint. Checks if a unix mount point is read only. %TRUE if a mount point is read only. a #GUnixMountPoint. Checks if a unix mount point is mountable by the user. %TRUE if the mount point is user mountable. a #GUnixMountPoint. Checks if the unix mount points have changed since a given unix time. %TRUE if the mount points have changed since @time. guint64 to contain a timestamp. 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(). a #GList of the UNIX mountpoints. guint64 to contain a timestamp. Checks if the unix mounts have changed since a given unix time. %TRUE if the mounts have changed since @time. guint64 to contain a timestamp. 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(). a #GList of the UNIX mounts. guint64 to contain a timestamp, or %NULL