I’m currently working on a project to make a touch screen home dashboard and entertainment device. I’m done making its player software, with MPV in the backend, and my next step is to make an Electron overlay dashboard and launcher.
Essentially, I’m looking for a kiosk-style window manager (or something that lets me auto-login and turn off window switching), that would support a transparent overlay application always on top (my Electron dashboard and launcher) over whatever app is being currently used, be it MPV playing a video, or even Steam playing some games. I’m alright with Wayland or X, whichever would have the features I need and would be the most performant!
This is my first deep dive into Linux Window Managers, so if I’m completely off base here, I would might need help to clarify things as well. Thanks in advance!
You can do it with kde-plasma nogui like the steam deck
Figuring out and emulating how the steam deck handles it is a great idea, I’ll do some research.
Thanks for the info!
You might want to take a look at cage which has been designed for that.
I was looking at Cage yesterday, but it seems like it wouldn’t support a transparent always on top application, in a way to give control to any application underneath. Maybe I could experiment with it and see what I can do…
I did this in 2004 for public info stations at a university. My methods are extremely dated but I did a baseline Linux deployment (original Redhat 9 I think) with KDE desktop and had it boot to a single full screen kiosk mode Firefox (maybe it was Konqueror hard to tell). From there I had a website with a UI that supported easy use via touchscreen. The keyboard mappings were all disabled for KDE so everything had to be done via local or SSH terminal. Doesn’t work for you but it was a fun project. More of fun nostalgia for me.
Forget window managers and definitly avoid Electron if you can. Easiest way:
firefox --kiosk https://your-app-url
I’m not sure I could make a transparent overlay on top of MPV with just a Firefox kiosk.
Also, I’m curious why I should avoid Electron? Do you have another framework to suggest that would let me do this?
I’m not against learning new things if they’re more adequate for my project!
That still requires some level of graphical session though