segfault protection, renamed get_model_from_realpath() to
view_model_lookup(). Moved the realpath call to view_model_lookup(),
this way we need not rely on the realpath being passed in.
All minor stuff, really.
One thing I noticed: e_view_machine_get_model() is in the wrong
place and should change its name -- it is not related to the view
machine and does not return anything. It should probably become
e_view_register_model()
and live in view.c.
Also, Raster hasn't replied yet to my question regarding
the need for the explicit -lc in Makefile.am. It works fine
here without it and apparently breaks FreeBSD build, so I
think we should remove it.
Fixed a warning in focus.c due to missing icccm.h.
Added "void" to function declarations that don't accept
parameters.
SVN revision: 5994
their geometry on close. I'll start getting the documentation back in sync and commenting some more. Could anyone
willing to clean up/fix either the iconbar dnd stuff and/or the regular dnd stuff please announce it, so we dont start
duplicating work. Thanks.
SVN revision: 5977
LMB will scroll one screen when pressed in the scrollbar area.
Middle and Right MB will move the scroll bar slider to the clicked
position directly.
So this is rather similar to the behaviour we have in standard GTK apps
for example.
Also, I corrected a small bug in view.c and scrollbar.c that could lead to
the scrollbar beeing redrawn outside the view (because "value" was
recalculated before "range" and "max" were set ; and since value depends
on max and range, this could lead to value of value that were too big).
Thanks Nicolas!
SVN revision: 5976
The matching_drop_attempt flag was set, so it should handle the drop regardless of whether the same view or not, since it checks for the flag later.
Now you can drop icons from the desktop to the iconbar.
SVN revision: 5960
The old background code(background.c) had
e_object_init(E_OBJECT(bg), (E_Cleanup_Func) e_background_cleanup);
in the e_background_new function which isn't being used anymore
I don't fully understand the way the E_Object stuff would work with this or
if this is ok since ebg is its own separate library now.
SVN revision: 5943
(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
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
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
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
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
Added window spacing, so file icons will not appear underneath iconbars.
Currently, icons are placed twice as far from the left/top as the spacing.window.l,t designate. To compensate, the spacing is set to half the actual value. This needs fixing.
It seems as though there are a few other bugs in e_icon_apply_xy() also. (multiple line views don't seem to work quite right, icons on the bottom line are in the middle, and other lines seem right justified. a bit odd).
SVN revision: 5815
If a bit named Resist with class Decoration is added to .e_iconbar.bits.db, it will resist window movement. Makes it easy to line up windows along the edge of the iconbar. I'll commit an updated default db.
SVN revision: 5807
allowed action. We can also change cursor/drag window based on the
state info available. I haven't tackled that yet.
Kevin Brosius <cobra@compuserve.com>
SVN revision: 5765