- bordermenu is now properly regenerated for each window
- sticky windows are now properly placed
- destroying a sticky window or a window on a desktop different than
the current one does not produce a segmentation violation anymore
- switching desktops while moving the window moves the window to the
new desktop
- moving focused window out of the current desktop switches the focus
to the next available window or root window if neccessary
SVN revision: 6843
Plug a pre-existing key_grab leak. e17 was leaving passive grabs in
the server and not releasing them. Looks like a bug in the new config parts.
Kevin Brosius <cobra@compuserve.com>
SVN revision: 6755
Also allow different fonts for borders vs. menus. This adds links in /usr/local/share/enlightenment/fonts (default install) for a menu.ttf and a text.ttf file. text.tff is the font used for border text/window titles. menu.ttf will be used for menus. No change by default, but you'll need to re-run autogen.sh & make install for the links to be created automatically.
Update AUTHORS
Kevin Brosius <cobra@compuserve.com>
SVN revision: 6751
Which recreates the focus problem. Try this instead. Cleanup focus switching
on app destruction, plus retain focus when no app is on a desktop.
Kevin Brosius <cobra@compuserve.com>
SVN revision: 6675
and 1 ebit, with an obscure rectangle covering the client area. Right now, all
borders (except borderless windows) are considered shaped, would be good to
add a way to indicate non-shaped themes.
SVN revision: 6383
legacy apps such as eterm, xchat, xemacs etc. Those apps will now be
transparent against the desktop, including icons, iconbar and all, if
configured to be.
SVN revision: 6172
--
Intersect area for mouse clicks did not cover the entire menu item. Fixed
to use the full dimensions of the menu item evas object instead.
SVN revision: 6072
* scrollbars should not need to know the dir the view they are part of is in,
because that can change without further notice. Access the dir through
scrollbar->view->model->dir and replace the dir with the name of the view for
named callbacks
SVN revision: 6040
for some reason, in e_configure,
if ((v = e_view_machine_get_view_by_base_window(e->win)))
was acting as though true for all cases (including non views), and was segfaulting, so i made it
v = e_view_machine_get_view_by_base_window(e->win);
if (v)
any ideas why this would be necessary?
SVN revision: 6036
Instead of /path/.e_iconbar.bits.db, now uses /path/.e_layout/iconbar.bits.db.
Custom scrollbars can be placed in the .e_layout directory as well.
I should probably move the background db into here also, any objections?
So, to get your iconbar again, move the .e_iconbar[.bits].db to .e_layout/iconbar[.bits].db
SVN revision: 6034
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
1. now xdnd works to apps:
tested:
gmc
mozilla
xmms
ee
2. dnd works bewteen e17 views too
3. cleaned up a little (the uri format was a little wrong)
4. notice fixme's - yes we need to have ways of copying and moving etc. files.
efm did this - imho right. right mouse drag always pops up a menu asking
what you want to do. left mosue drag always moves. current shift+left
copies. we can add ctrl+left links etc. - but these shoudl eventually
be configurable. i think this will keep everyone happy.
SVN revision: 5756
now iconbars can have their buttons "disabled" whislt apps launch.. tis a
nasty trick with an ld_preload... has caveats.. if youdsont set it as on it
wont be used atm.
SVN revision: 5748
default mode of move. Hold 'shift' for copy. No visible feedback
of actions occurs yet, but you'll see the view update as soon as efsd
reports the file changes. Tested, but be careful around files you care
about. Moves and copys use efsd_move and efsd_copy, without the force
option. So source files will not overwrite the destination if it exists.
Kevin Brosius <cobra@compuserve.com>
SVN revision: 5747