![]() |
![]() |
![]() |
![]() |
This is a unsorted list of hints when developing for Phosh
Phosh uses several manager objects e.g. #PhoshBackgroundManager, PhoshMonitorManager, PhoshLockscreenManager to keep track of certain objects (monitors, lock screens, backgrounds) and to trigger events on those when needed. They’re usually created and disposed by PhoshShell. Some of them like PhoshWayland are singletons so you can access them from basically anywhere in the codebase.
Several widgets listen to changes on DBus objects in order to e.g. display the current connectivity - see PhoshConnectivityInfo for an example that monitors network connectivity.
Sometimes it is no longer useful to show the widget (since
e.g. the corresponding DBus service went away). In that case the
widget should flip a boolean property so the parent container
can hide the object via #g_object_bind_property()
.
Since phosh is a GTK application you can use
GtkInspector.
You can use the GTK_INSPECTOR_DISPLAY
enviroment variable to use a different Wayland display for the
inspector window. This can be useful to have the inspector
windows outside of a nested Wayland session.