This document is the development reference for Phosh 0.14.1

Phosh is a pure Wayland graphical shell for mobile devices.

If you find any issues in this development reference, please report it using the bugtracker.


I. Phosh Overview
Getting started with Phosh development
Overview
Wayland protocols
Session startup
Hints
Manager Objects
Status Information Widgets
Debugging
Special topics
Compositor interaction
GNOME Settings Daemon interaction
II. Api Reference
Widgets and Objects
PhoshActivity — An app in the favorites overview
PhoshAppAuthPrompt — A system modal prompt to authorize applications
PhoshAppGridButton
PhoshAppGrid
PhoshAppListModel
PhoshAppTracker — Application state tracker
PhoshArrow — An animated arrow
PhoshAuth — PAM authentication handling
PhoshBackgroundManager — Tracks screen related events and updates backgrounds accordingly.
PhoshBackground — The monitor's background
PhoshBatteryInfo — A widget to display the battery status
PhoshBtManager — Tracks the Bluetooth status
PhoshBtInfo — A widget to display the bluetooth status
call
PhoshCallsManager — Track ongoing phone calls
PhoshConnectivityInfo — A widget to display the connectivity status
PhoshDBusNotification — A notifiction submitted via the DBus notification interface
PhoshDockedInfo — A widget to display the docked status
PhoshDockedManager — Handles 'docking" the phone to additional hardware
PhoshEndSessionDialog — A system modal prompt to authorize applications
PhoshFader — A fader
PhoshFavoriteListModel
PhoshFeedbackManager — Sends and configures user feedback
PhoshFeedbackInfo — A widget to toggle feedback modes
PhoshGnomeShellManager — Provides the org.gnome.Shell DBus interface
PhoshGtkMountManager — Provides the org.Gtk.GtkMountOperationHandler DBus interface
PhoshGtkMountPrompt — A modal prompt for PhoshGtkMountManager
PhoshHead — An output head
PhoshHome — The home surface contains the overview and the button to fold and unfold the overview.
PhoshHksInfo — A widget to display the HKS status of a device
PhoshHksManager — Tracks hardware kill switch state
PhoshIdleManager — The idle manager singleton
PhoshKeyboardEvents — Grabs and manages special keyboard events
PhoshKeypad — A keypad for pin input
PhoshLayerSurface — A GtkWindow rendered as a LayerSurface by the compositor
PhoshLocationInfo — A widget to display the location service status
PhoshLocationManager — Provides the org.freedesktop.GeoClue2.Agent DBus interface
PhoshLockscreenManager — The singleton that manages screen locking
PhoshLockscreen — The main lock screen
PhoshLockshield — Lock shield for non primary screens
PhoshMediaPlayer — A simple MPRIS media player widget
PhoshModeManager — Determines the device mode
PhoshMonitorManager — The singleton that manages available monitors
PhoshMonitor — A monitor
PhoshMountManager — Mount devices
PhoshMountNotification — A notifiction shown when a device got mounted
PhoshNetworkAuthPrompt — A modal prompt for asking Network credentials
PhoshNotificationBanner — A floating notification
PhoshNotificationContent — Content of a notification
PhoshNotificationFrame — A frame containing one or more notifications
PhoshNotificationList — A list containing one or more PhoshNotificationSource
PhoshNotificationSource — A GListModel containing one or more notifications
PhoshNotification — A notification
PhoshNotifyManager — Manages notifications
PhoshTimestampLabel — A simple way of displaying a time difference
PhoshOsk — A button that toggles the OSK
PhoshOskManager — A manager that handles the OSK
PhoshOverview — The overview shows running apps and the app grid to launch new applications.
PhoshOsdWindow — A OSD Window
PhoshWayland — A wayland registry listener
phosh-wwan-backend
PhoshWWanInterface — Interface for modem handling
PhoshWWanMM — Implementation of the PhoshWWanInterface
PhoshWWanOfono — Implementation of the PhoshWWanInterface for Ofono
PhoshPolkitAuthAgent — PolicyKit Authentication Agent
PhoshPolkitAuthPrompt — A modal prompt for policy kit authentication
PhoshProximity — Proximity sensor handling
PhoshQuickSetting — A quick setting for the notification drawer
PhoshRotateInfo — A widget to display the rotate lock status
PhoshRotationManager — The Rotation Manager
PhoshRunCommandDialog — A modal dialog to run commands from
run-command-manager — Handles the run-command-dialog
PhoshScreenSaverManager — Provides the org.gnome.ScreenSaver DBus interface and handles logind's Session
PhoshSensorProxyManager — Interface with iio-sensor-proxy
PhoshSessionManager — Session interaction
PhoshSettings — The settings menu
ShellNetworkAgent
PhoshShell — The shell singleton
PhoshStatusIcon — Base clase for different status icons e.g in the top bar
PhoshSplash — A splash screen
PhoshSplashManager — Handles splash screens
swipe-away-bin
PhoshSystemModal — A modal system component
PhoshSystemModalDialog — A modal system dialog
PhoshSystemPrompt — A modal system prompt
PhoshSystemPrompter — Manages system prompter registration
PhoshThumbnail — An abstract class representing thumbnail image.
PhoshTopPanel — The top panel
PhoshToplevel — Represents a single toplevel surface.
PhoshToplevelManager — Tracks and interacts with toplevel surfaces for window management purposes.
PhoshToplevelThumbnail — Represents an image snapshot of PhoshToplevel obtained via phosh-private and wlr-screencopy Wayland protocols.
PhoshTorchInfo — A widget to display the torch status
PhoshTorchManager — Interacts with torch via UPower
PhoshWifiInfo — A widget to display the wifi status
PhoshWifiManager — Tracks the Wifi status and handle wifi credentials entry
PhoshWWanInfo — A widget to display the wwan status
Utilities
brightness
util
PhoshWlBuffer — A wayland buffer
Generated DBus Servers
PhoshDBusDisplayConfigSkeleton
PhoshScreenSaverDBusScreenSaverSkeleton
PhoshNotifyDBusNotificationsSkeleton
PhoshSessionPresenceDBusPresenceSkeleton
PhoshGnomeShellDBusShellSkeleton
Generated DBus Clients
PhoshCallsDBusObjectManagerClient
PhoshIdleDBusObjectManagerClient
PhoshLogin1ManagerDBusLoginManagerSkeleton
PhoshLogin1SessionDBusLoginSessionSkeleton
PhoshOsk0SmPuriOSK0Skeleton
PhoshScreenSaverDBusScreenSaverSkeleton
PhoshMMDBusObjectManagerClient
PhoshOfonoDBusManagerSkeleton
PhoshRfkillDBusRfkillSkeleton
PhoshDBusSensorProxyCompassSkeleton
PhoshMprisDBusMediaPlayer2PlayerSkeleton
Wayland protocols
idle-client-protocol
phosh-private-client-protocol
wlr-foreign-toplevel-management-unstable-v1-client-protocol
wlr-gamma-control-unstable-v1-client-protocol
wlr-input-inhibitor-unstable-v1-client-protocol
wlr-layer-shell-unstable-v1-client-protocol
wlr-output-management-unstable-v1-client-protocol
wlr-output-power-management-unstable-v1-client-protocol
wlr-screencopy-unstable-v1-client-protocol
xdg-output-unstable-v1-client-protocol
xdg-shell-client-protocol
III. Annexes
Object Hierarchy
API Index
Annotations glossary