g_app_info_launch_default_for_uri() is a glib API, so in theory it could work with a new enough glib in the snap that supports portals. That said, GUI java applications can be challenging to make work in strict mode for the reasons outlined. I agree with that this sounds like a candidate for strict mode (not being able to make a snap work in strict mode is not typically a justification for classic). And from this point of view I believe that WireframeSketcher is not much different from Eclipse.īased on this topic, it seems clear to me that on principle, wireframesketcher is an application that has a discrete set of tasks that is it meant to do, as opposed to an IDE that might invoke arbitrary build commands, pull in development files from /usr, require editor plugins and the like. The decision should be made based on whether the application works well with strict confinement or not. I believe that IDE or non-IDE classification is not relevant here. If needed, extra plugins can be installed, for example version plugin controls like EGit. However, like Eclipse, the general interface is still based around a file explorer and file editors, and requires access to a workspace directory (which can be under ). It doesn’t bundle plugins for Java development and the like. I am not sure what would make WireframeSketcher an IDE. I can’t say what SWT does wrong here, but yet again this is out of my control. SWT SessionManagerDBus: Failed to RegisterClient: GDBus.Error.AccessDenied: An AppArmor policy prevents this sender from sending this message to this recipient type=“method_call”, sender=":1.1330" (uid=1000 pid=20932 comm="/snap/wireframesketcher/x7/opt/WireframeSketcher/j" label=“ (enforce)”) interface=“” member=“RegisterClient” error name="(unset)" requested_reply=“0” destination=":1.38" (uid=1000 pid=4494 comm="/usr/lib/gnome-session/gnome-session-binary -sess" label=“unconfined”) ** (WebKitWebProcess:21231): ERROR **: 09:23:14.580: SWT web extension: Call failed because ‘GDBus.Error.ServiceUnknown: The name 20932 was not provided by any. In the console I can see messages like this: The browser tab just opens and gangs there. Do you think that it’s the wrong API to use? If this method is not good for Snap applications then this must be changed in the SWT API (I can open a bug at for that).Įclipse and WireframeSketcher also embeds the browser component which doesn’t work in the strict mode. I can see that on Linux SWT API uses g_app_info_launch_default_for_uri method to open a file in the default application, not xdg-open. Files are launched by WireframeSketcher, and by underlying Eclipse framework, using SWT API, which is a cross-platform Java API for GUI applications. However other issues seem to be out of my control. I’ve tried connecting the snap-control interface and it does seem to solve the printing issue. ![]() But until then classic is probably the way to go.Īlex, thank you for the tips. ![]() I believe that once Eclipse IDE can be made to use strict confinement, all others Eclipse RCP/SWT apps can follow and be made to work the same way too. Printing wireframes and exporting them to various formats is the main task of WireframeSketcher so fixing these issues is a must.Īs I see it, to make strict work might requires a deeper understanding of snap, and also might require some changes in the Eclipse platform which I am not in position to make. There are various dbus errors in the console that probably have something to do with the way dbus is being used in SWT. However there are several things that didn’t work out of the gate: printing, launching files in external viewer (for example opening a PDF) using SWT API, installing new plugins break the application completely. Using gnome-3-28 extension I could launch the application. I did try to see what would it take to make strict confinement work, but honestly I don’t have enough know how to do it. In any case the application works well with classic. Since Eclipse uses classic confinement, I believe the same arguments apply to WireframeSketcher to prefer the same confinement. There is a snapcraft.yaml for Eclipse already, and I’ve used it as a reference for creating the snapcraft.yaml for WireframeSketcher. WireframeSketcher at its heart is a reduced version of Eclipse IDE. It is already packaged and distributed as a deb/rpm/tgz package, but I wanted to try to provide a snap package too. ![]() It’s a Java based Eclipse RCP application. I am the author of WireframeSketcher wireframing tool.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |