Namespace

Phoc – 0

Phone Compositor

Version0.21.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

Additional documentation

Classes

Cursor
Desktop

Desktop singleton.

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.

Tablet

A tablet input device.

TimedAnimation

PhocTimedAnimation implements a timed animation using the given PhocPropertyEaser to animate properties of the PhocAnimatable.

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.

Structs

AnyEvent
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
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
OutputConfig
OutputModeConfig
PointerConstraint
SeatView
Switch
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
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
ViewType

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_update_focus
maybe_set_cursor
utils_compute_scale
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.

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.