if e_modapi_init() called e_gadcon_provider_register() the module
gc_init() would be called immediately, becore e_modapi_init() finished
and thus mod->data was unset (it's set by E when that function
returns).
most modules did not show this problem since they keep lots of globals
around and use them, but not mixer module. Mixer module did check for
global mixer_mod to be set and also mixer_mod->data, thus exposed this
problem, with "mixer is not able to show on desktop/gadget" but did in
shelves, since it would refuse to load immediately but would be loaded
later at e_shelf_config_new()->e_gadcon_populate().
Now gadcons are populated from an idler, avoiding all these problems
and probably will impact user's perceived load time since it will do
less work before getting to main loop and being able to process
events.
SVN revision: 40714
Now, when "open dirs in place" is active and user haven't permission to
open dir, efm2 fallback to parent directory. Also other events (for ex.
delete)
on dirs opened in efm will cause go to it's parents in efm windows.
Patch to ticket #273.
By Sergey Semernin.
SVN revision: 40711
pagers should not rely on events on the edje object as it might get
lots of event replicas if there is a chain of swallows/groups/smarts
and they repeat events.
the new theme exports an e.eventarea part that will get the events and
pager will try to use it, if not fallback to the old behavior.
I cannot test this now, please say if it does not work.
SVN revision: 40616
large buttons like those in syscon were very ugly with old glow since
it would scale the gradient. now the glow is just in the borders, the
middle is a plain color.
SVN revision: 40614
The option can currently be activated from Virtual Desktops Settings -> Advanced. A better home and preview would be better for these settings.
In more detail, this option can make a wallpaper, larger than the geometry of the zone, scroll appropriately with each desk change. Consider a nice panorama picture, which is as wide as the total desks' width. Then, at most, E will scroll the background by 1 / (number of desks) for each desk change. The direction of the scrolling is dependent on the desk change itself. Also, the user can specify a coefficient of maximum scrolling for each axis. If the coefficient is 0, the wallpaper will not move.
More advanced animations can be constructed with edje. The data item "directional_freedom" "(1|0) (1|0)" can toggle the actual wallpaper scrolling done by E for each axis. A message with the current x/y position, panning w|h, and zone w|h is sent to the background edje with each desk change animation tick. An example embryo script that handles the message, and changes a hypothetical "a1" part in the "e/desktop/background" group is shown below:
public message(Msg_Type:type, id, ...) {
if (type == MSG_INT_SET) {
new x = getarg(2);
new y = getarg(3);
// new max_x = getarg(4);
// new max_y = getarg(5);
// new w = getarg(6);
// new h = getarg(7);
custom_state(PART:"a1", "default", 0.0);
set_state_val(PART:"a1", STATE_FILL_POS, 0.0, 0.0, -x / 4, -y / 4);
set_state(PART:"a1", "custom", 0.0);
}
}
SVN revision: 40543