companion icon indicating copy to clipboard operation
companion copied to clipboard

Surface name over Satellite API

Open Wiwaltill opened this issue 1 month ago • 2 comments

Is this a feature relevant to companion itself, and not a specific module?

  • [x] I believe this to be a feature for companion, and is not specific to a module

Is there an existing issue for this?

  • [x] I have searched for similiar existing issues

Describe the feature

Adding SURFACE SET-NAME to the Companion API would be great.

We would also need either the TCP connection to return surface name changes as they happen, if we keep the socket open, or, we would need something like SURFACE GET-NAME in order to request the latest name every so often.

Usecases

For example, the ScreenDesk app currently only displays the ID of a Surface. Here, you could automatically transfer the names and distinguish them more clearly. You can find out more about this feature with Screendeck here: https://github.com/josephdadams/screendeck/issues/52

Wiwaltill avatar Nov 04 '25 18:11 Wiwaltill

It looks like screendeck is using the satellite api, not the tcp api, which makes this a bit more appealing.

I think that the best approach for this would be for the satellite device to be able to provide a 'default name' for a surface. I am not sure if that name should be possible to change at any time, or just when using the 'ADD-DEVICE' message in the protocol.

Reporting the current surface-name back to clients over the satellite api will be easy.
Then inside of companion, by default a surface should follow this default-name, until it is edited inside companion when it should switch to being manually defined, and be the one that is used. Maybe whether this is default/manual could be passed back in the message reporting the name, so that screendeck can know that its value is being overridden

That will avoid some concerns I have about source of truth (ie, if screendeck think its should be called A and updates it in companion at startup. but while it was not running the user renamed it to B in companion). I am also worried about some naive satellite clients which could end up setting the name at every startup to something with no way to opt out, which would end up stopping the user from using the name field as actually user defined names.

cc @josephdadams would that work for you, or do you think it needs to be without this default/manual state?

Julusian avatar Dec 06 '25 13:12 Julusian

Sounds good to me!

josephdadams avatar Dec 08 '25 19:12 josephdadams