Skip to main content

Crate ferroui_freedesktop

Crate ferroui_freedesktop 

Source
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.md has 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 interface com.canonical.dbusmenu, and for the menu of a window its registration with com.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): an org.kde.StatusNotifierItem on a connection of its own, registered with org.kde.StatusNotifierWatcher, with its menu exported by DBusMenuExporter.
event
The multicast events of the backend’s own classes (a C# event Action of 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...Async returning an IDisposable and CancellationTokenSource).
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).