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

Screensaver #428

Open
willosof opened this issue Jan 7, 2019 · 9 comments
Open

Screensaver #428

willosof opened this issue Jan 7, 2019 · 9 comments
Labels
area/internal Related to an internal action or function of Companion. Enhancement New feature or request Nice to have Would be nice, but not high priority. Solution needed Needs a solution on how to solve it
Milestone

Comments

@willosof
Copy link
Member

willosof commented Jan 7, 2019

Screensaver for the streamdecks connected after n minutes.

@willosof willosof added Enhancement New feature or request Solution needed Needs a solution on how to solve it area/internal Related to an internal action or function of Companion. Nice to have Would be nice, but not high priority. labels Jan 19, 2019
@haakonnessjoen
Copy link
Member

The reason "solution needed" is added is because we need to create a virtual framebuffer for the stream decks, unrelated to the page-number each stream deck is at. So there need to be some changes in the companion-core to enable screensavers. And some decisions to make on how we do it. It's not that we do not know how to draw images to the stream deck ;)

I have a solution in mind. But no time to implement it at the time.

@greyshirtguy
Copy link

Perhaps an easy solution to begin with? Auto dimming after some configurable timeout of button pushes?
Perhaps something as crude as a timer (user configurable duration) that sets a user configurable dimming value. Timer is reset by button pushes. If Timer elapses, timer stops & device is dimmed. Any button pushes re-trigger timer.

@metawops
Copy link

Whatever happened to this? Any news? Will it make into a final 2.2.0 release?

@JonFStr
Copy link

JonFStr commented Jan 27, 2025

I've searched for a way to put my Streamdecks to sleep as well, and until an official feature is implemented, I'd like to share a workaround for anyone who is also waiting:

I've created a completely "empty" page and setup triggers that will set every surface to that page after no buttons have been pressed for a certain amount of time.
I say "empty" in quotes, because it's actually a page where every button sets the surface pushing it back to its startup page. That way, it displays nothing but can be woken up again with just one button press.

This will sleep all connected Streamdecks at once and only wake them up one at a time - but if You're not happy with that, feel free to copy the loop used to sleep the Streamdecks in the wake-up buttons :)

screensaver_workaround.companionconfig.txt

@metawops
Copy link

Haven‘t checked your solution/workaround, @JonFStr, but implemented it like so:

  • custom variable that counts up every second via a timed trigger
  • trigger for when the value reaches a certain number of seconds/minutes
  • if so, set the brightness of all Stream Decks to very low
  • add another trigger that fires on any key press and resets the brightness again to lit and resets the variable to 0
  • only thing to be aware of is: the button press to „wake“ the Stream Decks again gets executed. So I use the button I always have in the lower left corner that shows the current clock (with blinking colon! 🤓) or another button that has no function (mostly a page button or a quick up and down press or sim.)

@shamasis
Copy link

shamasis commented Feb 11, 2025

I found an even simpler setup top do this.

Setup 2 triggers:

  1. A trigger to brighten display of the surface to 100% on any key press. Let's call it "Brighten Display"
  2. Another trigger to dim display to 0% every 10 second. Let's call it "Dim Display"
  3. In the Brighten Display trigger, after setting brightness disable the Dim Display trigger and then enable it back. (3 actions total)
  4. In Dim Display trigger, disable the Dim Display trigger itself as another action (2 actions total)

Optionally: Was also able to do more things by adding a page called "Dimmed" that had buttons with no text, which on click navigate to first page. On dimming, navigated to dimmed page. This way, the first press after dim, does not trigger a button!

Image Image Image

@haakonnessjoen
Copy link
Member

@shamasis Changing the brightness will probably not have any effect in saving the crystals in a display from burn-in, as the brightness is only controlling the backlight of the display afaik. Maybe it has some effect because of heat or other things, I am pretty sure that is minimal.

@metawops
Copy link

Well, the Stream Decks don‘t have OLED displays at all. So implementing a screensaver of some sorts is merely a „hobby“. 😉

@Julusian Julusian added this to the v4.develop milestone Feb 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/internal Related to an internal action or function of Companion. Enhancement New feature or request Nice to have Would be nice, but not high priority. Solution needed Needs a solution on how to solve it
Projects
Status: No status
Development

No branches or pull requests

8 participants