This document is the development reference for Phosh 0.8.0

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
PhoshAppGridButton
PhoshAppGrid
PhoshAppListModel
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
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
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
PhoshHead — An output head
PhoshHome — The home surface contains the overview and the button to fold and unfold the overview.
PhoshIdleManager — The idle manager singleton
PhoshKeyboardEvents — Grabs and manages special keyboard events
PhoshLayerSurface — A GtkWindow rendered as a LayerSurface by the compositor
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.
PhoshPanel — The top panel
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 status
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
swipe-away-bin
PhoshSystemPrompt — A modal system prompt
PhoshSystemPrompter — Manages system prompter registration
PhoshThumbnail — An abstract class representing thumbnail image.
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
Generated DBus Servers
PhoshDisplayDbusDisplayConfigSkeleton
PhoshScreenSaverDBusScreenSaverSkeleton
PhoshNotifyDBusNotificationsSkeleton
PhoshSessionPresenceDBusPresenceSkeleton
PhoshGnomeShellDBusShellSkeleton
Generated DBus Clients
PhoshIdleDBusObjectManagerClient
PhoshLogin1ManagerDBusLoginManagerSkeleton
PhoshLogin1SessionDBusLoginSessionSkeleton
PhoshOsk0ObjectManagerClient
PhoshScreenSaverDBusScreenSaverSkeleton
PhoshMMDBusObjectManagerClient
PhoshOfonoDBusManagerSkeleton
PhoshRfkillDBusRfkillSkeleton
PhoshDBusSensorProxyCompassSkeleton
PhoshMprisDBusMediaPlayer2PlayerSkeleton
Wayland protocols
gamma-control-client-protocol
idle-client-protocol
phosh-private-client-protocol
wlr-foreign-toplevel-management-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