Il 19/09/2019 12:40, Fabio Fantoni ha
scritto:
Il 19/09/2019 10:15, Norbert Preining ha scritto:Digging a bit more: On Thu, 19 Sep 2019, Norbert Preining wrote:js/ui/main.js which does Promise.all([ AppletManager.init(), ExtensionSystem.init(), DeskletManager.init(), SearchProviderManager.init() ]).then(function() {main.js is called from src/cinnamon-plugin.c: gnome_cinnamon_plugin_start if (!gjs_context_eval (gjs_context, "imports.ui.environment.init();" "imports.ui.main.start();", -1, "<main>", &status, &error)) The interesting part here is that cinnamon exits after an error there: if (!gjs_context_eval (gjs_context, "imports.ui.environment.init();" "imports.ui.main.start();", -1, "<main>", &status, &error)) { g_message ("Execution of main.js threw exception: %s", error->message); g_error_free (error); /* We just exit() here, since in a development environment you'll get the * error in your cinnamon output, and it's way better than a busted WM, * which typically manifests as a white screen. * * In production, we shouldn't crash =) But if we do, we should get * restarted by the session infrastructure, which is likely going * to be better than some undefined state. * * If there was a generic "hook into bug-buddy for non-C crashes" * infrastructure, here would be the place to put it. */ exit (1); } Now, instead we **could** try to reload the main.start() but pass in some arguments so that extensions etc are not loaded. I haven't tried it, though. If that fails, we can still exit. WDYT, is it worth looking into that?Thanks for search, seems strange to me is that "simple" and upstream wan't do it but I not have time now to check better test it. I'll try to reask upstream linking your idea and asking if can be working and if will be accepted upstream something like additional try (cinnamon, if fail cinnamon without extensions/applets/desklet and if also it fail alternative panel. Talking about this in upstream development chat clem and collins proposed an idea that seems better:
Best Norbert -- PREINING Norbert http://www.preining.info Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
|