Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# Inhibit

## Description

Inhibit portal backend interface

The inhibit portal lets sandboxed applications inhibit the user session from ending, suspending, idling or getting switched away.

## Methods

### org.freedesktop.impl.portal.Inhibit.Inhibit

    Inhibit (
      IN handle o,
      IN app_id s,
      IN window s,
      IN flags u,
      IN options a{sv}
    )

Inhibits session status changes. As a side-effect of this call, a Request object is exported on the object path `handle`. To end the inhibition, call org.freedesktop.impl.portal.Request.Close on that object.

The flags determine what changes are inhibited:

- `1`: Logout

- `2`: User Switch

- `4`: Suspend

- `8`: Idle

Supported keys in the `options` vardict include:

- `reason` (`s`)

  User-visible reason for the inhibition.

handle

  Object path for the Request object representing this call

app_id

  Application id

window

  Identifier for the window

flags

  Flags identifying what is inhibited

options

  Vardict with optional further information

### org.freedesktop.impl.portal.Inhibit.CreateMonitor

    CreateMonitor (
      IN handle o,
      IN session_handle o,
      IN app_id s,
      IN window s,
      OUT response u
    )

Creates a monitoring session. While this session is active, the caller will receive StateChanged signals with updates on the session state.

handle

  Object path for the Request object representing this call

session_handle

  Object path for the created Session object

app_id

  App id of the application

window

  the parent window

response

  the result of the operation (0 == success)

### org.freedesktop.impl.portal.Inhibit.QueryEndResponse

    QueryEndResponse (
      IN session_handle o
    )

Acknowledges that the caller received the org.freedesktop.impl.portal.Inhibit::StateChanged signal. This method should be called within one second or receiving a StateChanged signal with the ‘Query End’ state.

session_handle

  Object path for the Session object

## Signals

### org.freedesktop.impl.portal.Inhibit::StateChanged

    StateChanged (
      session_handle o,
      state a{sv}
    )

The StateChanged signal is sent to active monitoring sessions when the session state changes.

When the session state changes to ‘Query End’, clients with active monitoring sessions are expected to respond by calling org.freedesktop.impl.portal.Inhibit.QueryEndResponse within a second of receiving the StateChanged signal.

The following information may get returned in the `state` vardict:

- `screensaver-active` (`b`)

  Whether the screensaver is active.

- `session-state` (`u`)

  The state of the session.

  - `1`: Running

  - `2`: Query End

  - `3`: Ending

session_handle

  Object path for the Session object

state

  Vardict with information about the session state