Environment is a Pi4 (2GB RAM or 4GB RAM, tried both) with updated bookworm 64bit.
I have a python app which uses tkinter.
Obviously, on bookworm running on a Pi4, I have three options for desktop, being
X11
Wayfire
labwc
By default on a clean install, Wayfire is selected.
During startup, the app creates a Tk top-level window, and then sets the fullscreen attribute to True
This has the desired effect of making the top level window fullscreen.
However, this doesn't work when running Wayfire, as the window still has a title bar and frame (including minimize/maximize/close buttons).
Running X11, it works without any problem.
Running labwc, it also works without any problem.
Additionally, the app runs modal dialogs, for example, confirming some actions, such as exit, which will also trigger a shutdown.
Again, on X11 and labwc, this behaves perfectly, but with wayfire, sometimes the dialog does not appear, and when it does, the touchscreen / mouse events don't seem to work correctly - buttons will not respond to clicks.
Since the app is supposed to run in 'kiosk' mode, this isn't good. Now, obviously, the short answer is install labwc and use that instead, or use X11. However, this puzzles me. What is wayfire doing that labwc isn't (or vice versa) that stops a fullscreen request from working, or interferes with the modal window?
On a side note:
For autostart, I would modify ~/.config/wayfire.ini when using wayfire (which I have discovered won't give me the results I want).
What would be the file to change when using labwc?
As ever, all help gratefully received.
The idea is that the app will run on startup (desktop auto login, modified configuration) on a Pi4 with official touch-screen.
I have a python app which uses tkinter.
Obviously, on bookworm running on a Pi4, I have three options for desktop, being
X11
Wayfire
labwc
By default on a clean install, Wayfire is selected.
During startup, the app creates a Tk top-level window, and then sets the fullscreen attribute to True
Code:
self.w = Tk()self.w.attributes('-fullscreen',True)
However, this doesn't work when running Wayfire, as the window still has a title bar and frame (including minimize/maximize/close buttons).
Running X11, it works without any problem.
Running labwc, it also works without any problem.
Additionally, the app runs modal dialogs, for example, confirming some actions, such as exit, which will also trigger a shutdown.
Again, on X11 and labwc, this behaves perfectly, but with wayfire, sometimes the dialog does not appear, and when it does, the touchscreen / mouse events don't seem to work correctly - buttons will not respond to clicks.
Since the app is supposed to run in 'kiosk' mode, this isn't good. Now, obviously, the short answer is install labwc and use that instead, or use X11. However, this puzzles me. What is wayfire doing that labwc isn't (or vice versa) that stops a fullscreen request from working, or interferes with the modal window?
On a side note:
For autostart, I would modify ~/.config/wayfire.ini when using wayfire (which I have discovered won't give me the results I want).
What would be the file to change when using labwc?
As ever, all help gratefully received.
The idea is that the app will run on startup (desktop auto login, modified configuration) on a Pi4 with official touch-screen.
Statistics: Posted by SteveSpencer — Wed Jul 10, 2024 9:21 am