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