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

create a toonstore app #102

Open
Habbie opened this issue Jun 6, 2024 · 4 comments
Open

create a toonstore app #102

Habbie opened this issue Jun 6, 2024 · 4 comments

Comments

@Habbie
Copy link
Member

Habbie commented Jun 6, 2024

Even though we are not a QML app like other toonstore apps, there's no reason we could not be in their 'store' (all of which is free). My current thinking is a Voorkant button that opens a simple confirmation dialogue, that explains that returning to Toon will take a few minutes.

As for implementation, I do not know if QML apps can execute things, but I do know they can write files, so one approach might be that some voorkant-launcher-daemon is running, waiting for the appearance of some file somewhere, and then it kills qt-gui and starts voorkant-lvgl.

For bonus points (I've been pondering this for a while without a sensible outcome so far), find a way to suspend qt-gui -without- it getting delivered 500 touch events when it resumes, so we can cheaply switch back and forth. chvt does not appear to be the way, it's in the wrong layer.

@Habbie
Copy link
Member Author

Habbie commented Sep 1, 2024

-without- it getting delivered 500 touch events when it resumes

EVIOCGRAB works for this - tested with evtest --grab (evtest 1.35)

@Habbie
Copy link
Member Author

Habbie commented Sep 1, 2024

Alternative idea: a toon app that just clears out as much as possible of the screen and tells us what rectangle on fb0 is ours. Then only handle touch for that area.

Toon's Home button (or, well, its touch area) appears to be 86 wide, 55 tall, so either we get 800x(480-55=425), or we get 800x480 minus that 86x55 square.

image

@Habbie
Copy link
Member Author

Habbie commented Sep 1, 2024

as far as I can tell, we cannot spawn processes from QML, but writing external-voorkant to /tmp/tsc.command should execute /qmf/qml/apps/voorkant/voorkant.sh within five seconds, which is a start.

# echo 'external-voorkant' > /tmp/tsc.command; sleep 5; tail -3 /var/log/tsc
External sh request found (request app): voorkant
01/09/2024 18:36:36 voorkant app  instructed me to do some external scripting : voorkant.sh
/qmf/qml/apps/voorkant/voorkant.sh does not exist

@Habbie
Copy link
Member Author

Habbie commented Sep 1, 2024

Braindump:

  • idea 1: Toon just spawns processes for us. Turns out Toon can't do that.
  • idea 2: at boot, we start a small supervisor-type thing that Toon QML can send messages to. Should work. If we fuck up, device boot is broken.
  • idea 3: using the external feature, the first time opening voorkant from Toon might take five seconds, but -then- we have our supervisor process, or voorkant-lvgl with some suspend-type thing. Once we have something running, we can respond to events faster than those 5 seconds.

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

No branches or pull requests

1 participant