Namespace

Phoc – 0

Phone Compositor

Version0.33.0
AuthorsPurism SPC
LicenseGPL-3-or-later
Websitehttps://world.pages.gitlab.gnome.org/Phosh/phoc
Sourcehttps://gitlab.gnome.org/World/Phosh/phoc/

Build

C headers
pkg-config filesphoc-0

Dependencies

GObject—2.0 The base type system library
Browse documentation

Classes

ColorRect

A colored rectangle to be drawn by the compositor.

Cursor

CutoutsOverlay

An overlay texture to render a devices cutouts.

Desktop

Desktop singleton.

DeviceState

Device state protocol:

Gesture

PhocGesture helps to detect and track ongoing gestures.

GestureDrag

A drag gesture.

GestureSingle

A single touch (or mouse) gesture.

GestureSwipe

PhocGestureSwipe is a PhocGesture for swipe gestures.

GestureZoom

A zoom gesture.

Input

PhocInput handles new input devices and seats.

InputDevice

Abstract base class for input device like pointers or touch.

Keybindings

Keybindings stored in gsettings.

Keyboard

A keyboard input device.

LayerShellEffects

Additional effects for layer surfaces.

LayerSurface

A Layer surface backed by the wlr-layer-surface wayland protocol.

Output

The output region of a compositor (typically a monitor).

OutputShield

A shield that covers a whole PhocOutput. It can be raised (to cover the whole screen) and lowered to show the screens content.

PhoshPrivate

Private protocol to interface with phosh.

Pointer

A pointer input device.

PropertyEaser

Eases properties of a given object.

Renderer

The renderer.

Seat

Represents a seat.

Server

The server singleton.

Switch

A switch device. E.g. a tablet mode switch or laptop lid switch.

Tablet

A tablet input device.

TimedAnimation

An animation that ends after the given period of time.

Touch

A touch input device.

View

A PhocView represents a toplevel like an xdg-toplevel or a xwayland window.

XdgSurface

An xdg surface.

XWaylandSurface

An XWayland Surface.

Interfaces

Animatable

Something that can be animated.

Bling

A PhocBling is additional render bling such as rectangles or other elements to be drawn by the compositor.

Structs

AlphaLayerSurface

AnyEvent

Box

PhocBox is used to represent a rectangular region. It just wraps wlr_box so we can use it in the type system.

Color

PhocColor is used to represent a (possibly translucent) color.

Config

DraggableLayerSurface

DragIcon

Event

Input events.

EventSequence

PhocEventSequence is an opaque type representing a sequence of related touch events.

GtkShell

A minimal implementeation of gtk_shell1 protocol.

GtkSurface

IdleInhibit

Forward idle inhibit to gnome-session.

InputMethodRelay

The relay structure manages the relationship between text-input and input_method interfaces on a given seat.

KeyCombo

A combination of modifiers and a key describing a keyboard shortcut.

LayerPopup

LayerSubsurface

Mode

OutputConfig

OutputModeConfig

PointerConstraint

SeatView

TabletPad

TabletTool

TouchPoint

A touch point tracked compositor side.

ViewChild

A child of a PhocView, e.g. a popup or subsurface.

ViewChildInterface

Enumerations

AnimationState

AnimDir

CursorMode

DraggableSurfaceState

Drag states of a draggable surface (e.g. a PhocDraggableLayerSurface. TODO: Reuse when xdg surface become draggable too.

Easing

EventFlags

Flags for the PhocEvent.

EventSequenceState

Describes the state of a PhocEventSequence in a PhocGesture.

EventType

Types of events.

PhoshPrivateShellState

SwitchState

State of a switch (e.g. a tablet mode or lid switch).

TouchpadGesturePhase

The phase of a touchpad gesture event. All gestures are guaranteed to begin with an event of type PHOC_TOUCHPAD_GESTURE_PHASE_BEGIN, followed by a number of PHOC_TOUCHPAD_GESTURE_PHASE_UPDATE (possibly 0).

ViewState

Callbacks

FrameCallback

Callback type for adding a function to update animations. See phoc_animatable_add_frame_callback().

SurfaceIterator

Functions

handle_virtual_keyboard

handle_virtual_pointer

layer_shell_arrange

layer_shell_find_osk

Checks whether the given PhocOutput has the on screen keyboard and returns the associated PhocLayerSurface if found.

layer_shell_update_focus

layer_shell_update_osk

When a layer surface gets focus and there’s an OSK we need to make sure the OSK is above that layer as otherwise keyboard input isn’t possible. This can be used to adjust the OSKs layer accordingly.

maybe_set_cursor

utils_compute_scale

Compute a suitable output scale based on the physical size and resolution.

utils_fix_transform

utils_rotate_child_position

Rotate a child’s position relative to a parent. The parent size is (pw, ph), the child position is (sx, sy) and its size is (sw, sh).

utils_rotated_bounds

Stores the smallest box that can contain provided box after rotating it by specified rotation into *dest.

utils_scale_box

Scales the passed in box by scale.

xdg_activation_v1_handle_request_activate

Function Macros

PRIV_CONTAINER

Returns a pointer to the instance containing the instance private data p.

PRIV_CONTAINER_P

Returns an untyped pointer to the instance containing the instance private data p.