inhibit


Description:

public uint inhibit (Window? window, ApplicationInhibitFlags flags, string? reason)

Inform the session manager that certain types of actions should be inhibited.

This is not guaranteed to work on all platforms and for all types of actions.

Applications should invoke this method when they begin an operation that should not be interrupted, such as creating a CD or DVD. The types of actions that may be blocked are specified by the `flags` parameter. When the application completes the operation it should call [ method@Gtk.Application.uninhibit] to remove the inhibitor. Note that an application can have multiple inhibitors, and all of them must be individually removed. Inhibitors are also cleared when the application exits.

Applications should not expect that they will always be able to block the action. In most cases, users will be given the option to force the action to take place.

The `reason` message should be short and to the point.

If `window` is given, the session manager may point the user to this window to find out more about why the action is inhibited.

Parameters:

this

the `GtkApplication`

window

a `GtkWindow`

flags

what types of actions should be inhibited

reason

a short, human-readable string that explains why these operations are inhibited

Returns:

A non-zero cookie that is used to uniquely identify this request. It should be used as an argument to [method@Gtk.Application.uninhibit] in order to remove the request. If the platform does not support inhibiting or the request failed for some reason, 0 is returned.