Page MenuHomePhabricator

sandboxed gadget are messed up
Closed, ResolvedPublic

Description

sometimes i noticed that sandboxed gadgets are messed up.

i talked with okra on irc about it.

it happened while working on my gadgets
https://github.com/jf-simon/countdown
and
https://github.com/jf-simon/counter

it is not happening every time. but here the way it happens the last time:

as you see in the screenshot i have on the left side a gadget bar with "countdown" and "counter" in it.
on the top there is "tageslosung".
this configuration was working without a problem.
today i added the "slideshow "gadget to the desktop.
changed the settings of slideshow and resized it. all without a problem.

i restarted e, and then, as you see in the screenshot. the active countdown is shown instead the slideshow gadget on the desktop
but the context menu tells me, that it is the slideshow gadget.
the countdown time in both gadgets are the same after restarting e. but changing one, wont change the other.

restarting e again, wont help. i have to remove the gadget, and add it again.
after that, the desktop gadget (slideshow) is shown as the left_up countdown gadget.
See here

thanks for looking at this issue

Greetings Simon

jf_simon created this task.Feb 17 2018, 1:54 AM
zmike added a comment.Feb 20 2018, 8:02 AM

Can you post the output of eet -d ~/.e/e/config/$profilename/e_gadget_sites.cfg config from a time when you have gotten a broken config?

Hi Mike,
happened again.

it looks like this

and the config

eet -d ~/.e/e/config/standard/e_gadget_sites.cfg config

group "E_Gadget_Sites" struct {

group "sites" list {
    group "E_Gadget_Site" struct {
        group "gadgets" list {
            group "E_Gadget_Config" struct {
                value "id" int: 3;
                value "zone" int: 0;
                value "external.domain" string: "runner_sandbox";
                value "external.type" string: "/opt/efl/lib64/enlightenment/gadgets/linux-gnu-x86_64-ver-0.23/slideshow";
                value "x" double: 0.0958333333333333398096343;
                value "y" double: 0.6129629629629629317122408;
                value "w" double: 0.0500000000000000027755576;
                value "h" double: 0.0888888888888888922812370;
            }
        }
        value "gravity" uint: 0;
        value "orient" uint: 0;
        value "anchor" uint: 0;
        value "autoadd" uchar: 0;
        value "name" string: "__desktop";
    }
    group "E_Gadget_Site" struct {
        group "gadgets" list {
            group "E_Gadget_Config" struct {
                value "id" int: 336;
                value "zone" int: -1;
                value "type" string: "Luncher Bar";
                value "style.name" string: "plain";
                value "x" double: -1.0000000000000000000000000;
                value "y" double: -1.0000000000000000000000000;
                value "w" double: -1.0000000000000000000000000;
                value "h" double: -1.0000000000000000000000000;
            }
        }
        value "gravity" uint: 1;
        value "orient" uint: 1;
        value "anchor" uint: 8;
        value "autoadd" uchar: 0;
        value "name" string: "__brycebryce_bottom_bottom_0";
    }
    group "E_Gadget_Site" struct {
        group "gadgets" list {
            group "E_Gadget_Config" struct {
                value "id" int: 0;
                value "zone" int: -1;
                value "type" string: "Start";
                value "x" double: -1.0000000000000000000000000;
                value "y" double: -1.0000000000000000000000000;
                value "w" double: -1.0000000000000000000000000;
                value "h" double: -1.0000000000000000000000000;
            }
            group "E_Gadget_Config" struct {
                value "id" int: 3;
                value "zone" int: -1;
                value "external.domain" string: "runner_sandbox";
                value "external.type" string: "/opt/efl/lib64/enlightenment/gadgets/linux-gnu-x86_64-ver-0.23/countdown";
                value "style.name" string: "plain";
                value "x" double: -1.0000000000000000000000000;
                value "y" double: -1.0000000000000000000000000;
                value "w" double: -1.0000000000000000000000000;
                value "h" double: -1.0000000000000000000000000;
            }
            group "E_Gadget_Config" struct {
                value "id" int: 4;
                value "zone" int: -1;
                value "external.domain" string: "runner_sandbox";
                value "external.type" string: "/opt/efl/lib64/enlightenment/gadgets/linux-gnu-x86_64-ver-0.23/counter";
                value "style.name" string: "plain";
                value "x" double: -1.0000000000000000000000000;
                value "y" double: -1.0000000000000000000000000;
                value "w" double: -1.0000000000000000000000000;
                value "h" double: -1.0000000000000000000000000;
            }
        }
        value "gravity" uint: 3;
        value "orient" uint: 2;
        value "anchor" uint: 1;
        value "autoadd" uchar: 0;
        value "name" string: "__brycebryce_left_left_0";
    }
    group "E_Gadget_Site" struct {
        group "gadgets" list {
            group "E_Gadget_Config" struct {
                value "id" int: 0;
                value "zone" int: -1;
                value "type" string: "Start";
                value "x" double: -1.0000000000000000000000000;
                value "y" double: -1.0000000000000000000000000;
                value "w" double: -1.0000000000000000000000000;
                value "h" double: -1.0000000000000000000000000;
            }
            group "E_Gadget_Config" struct {
                value "id" int: 1;
                value "zone" int: -1;
                value "type" string: "Digital Clock";
                value "style.name" string: "plain";
                value "x" double: -1.0000000000000000000000000;
                value "y" double: -1.0000000000000000000000000;
                value "w" double: -1.0000000000000000000000000;
                value "h" double: -1.0000000000000000000000000;
            }
            group "E_Gadget_Config" struct {
                value "id" int: 0;
                value "zone" int: -1;
                value "type" string: "Wireless";
                value "style.name" string: "plain";
                value "x" double: -1.0000000000000000000000000;
                value "y" double: -1.0000000000000000000000000;
                value "w" double: -1.0000000000000000000000000;
                value "h" double: -1.0000000000000000000000000;
            }
            group "E_Gadget_Config" struct {
                value "id" int: 4;
                value "zone" int: -1;
                value "external.domain" string: "runner_sandbox";
                value "external.type" string: "/opt/efl/lib64/enlightenment/gadgets/linux-gnu-x86_64-ver-0.23/tageslosung";
                value "style.name" string: "plain";
                value "x" double: -1.0000000000000000000000000;
                value "y" double: -1.0000000000000000000000000;
                value "w" double: -1.0000000000000000000000000;
                value "h" double: -1.0000000000000000000000000;
            }
        }
        value "gravity" uint: 1;
        value "orient" uint: 1;
        value "anchor" uint: 4;
        value "autoadd" uchar: 0;
        value "name" string: "__brycebryce_top_top_0";
    }
}

}

zmike added a comment.Feb 20 2018, 9:21 AM
group "E_Gadget_Site" struct {
    group "gadgets" list {
        group "E_Gadget_Config" struct {
            value "id" int: 3;
            value "zone" int: 0;
            value "external.domain" string: "runner_sandbox";
            value "external.type" string: "/opt/efl/lib64/enlightenment/gadgets/linux-gnu-x86_64-ver-0.23/slideshow";
            value "x" double: 0.0958333333333333398096343;
            value "y" double: 0.6129629629629629317122408;
            value "w" double: 0.0500000000000000027755576;
            value "h" double: 0.0888888888888888922812370;
        }
    }
    value "gravity" uint: 0;
    value "orient" uint: 0;
    value "anchor" uint: 0;
    value "autoadd" uchar: 0;
    value "name" string: "__desktop";
}

This block near the top is your desktop site. You can see here that it has a single slideshow gadget, which seems to be what there should be based on the screenshot?

yes. the screenshot gadget is placed on the desktop. the gadgets in the left bar are wrong. they should be countdown and counter

I'll probably need you to dig in a bit to the gadget code in e_gadget_runner.c and figure out how it's mismatching the config vs the gadget .desktop files, I don't see it here and I don't have much time to look into it currently.

I will help where I can.
let me know what i can do

See docs here for debugging Enlightenment remotely. If you can run inside Xephyr then sandbox_create() is where the gadget is created and gadget_dir_add() is where detection of .desktop files happens. @stephenmhouston can probably help a bit more if you get stuck

See if you are able to reproduce this after today's changes

will test it over the weekend, thanks

can't reproduce any more.
fixed for me

Thanks

stephenmhouston closed this task as Resolved.Mar 1 2018, 10:30 PM