Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DBus interfaces for controlling tracker #1813

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ananace
Copy link

@ananace ananace commented Mar 9, 2024

I was finding some issues in properly binding the handling of the tracker on my local system, so I decided to hack together a quick set of DBus interfaces to make that particular thing easier to accomplish.

This exposes two interfaces on the session bus, com.github.opentrack which deals with starting/stopping the tracker, and - when the tracker is running - com.github.opentrack.Tracker which handles centering/enabling/zeroing the running tracker.

I had to expose the set_center function on the tracker pipeline, since DBus does best when working with momentary inputs. I also added some read-only properties to allow checking the states of toggles through the DBus interface.

@sthalik
Copy link
Member

sthalik commented May 9, 2024

We definitely need a way to remotely operate opentrack programmatically or from the command line, but dbus isn't the right solution for this. It's too platform-specific, has a lot of overhead, and integrating it is too invasive.

I'll implement it in a portable way using shared memory mappings (that can be used from opentrack's command-line or remotely with a stable ABI) once I finally take care of the issue affecting Windows releases.

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

Successfully merging this pull request may close these issues.

None yet

2 participants