Commit Graph

5 Commits

Author SHA1 Message Date
rephorm 38ac2443ca Epplets run from ~/.e/desktop/default/.e_epplets/eppletName/eppletName.fe
(copy em manually for now)

Get epplets to keep track of the ebits / evas objects they create, so they can be cleaned up later.

Also, some small epplet API changes.
When creating Ebits / EvasObjects, pass a path relative to the .fe file rather than the full path. Usually, you just need a file name, which should be in the same dir as the epplet.

if a file named layout.bits.db exists in an epplet's dir, it is used for the default layout (location) of that epplet rather than whatever is in ~/.e/desktop/default/.e_epplets.bits.db. Only use this if a specific size/location of the epplet is necessary. (just create one dummy image in the bits with the name of the epplet, and its location/size relative to the entire view) Note, try to not use this, as user customizability is important...

I will eventually make it so that if a ui.bits.db exists, it will automatically be loaded as the main bits file, and set as epplet.bits in the script. (Can't get object creation from within a .fec to work correctly yet...) This would remove the need for the setBits() call.


SVN revision: 5881
2002-01-30 03:16:33 +00:00
rephorm ffcb25ea12 E_EVENT system is now a bit map, allowing one observer to watch MANY events, for instance: E_EVENT_BORDER_ICONIFY | E_EVENT_BORDER_UNICONIFY | E_EVENT_BORDER_NEW, etc. I also made it so that the current event is passed when notifying, so that if watching multiple events, you can do different things for each.
added an e_observer_notify_all_observees() to notify all existing observees of things, such as the creation of a border. This way, an observer can watch for E_EVENT_BORDER_NEW events and register all new borders.

Iconification! Click that iconify button. Then click the middle button on the desktop to get a menu of iconified apps to uniconify. This menu is a decent example of using the observer code to avoid polling or rebuilding more than necessary. Next, maybe instead of completely rebuilding each time something changes, maybe it should dynamically add or remove the respective menu items?


SVN revision: 5854
2002-01-24 08:12:12 +00:00
rephorm 3e09f77dbd A bunch of little changes.
Added basic iconification implementation, including menu for iconified windows, however this is buggy and doesn't work correctly yet, and is therefore commented out. But maybe someone can take the framework and fix it?

Added ferite wrapping for timers.


SVN revision: 5851
2002-01-24 01:08:52 +00:00
rephorm 934f425342 Changed observer/observee system to use E_EVENT's instead of ECORE_EVENT's.
The enum of events is in observer.h, add any you can think of.

Switched desktops over to observer system (which extends objects).

Added ferite functionality for desktop observers. I will probably make functions to observe most of e's subsystems (views, iconbars, etc).
There is probably a small bit of memory leakage in here (and callbacks) because any objects passed along have to have their refcounts increased (so ferite doesn't automatically clean them up, and i haven't put in code to decrease them yet. It should be fairly small, but I'll work on that.

I also changed a few "sprintf(buf..."'s to "snprintf(buf, PATH_MAX..."'s.
Is this the way to go about preventing buffer overflows?

I think that's it.


SVN revision: 5841
2002-01-17 04:32:08 +00:00
rephorm 455555b3ce Epplets!
Quite a bit has been implemented. Check the data/epplets dir for examples.

Currently the only loading method is a file called .e_epplets.bits.db which contains bits whose names are equal to the epplet name, and whose geometry is the default epplet geometry (unless overridden in the script).

The idea being that one could set up an entire desktop epplet layout within one file, making it easily transferable.

So, to use epplets make sure you copy the default epplets.bits.db to ~/.e/desktop/default/.e_epplets.bits.db

Also, make sure you update ebits


SVN revision: 5826
2002-01-11 23:53:20 +00:00