## Filesystem utilities

Filesystem utilities — Functions for working with GIO

## Synopsis

    #include <gtk/gtk.h>

    typedef             GtkMountOperation;
    GMountOperation*    gtk_mount_operation_new             (GtkWindow *parent);
    gboolean            gtk_mount_operation_is_showing      (GtkMountOperation *op);
    void                gtk_mount_operation_set_parent      (GtkMountOperation *op,
                                                             GtkWindow *parent);
    GtkWindow*          gtk_mount_operation_get_parent      (GtkMountOperation *op);
    void                gtk_mount_operation_set_screen      (GtkMountOperation *op,
                                                             GdkScreen *screen);
    GdkScreen*          gtk_mount_operation_get_screen      (GtkMountOperation *op);
    gboolean            gtk_show_uri                        (GdkScreen *screen,
                                                             const gchar *uri,
                                                             guint32 timestamp,
                                                             GError **error);

## Description

The functions and objects described here make working with GTK+ and GIO more convenient. GtkMountOperation is needed when mounting volumes and `gtk_show_uri()` is a convenient way to launch applications for URIs. Another object that is worth mentioning in this context is GdkAppLaunchContext, which provides visual feedback when lauching applications.

## Details

### GtkMountOperation

    typedef struct GtkMountOperation         GtkMountOperation;

GtkMountOperation is an implementation of GMountOperation that can be used with GIO functions for mounting volumes such as `g_file_mount_enclosing_volume()` or `g_file_mount_mountable()`.

When necessary, GtkMountOperation shows dialogs to ask for passwords.

### gtk_mount_operation_new ()

    GMountOperation*    gtk_mount_operation_new             (GtkWindow *parent);

Creates a new GtkMountOperation

`parent` : | transient parent of the window, or `NULL`
Returns : | a new GtkMountOperation

Since 2.14

### gtk_mount_operation_is_showing ()

    gboolean            gtk_mount_operation_is_showing      (GtkMountOperation *op);

Returns whether the GtkMountOperation is currently displaying a window.

`op` : | a GtkMountOperation
Returns : | `TRUE` if `op` is currently displaying a window

Since 2.14

### gtk_mount_operation_set_parent ()

    void                gtk_mount_operation_set_parent      (GtkMountOperation *op,
                                                             GtkWindow *parent);

Sets the transient parent for windows shown by the GtkMountOperation.

`op` : | a GtkMountOperation
`parent` : | transient parent of the window, or `NULL`

Since 2.14

### gtk_mount_operation_get_parent ()

    GtkWindow*          gtk_mount_operation_get_parent      (GtkMountOperation *op);

Gets the transient parent used by the GtkMountOperation

`op` : | a GtkMountOperation
Returns : | the transient parent for windows shown by `op`

Since 2.14

### gtk_mount_operation_set_screen ()

    void                gtk_mount_operation_set_screen      (GtkMountOperation *op,
                                                             GdkScreen *screen);

Sets the screen to show windows of the GtkMountOperation on.

`op` : | a GtkMountOperation
`screen` : | a GdkScreen

Since 2.14

### gtk_mount_operation_get_screen ()

    GdkScreen*          gtk_mount_operation_get_screen      (GtkMountOperation *op);

Gets the screen on which windows of the GtkMountOperation will be shown.

`op` : | a GtkMountOperation
Returns : | the screen on which windows of `op` are shown

Since 2.14

### gtk_show_uri ()

    gboolean            gtk_show_uri                        (GdkScreen *screen,
                                                             const gchar *uri,
                                                             guint32 timestamp,
                                                             GError **error);

This is a convenience function for launching the default application to show the uri. The uri must be of a form understood by GIO. Typical examples are

`file:///home/gnome/pict.jpg`
`http://www.gnome.org`
`mailto:me@gnome.org`

Ideally the timestamp is taken from the event triggering the `gtk_show_uri()` call. If timestamp is not known you can take `GDK_CURRENT_TIME`.

This function can be used as a replacement for `gnome_vfs_url_show()` and `gnome_url_show()`.

`screen` : | screen to show the uri on or `NULL` for the default screen
`uri` : | the uri to show
`timestamp` : | a timestamp to prevent focus stealing.
`error` : | a GError that is returned in case of errors
Returns : | `TRUE` on success, `FALSE` on error.

Since 2.14