Screen context types

The types of context masks.

Synopsis:

#include <screen/screen.h>
 
 enum {
      SCREEN_APPLICATION_CONTEXT = 0   
      SCREEN_WINDOW_MANAGER_CONTEXT = (1 << 0)   
      SCREEN_INPUT_PROVIDER_CONTEXT = (1 << 1)   
      SCREEN_POWER_MANAGER_CONTEXT = (1 << 2)   
      SCREEN_DISPLAY_MANAGER_CONTEXT = (1 << 3)   
};

Data:

SCREEN_APPLICATION_CONTEXT
A context type that allows a process to create its own windows and control some of the window properties.

Applications can't modify windows that were created by other applications and can't send events outside their process space. Application contexts aren't aware of other top-level windows in the system; neither are they allowed to operate on them. Application contexts are allowed to parent other windows, even if they are created in other contexts in other processes, and are allowed to control those windows.

SCREEN_WINDOW_MANAGER_CONTEXT
A context type that requests a privileged context to allow a process to modify all windows in the system when new application windows are created or destroyed.

The context also receives notifications when applications create new windows, existing application windows are destroyed, or when an application tries to change certain window properties. A process must have an effective user ID of root to create a context of this type successfully.

SCREEN_INPUT_PROVIDER_CONTEXT
A context type that requests a privileged context to allow a process to send events to any application in the system.

This context type doesn't receive notifications when applications create new windows, when applications destroy existing windows, or when an application attempts to change certain window properties. A process must have an effective user ID of root to create a context of this type successfully.

SCREEN_POWER_MANAGER_CONTEXT
A context type that requests a privileged context to provide access to power management functionality in order to change display power modes.

A process must have an effective user ID of root to create a context of this type successfully.

SCREEN_DISPLAY_MANAGER_CONTEXT
A context type that requests a privileged context to allow a process to modify all display properties in the system.

A process must have an effective user ID of root to create a context of this type successfully.

Library:

libscreen

Description:

These bits are intended to be combined in a single integer representing combinations of desired privileges to be applied to a context.