Expand description
ferroui-freedesktop
The services of a FreeDesktop session that the Linux platforms of
FerroUI share: the input methods that are reached over D-Bus (IBus,
Fcitx), the platform settings of the settings portal, the mounted
volumes, the file chooser portal, the menu exporter, the tray icon, and
accessibility over AT-SPI (at_spi, docs/porting/atspi.md). docs/porting/x11-platform.md has the design (section 3 for
D-Bus) and the stages.
D-Bus is spoken through zbus. A connection reads its socket on a
thread of its own; every call and every signal is awaited as a task of
the dispatcher of the UI thread, so the code of this crate runs on the
UI thread like the continuations of the reference.
The crate builds on every Unix system and has only its event type elsewhere.
Re-exports§
pub use dbus_call_queue::DBusCallError;pub use dbus_call_queue::DBusCallQueue;pub use dbus_call_queue::DBusResult;pub use dbus_helper::DBusHelper;pub use dbus_menu_exporter::DBusMenuExporter;pub use dbus_menu_exporter::DBusMenuExporterImpl;pub use dbus_platform_settings::DBusPlatformSettings;pub use dbus_tray_icon_impl::DBusTrayIconImpl;pub use dbus_system_dialog::DBusSystemDialog;pub use i_portal_parent_lease::IPortalParentLease;pub use i_portal_parent_lease::TrivialPortalParentLease;pub use linux_mounted_volume_info_provider::LinuxMountedVolumeInfoProvider;pub use event::Event;pub use ix11_input_method::IX11InputMethodControl;pub use ix11_input_method::IX11InputMethodFactory;pub use ix11_input_method::X11InputMethodForwardedKey;
Modules§
- at_spi
- Accessibility over AT-SPI: the automation peers of the application as
objects of the accessibility bus (the port of the reference’s
AT-SPI project).
docs/porting/atspi.mdhas the design. - dbus_
call_ queue - Calls made one at a time, in the order they were queued (the port of
DBusCallQueue.cs). - dbus_
helper - The connection to the session bus (the port of
DBusHelper.cs). - dbus_
ime - The input methods that are reached over D-Bus (
DBusIme/of the reference). - dbus_
menu_ exporter - The menu of a window or of a tray icon, exported over D-Bus (the port
of
DBusMenuExporter.cs): the interfacecom.canonical.dbusmenu, and for the menu of a window its registration withcom.canonical.AppMenu.Registrar. - dbus_
platform_ settings - The colour scheme and the accent colour of the desktop, from the
settings portal (the port of
DBusPlatformSettings.cs). - dbus_
system_ dialog - The file dialogs of the desktop, through the file chooser portal (the
port of
DBusSystemDialog.cs). - dbus_
tray_ icon_ impl - The tray icon of a FreeDesktop session (the port of
DBusTrayIconImpl.cs): anorg.kde.StatusNotifierItemon a connection of its own, registered withorg.kde.StatusNotifierWatcher, with its menu exported byDBusMenuExporter. - event
- The multicast events of the backend’s own classes (a C#
event Actionof the reference): a list of handlers that are called in the order they were added. - i_
portal_ parent_ lease - The parent window of a portal dialog, as the portal wants it named
(the port of
IPortalParentLease.cs). - ix11_
input_ method - What a window of the X11 platform asks of an input method (the port of
IX11InputMethod.cs). - linux_
mounted_ volume_ info_ listener - The mounted volumes of a Linux system, polled once a second (the port
of
LinuxMountedVolumeInfoListener.cs). - linux_
mounted_ volume_ info_ provider - The provider of the mounted volumes for the managed file dialogs (the
port of
LinuxMountedVolumeInfoProvider.cs). - native_
methods - Reading a symbolic link (the port of
NativeMethods.cs). - signal_
watch - Subscriptions to signals, and cancellation (no upstream file: these
stand for facilities of the D-Bus library and of the runtime of the
reference,
Watch...Asyncreturning anIDisposableandCancellationTokenSource). - ui_
thread_ object - How an object the crate exports on a connection reaches the object of the UI thread it stands for (no upstream file: the D-Bus library of the reference calls a handler on the synchronization context of the thread that created the connection).