EFForg / EFForg/rayhunter

Feature: optional keep-screen-on for Orbic

Open
#916 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
5.8k
Forks
490
Avg merge
3d 10h
Merged PRs (30d)
23

Description

### Prerequisites

- [x] I have read [CONTRIBUTING.md](https://github.com/EFForg/rayhunter/blob/main/CONTRIBUTING.md)

### What problem does this feature solve or what does it enhance?

Currently, the screen blanks after a short period of inactivity (i.e no button presses) and framebuffer writes don’t count as activity, making it difficult to monitor status without repeatedly waking the device with button presses.

This feature enhances usability by keeping the screen visible, which allows Rayhunter to be monitored at a glance.

I briefly recall some user(s) talking about keeping the screen on permanently or while it was plugged in. So I know there is at least some interest in this feature.

### Proposed Solution

Introduce a new config option (keep_screen_on).

When enabled, Rayhunter starts a watchdog that monitors the Orbic display state and re-enables the screen when it goes to sleep.

The watchdog periodically checks for the sleep state and, when detected, restores the awake state.

My first instinct was keypress injection, but I have found a method that is much less invasive.

By default it would be off and can be enabled in the web UI or config.toml.

I will be making a pull request soon.

### Alternatives Considered

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by locating the config.toml handling and the web UI configuration path for Orbic-specific settings, then trace how the display sleep state can be checked and restored. Confirm the watchdog is enabled only when keep_screen_on is set, remains off by default, and that the setting works through both config.toml and the web UI.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
embedded-iot, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.