Namespace

Phoc – 0

Phone Compositor

Version0.40.1
AuthorsThe Phosh Developers
LicenseGPL-3.0-or-later
Websitehttps://world.pages.gitlab.gnome.org/Phosh/phoc
Sourcehttps://gitlab.gnome.org/World/Phosh/phoc/

Build

pkg-config filesphoc-0

Dependencies

wlroots Modular Wayland compositor library
Browse documentation
GLib General-purpose, portable utility library
Browse documentation
GObject The base type system library
Browse documentation
GIO GObject Interfaces and Objects, Networking, IPC, and I/O
Browse documentation

Additional documentation

Classes

ColorRect

A colored rectangle to be drawn by the compositor.

since: 0

Cursor

since: 0

CutoutsOverlay

An overlay texture to render a devices cutouts.

since: 0

Desktop

Desktop singleton.

since: 0

DeviceState

Device state protocol:

since: 0

Gesture

PhocGesture helps to detect and track ongoing gestures.

since: 0

GestureDrag

A drag gesture.

since: 0

GestureSingle

A single touch (or mouse) gesture.

since: 0

GestureSwipe

PhocGestureSwipe is a PhocGesture for swipe gestures.

since: 0

GestureZoom

A zoom gesture.

since: 0

Input

PhocInput handles new input devices and seats.

since: 0

InputDevice

Abstract base class for input device like pointers or touch.

since: 0

Keybindings

Keybindings stored in gsettings.

since: 0

Keyboard

A keyboard input device.

since: 0

LayerShellEffects

Additional effects for layer surfaces.

since: 0

LayerSurface

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

since: 0

Output

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

since: 0

OutputShield

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

since: 0

PhoshPrivate

Private protocol to interface with phosh.

since: 0

Pointer

A pointer input device.

since: 0

PropertyEaser

Eases properties of a given object.

since: 0

Renderer

The renderer.

since: 0

Seat

Represents a seat.

since: 0

Server

The server singleton.

since: 0

Subsurface

A subsurface attached to a PhocView or PhocViewChild.

since: 0

Switch

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

since: 0

Tablet

A tablet input device.

since: 0

TimedAnimation

An animation that ends after the given period of time.

since: 0

Touch

A touch input device.

since: 0

View

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

since: 0

ViewChild

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

since: 0

ViewDeco

The decoration for views using server side decorations.

since: 0

XdgPopup

A popup as defined in the xdg-shell protocol.

since: 0

XdgSurface

An xdg toplevel surface as defined in the xdg-shell protocol. For popups see PhocXdgPopup.

since: 0

XWaylandSurface

An XWayland Surface.

since: 0

Interfaces

Animatable

Something that can be animated.

since: 0

Bling

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

since: 0

Structs

AlphaLayerSurface

A layer surface with translusency.

since: 0

Box

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

since: 0

Color

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

since: 0

Config

since: 0

DraggableLayerSurface

A draggable layer surface.

since: 0

DragIcon

The icon used during drag and drop operations.

since: 0

Event

Input events.

since: 0

EventSequence

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

since: 0

GtkShell

A minimal implementeation of gtk_shell1 protocol.

since: 0

GtkSurface

A surface in the gtk_shell1 protocol.

since: 0

IdleInhibit

Forward idle inhibit to gnome-session.

since: 0

InputMethodRelay

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

since: 0

KeyCombo

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

since: 0

LayerPopup

since: 0

LayerSubsurface

since: 0

Mode

since: 0

OutputConfig

since: 0

OutputModeConfig

since: 0

PointerConstraint

since: 0

RenderContext

since: 0

SeatView

Structure used by PhocSeat and PhocCursor to track its views.

since: 0

StackedLayerSurface

Layer surface stacking.

since: 0

TabletPad

since: 0

TabletTool

since: 0

TouchPoint

A touch point tracked compositor side.

since: 0

XdgToplevelDecoration

since: 0

Enumerations

AnimationState

since: 0

AnimDir

since: 0

CursorMode

since: 0

DraggableSurfaceState

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

since: 0

Easing

since: 0

EventFlags

Flags for the PhocEvent.

since: 0

EventSequenceState

Describes the state of a PhocEventSequence in a PhocGesture.

since: 0

EventType

Types of events.

since: 0

OutputScaleFilter

since: 0

PhoshPrivateShellState

since: 0

StackedSurfacePos

since: 0

SwitchState

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

since: 0

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).

since: 0

ViewCorner

since: 0

ViewState

since: 0

Bitfields

ServerDebugFlags

since: 0

ServerFlags

since: 0

ViewDecoPart

since: 0

ViewTileDirection

since: 0

Callbacks

FrameCallback

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

since: 0

SurfaceIterator

since: 0

Functions

handle_layer_shell_surface

since: 0

handle_output_manager_apply

since: 0

handle_output_manager_test

since: 0

handle_virtual_keyboard

since: 0

handle_virtual_pointer

since: 0

handle_xdg_shell_surface

since: 0

handle_xdg_toplevel_decoration

since: 0

layer_shell_arrange

since: 0

layer_shell_find_osk

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

since: 0

layer_shell_update_focus

since: 0

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.

since: 0

maybe_set_cursor

since: 0

parse_accelerator

Parse strings representing keybindings into modifier and symbols.

since: 0

utils_compute_scale

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

since: 0

utils_fix_transform

since: 0

utils_is_damaged

since: 0

utils_scale_box

Scales the passed in box by scale.

since: 0

utils_wlr_surface_enter_output

since: 0

utils_wlr_surface_leave_output

since: 0

utils_wlr_surface_update_scales

since: 0

xdg_activation_v1_handle_request_activate

since: 0

Function Macros

PRIV_CONTAINER

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

since: 0

PRIV_CONTAINER_P

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

since: 0