Skip to content

Conversation

@FineFindus
Copy link
Contributor

Implements support for using dbus-monitor, which allows direct monitoring of signals, which are send when the settings changes.

This reduces the system load, as continuous polling is no longer required, as well as improving the responsiveness, as the theme is now updated immediately, instead of waiting for the next polling-cycle to complete.

If dbus-monitor is not available, the polling method will be used as a fallback.

Screencast.From.2025-08-03.10-29-43.mp4

@FineFindus FineFindus force-pushed the feat/monitor-dbus branch 3 times, most recently from 2a10a42 to e01d9c8 Compare August 3, 2025 09:25
Implements support for using `dbus-monitor`, which allows direct monitoring of
signals, which are send when the settings changes.

This reduces the system load, as continuous polling is no longer required, as
well as improving the responsiveness, as the theme is now updated immediately,
instead of waiting for the next polling-cycle to complete.

If `dbus-monitor` is not available, the polling method will be used as a
fallback.
@aliaksandr-trush
Copy link

Tested this change and it works great!

With the current implementation (using dbus-send) with default opts the plugin could consume 100% CPU (more details could be found in flatpak/xdg-desktop-portal#1416), but with moving to dbus-monitor the plugin does not use CPU resources at all.

@FineFindus
Copy link
Contributor Author

This should also solve #64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants