First off, XDG Menu Support:
I was looking into this while doing my QOL changes but was having some trouble figuring out how to hook the contextmenu items and the items exported by the HTML5 client together. To be honest it was a minor thing on my mind at the time compared to getting it up and running with authentication support, and I admittedly did not attempt to view the menu's properties directly during runtime yet. I also wanted to ask about the possibility of integrating the XDG Menu perhaps not into the client menu itself, but the desktop's applications menu, is there a way to add items to that menu exposed to application developers?
I think this might be the next logical enhancement for this project, at least in my mind, barring either:
- Xpra Proxy Server support
- This is where the server creates a session, and then hands that session off to the client, currently that functionality does not seem to work (though it does seem to work in the HTML5 client) and may need additional options to be passed to the JavaScript client component. It's quite possible that this functionality is working, but we're lacking the functionality to start anything in the connected session, though IIRC it disconnected from the server every time I attempted.
- This would also allow multiple users to use the same Xpra websocket address, I could see administrators wishing to lock users into a single Xpra endpoint for shell purposes (if X11/Xpra is provided on the shell/server).
- Possibly supporting chromeless windows (like panel windows drawn by the aformentioned matchbox-panel, which doesn't seem to draw right because of the window chrome), if that's even a possible thing.
All three of which I would like some comments or feedback on if you have any. Apologies if any of this seems disjointed, trying to articulate these the best I am able.
What do you think? Could this be a thing, and would it be as simple as me creating a global array to store the stitched together entries and callbacks in, and have the context menu use that as the menu for that item?
Could it even be possible (in the OS.js Applications Menu's current form) to add them to the main applications menu at time of connection, and is there a possible reference I could look towards to guide me in that endeavor?