may need ironing out in a few places but is stable.
issues:
Zone support not really there, needs work (I only have one zone :()
Window icon overlays (new feature) only work if module disabled and re-enabled
(the border add calls are too soon it seems)
SVN revision: 12964
initted which mean events generated were of the wrogn type (0) which meant
they were thrown out which meant the ref nevert got its macthing unref
called.... :)
SVN revision: 12963
callabck fro objects not a del to emit a remvoe event and ref the object again
the object is already in the process of being destroyed. reffing it again
wont help you here in _free - thats why we have del callabcks to do this
before the final destruction... :)
SVN revision: 12890
- a few patches, leak fixes
- reset click detection for desk selection - should be better behaved now
- added a small bit of themeing
SVN revision: 12868
need to add windows to the desk previews
will not update properly all the time, need to add events etc
please someone theme this to fit in with default theme better - thanks :)
SVN revision: 12844
- Add subsystem init/shutdown functions for e_desk and e_zone
- Fix bug in desk remove function
- Prevent duplicate desktop names being automatically generated
- When uniconifying, set window desktop to current
- Don't display iconified windows when desktop switching
- Selecting a window in the window list switches to that window's desktop
SVN revision: 12779
we need to actually add menu API to handle removing items on a realized menu (rather than mucking with the internals).
but this is at least better than before
SVN revision: 12720
handles 1 temperature guage - but it's useful. fixed stuff in battery
modules, added config menus... ibar size change menu only works after a
restart for now.. need to fix that.
SVN revision: 12676
install e_utils module for full icon editing effect
need to fix up icon creation in eapp_edit, then hook in file name generation here
will be able to pass in window class, which will save folk a lot of time
SVN revision: 12551
fix a few typo bugs on client list menu
move client menu to middle click
- feel free to slap me down, just think it looks nicer like this
SVN revision: 12544
Add a "clients" submenu to the right click menu to show the current container's clients and all iconified clients (so you can actually un-iconify now)
Add "iconify" subsystem to keep track of iconic windows. This will be used be used by modules to do things like taskbars and icon boxes.
SVN revision: 12534
support shading in other directions
support other transition types for shade animation (default is DECELERATE)
simplify some logic in _e_border_eval()
SVN revision: 12529
(this is actually debatable, e16 lets you do it, and it can be nice if your
resize handles are all of screen to be able to maximize it to get at the
handles. anyway, let me know if you think i should re-enable this)
Animate shading.
Emit "shading" and "unshading" signals at start of (un)shade.
Emit "shaded" and "unshaded" signals at finish of (un)shade.
i still need to handle attempting to (un)shade while already (un)shading.
Should this a) be disallowed (i.e. ignore shade requests while shading)
or b) go the other direction from the current point in the shade anim
SVN revision: 12503
2. add app icons (based off applications/all repository - need to make this a
function of its own though)
3. fix default apps to have name/class info.
SVN revision: 12336
modules now via enlightenment_remote (or any app that speaks the protocol
over ipc - INCLUDING apps that want to go insert modules into e when ther
execute)
SVN revision: 12276
- 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
I changed the name of some of the convenience calls from efsd_reply_...
to efsd_event_... because they're no longer applicable to reply events
only.
I've also hooked in a cleanup function for Efsd when E exits, and
duplicated memory when accessing a returned metadata string.
SVN revision: 5736
window menu. ctrl+alt+insert execs eterm... it wasnt in the default script
to build the dbs'
the scritp also had some mdos done to it before by others that sisnt use the
environemtn variables that devined numerics for actions....
also now menus can remember much more.. as can e. save and load on demand..
the remember things are menu check items... might have a big arse dialog
eventually for this... but for now this is all good :)
SVN revision: 5732
cp most of it and lay it out in /.e eventually anyway (and if u dont like
the idea of cping the files - we can symlink too - but e_setup will take
care of this... eventually.. might start work on it now i have fixed things
- though personally i think i should make it cp to start so your user config
is independant of the system and wont suddenyl chaneg cause the system one
did... but again... can be made an option)
SVN revision: 5729
can scroll around 9if you have too many icons to fit) it also will clip the
icons to the icon area. also u can scroll the icons up and down the bar to a
position you like. a new test iconbar bit to demo this too.
SVN revision: 5726
does.. the background changes - hand for setting your own root bg.. just use
ebony.. save it and:
cp file.bg.db ~/.e.desktop/default/.e_background.bg.db
SVN revision: 5708
click to focus works pretty much swell now.. except for that mass of
comments i put in....
err... icccm focus modes handled 100% properly
err.. yeah. that.
SVN revision: 5697
was able to reproduce. I've fixed the reference counting on borders,
reference counts are now only modified where the references actually
change.
PLEASE: if we don't want to end up dead in the water with the reference
counts, it'll be absolutely necessary to not just increment them here
and there. When you store a pointer in a data structure somewhere,
increment the counter. When you remove the pointer from the structure,
decrement. Do NOT modify the counters anywhere else.
Unfortunately I cannot enforce this in C.
SVN revision: 5661
* slight improvement in the menu handling -- when something was selected,
don't pop up menus when the user just clicks, but only unselect
everything. I think it's pretty irritating when the user just wants to
get rid of the selection and keeps getting menu popups.
SVN revision: 5617
* cleaned up functions in utils in file utils and others, there's a
new file.[ch] for the file-related helpers.
* Added stat info to E_Icon, watch how directories become grayed when
you cannot access them :)
SVN revision: 5610
I've changed, this is big, so read this carefully :)
* I've added debugging macros for messages and function call
tracing. Usage:
D("Creating item %i %i %i\n", x, y, z);
Define DEBUG to use the D macro.
D_ENTER;
D_RETURN;
D_RETURN_(x);
These are for call tracing. Use D_RETURN_(x) when returning
something from a function. Define DEBUG_NEST to use this.
* added iconbar header file to Makefile.am
* added proper new()/cleanup() calls for E_Delayed_Action;
* I've completely rewritten the object and observer handling. Bye
bye macros, this was nasty. It'll be hard enough to avoid leaks
with usecounting in C. We now basically have the same system as gtk.
There's a clear separation of observer and object code now.
An E_Object by itself has nothing to do with observing or being
observed, therefore, there are now E_Observers and E_Observees
that are derived from E_Object. IMPORTANT: The cleanup system now
reflects the reference count system, therefore, all ..._free()
calls are now static, because the destructor should never be called explicitly, but implicitly through e_object_unref(). The object handling
now is as follows:
- The cleanup functions clean up everything that is contained in
a struct, but NOT the struct itself. Instead of the final
free() call, they call the destructor of the base class. The
calls will walk up the hierarchy and clean up what's contained in
every struct, and the final e_object_cleanup() will free the
structure itself. E_Delayed_Action is a good example.
- The only calls that influence the reference count are
e_object_ref() and e_object_unref(). If you need to do things
before an object gets destroyed, you can query the use count using
e_object_get_usecount() and check if it's equal to 1. So this:
OBJ_UNREF(b);
OBJ_IF_FREE(b)
{
ecore_window_reparent(e->win, 0, 0, 0);
e_icccm_release(e->win);
OBJ_FREE(b);
}
now is this:
if (e_object_get_usecount(E_OBJECT(b)) == 1)
{
ecore_window_reparent(e->win, 0, 0, 0);
e_icccm_release(e->win);
}
e_object_unref(E_OBJECT(b));
object.h and observer.h are completely commented, it shouldn't be
too hard to understand. This'll need to be documented in the manual
anyway.
* E_Objects are now used in lots of places where void* were used as
pointers to objects before, especially in the actions code. This is
obviously better, as it will generate compiler warnings when people
want to pass things to functions that expect E_Objects. This could
probably be more restrictive.
* Added typedefs for the function prototypes in E_Action_Impl. Those
fat signatures were just painful to read in the function
declarations/implementations.
* I've also tried to give parameters more useful names. Calling an
object "o" is a lot of fun when you want to grep for it.
* Included is also Graham's latest menu.c patch. Sorry for the
delay, Graham.
* I've added checks to the menu code that make sure that menus
don't pop up when they're empty (which resulted in a little useless
rectangle).
I guess that's it for now. Sorry if I broke anything, but this was
necessary imho.
SVN revision: 5605
scritp again (pass in a directory path to set up.. i'd suggest
mkdir ~/.e
mkdir ~/.e/desktop
mkdir ~/.e/desktop/default
build_iconbar_db.sh ~/.e/desktop/default
the scritp is a bit smaller now :)
SVN revision: 5519
it doesn't exist.
* Renamed E_Action_Proto to E_Action_Impl. I think that's more intuitive
* Renamed the xxx_go functions to xxx_cont. It took me a while to understand the difference between "start" and "go".
* Some line wrapping and cosmetics.
SVN revision: 5475
matching.. keepign ti simple yet useful. imho i think just matching on name
and/or class woudl be enough as the majority fo apps provide this properly :)
now how to store the match rules and load them is next.. and probably handle
launching apps to "restart on login" too :)
SVN revision: 5439
client window thats just borderless, layer 1 etc. goign to add desktop masks
for client borders next (ie what desktops a client window lives on or
not)... in theory we have desktop areas and desktosp implimented now. :)
SVN revision: 5426
Just set the full path and file name in the metadata for that directory
under the key "/view/background" (you'll have to use efsdsh to set it right
now).
SVN revision: 5317
assign ferite scripts to menus see data/scripts/build_app_menu_db.sh and look
at the exit menu item as an example. you will need ferite - i suggest that
you use cvs ferite as this is what I am developing this against. This, my
friends, is the first step of many :)
SVN revision: 5280
To fix segfault if a->params is NULLL same goes for a->key...
I still have some problems over here which im going to look into right now.
SVN revision: 5167
Now the "Execute" action actually does something useful, like, say, execute
the contents of the parameters :)
scrollbar.c:
removed 2 warnings
SVN revision: 5065
add abstraction for recording view geometry metadata,
put geometry recording on a self-resetting timeout so efsd doesnt thrash
the disk whenever you move or resize windows.
clean out some unused code.
SVN revision: 5026
* get rid of more wranings
* get rid of useless code (how the hell it compiled AND ran with missing
symbols... beats me - but it was working)
SVN revision: 5018
name), errr... yeah... need to virtualize efsd launching.. someday... what
if efsd isnt in the $PATH ? oh well.. for now it needs to be :)
SVN revision: 5016
added header files for most of the logical units, which greatly
reduces the size of e.h. The dependencies are probably still a bit
too dense, I'll look at that next. Things don't get rebuilt completely
any more when efsd is updated. I've also started command line options.
Only version info and the display variable are recognized so far.
I see no warnings here on my machine. Hope I didn't break anything.
SVN revision: 5014
have been merged into one call. Instead of efsd_start_monitor_dir() and
efsd_start_monitor_file(), use efsd_start_monitor() now and specify
whether you want directory monitoring via the final flag parameter.
Same goes for efsd_stop_monitor() now.
SVN revision: 5007
its just mime types exactly splatted out into a dir struct with .db at the
end (falling back to default.db and unknonw/unknown/db in the end if it cant
fall backto default.db)
now what i need is to talk to cK and get the file magic/mime type stuff to
beocme smarter even that it is.. so currently it sees a tar.gz file - it
looks at the magic and boom.. it thinks is a gzip file.. thats correct.. but
theres mroe to it.. now it woudl be good if the magic stuff coudl now also
inspect the inside of the gzip (ie use zlib in this case) and start lookign
ro a tar header to see if tis a tar.gz.... now if it si a tar.gz.. try
getting the file list and seeing if there are telltale signs of it being a
theme tarball or such (though this lats step may be going too far)
efsd definitely needs ot cache mime type though. that much i'm certain of :)
its not fast at all actually doing file magic on every file... every time
the directory is "loaded" :)
but excellent work! another pat on the back for ck :)
SVN revision: 4451
non-interactive state... this works like a charm... love it.. GOOD WORK cK!
Excellent job.. this is actually what i originally thought we shoudl do (be
able to send not just filename but also stat,mimetype etc. info along in one
go with efsd doing in one lump) but i thought it might wokr ok as we had it
before.. and it wasnt... so my original hunch was right... and it's working
like a complete charmer. GOOD JOB! i'ts beginging to get to the point where
we can do something.... WHEEEEEEEEEE congrats cK. now... i wish we had more
cK's out there... (whoever is in munich out there buy cK a beer or 10)
SVN revision: 4443
"/usr/share/gnome/apps" dir now (/usr/share/pixmaps is hardcoded to pixmap
dir... need to figre this right... but it can be done...) :) qworks quite
ok.. :)
SVN revision: 4424
middle mouse) inserts the string "inserted" - its currently a matter of
trying to fetch that string for insertion :) i'm going to figure out how to
do that next :)
SVN revision: 4312
entry.c started.. workingon entry box code... its actually not THAT hard... :)
all i have left is to do selections in an entry box (and do X clipboard stuff)
amnd be able to do pastes from the X clipboard. (and delete selections when
u type when a selection is up and the rest of the selection logic) - but for
a basic textbox... it works :)
SVN revision: 4311
lower-right corner of the shelf) and them move it around.. :) you'll see
what i mean... again - this is me just testing stuff... i think i now know
enough works and what i need to do to go around and fix thing sup so they
are done "right" :)
SVN revision: 4250
actually have resize classes for parts of the border and the close & menu
buttons have classes now so i can at least hook code to those classes.. :)
SVN revision: 4249
want (ok - it gets it only if the value is stale for more than 5 seconds)
the comments say its waiting on efsd to be more solid and then i'll have a
set of config file monitoring flags that will state if the source db is
invalid and only then to getit - it still pretty much comes down to a compre
- branch and retrieve from ram operation per config value at the beginning
of a function. it's be good if you - instead of sahyin the design is HIT and
saying i cant desing - just point out somehting coudl be more optimized and
suggest things :) i dont deal well with peolep telling me shit is shite when
i'm not even done with it :)
SVN revision: 4204
background, lists directory, cleaned up some bugs here and there,
errrr...... cleaned up menu code and some fixups, added fs abstraction init
and working on it....
SVN revision: 4192
yes - it generates it from a..... DATABASE - there's a script that builds the
menu - it's a default set - but easily editable in the script (an example of
how to build a menu db - but... eventually we'd need a gui.) This only builds
a menu from a db file - it also monitors it for changes and updates the menu
to match any changes that happen. I need to write later a fs menu builder that
builds a menu from the filing system.
SVN revision: 4164
desktop.c is currently a bad hack that does rely on my own personal icons dir
to show icons - i'll add a menu creator set of code in menudb.c that can
create menus from db's so we can start being able to configure menus for the
desktop etc.)
SVN revision: 4163
it also handles clients that re-configfure size and position whilst
shaiding & unshading and whilst shaded. it also doesnt segv if a window
closes/vanishes whilst shading (i added a subsystem to handle stopping
of continuing timed out actions if their object goes away)
SVN revision: 4006
following (it's in the README now)
-------------------------------------------------------------------------------
Enlightenment 0.17.0 CVS Code....
-------------------------------------------------------------------------------
The Rasterman - raster@valinux.com, raster@rasterman.com
*******************************************************************************
**************** READ THIS! It is of the UTMOST IMPORTANCE! *******************
*******************************************************************************
This is the source code for Enlightenment 0.17 - If you got this you got it
from Enlightenment's CVS repository - or from someone who took it out of
the CVS repository.
The CVS repository is full of code *IN DEVELOPMENT* - that often means it's
in the middle of being worked on and may install strange things in strange
places, make a mess, and may not even be compatible with a final release. If
you at all use this code, you are HEAVILY URGED, when it is finally released,
to remove all traces of anything this CVS code base has installed on your
system (it is COMPLETELY up to you to keep track of that - do NOT expect any
help), and then install the full release on a cleaned system. Don't come
asking "can I just keep using CVS" oonce things are released - thqat is the
reason I pu this paragraph here - so you don't ask. The asnwer is the same
as above - if there is a proper final release use that. CVS is really only
for those havily hacking on the code.
Now we have that warning over and done with. How to build and install from
CVS?
$ ./autogen.sh && make
$ su
Password:
<- as root ->
# make install
You should be able to use the binary of enlightenment as a window manager.
you might be advised for cleanliness to do
$ ./autogen.sh --prefix=/usr/local/e-17
so it installs relative to the /usr/local/e-17 directory and keeps all the
e-17 development code and data in that tree so it is easily removed when the
time codes.
NOTES: Read these carefully!
Enlightenment does not check for previously running Window Managers right
now - so you need to make sure no other WM is running - E will not do that
for you.
Enlightenment has no menus or keybindings or any way of launching
applications right now - you'll have to figure out an alternative way of
doing it.
Enlightenment only handles a small subset of ICCCM and thus will have bugs -
some applications will not behave correctly and may apear in odd spots or
not resize or place themselves properly etc. Expect this - it's code being
worked on. Just be happy it does as much as it already does.
Enlightenment RELIES on lots of libraires that have been written. Ecore,
Ebits, Evas, Edb, Imlib2 just to mention a few. Especially Ebits, Ecore and
Evas change in CVS often - you will need the absolute latest of these if you
wish Enlightenment 0.17 code to run properly or compile. If you update
Enlightenment from CVS update these too to get any changes they have in
their trees.
If you plan on working on the code... STOP! don't rush in and work on it -
even if you have CVS commit access - EXPECT me (Raster) to revert any changes
you make if you do this - regardless of the changes and how much work you
put into them. First read the code well and LEARN it. If you have questions
about some of the more obscure hidden program flow - ASK - but don't go
tampering with it - Enlightenment 0.17's code is much more complex and
intricate than E 0.16 - but at the same time it's much cleaner and more
object oriented. Learn it well first. Some parts of E 0.17 are "hacked" with
hard-coded stuff, just so, for now, it works. They will be virtualized and
imporved over time. If you have plans - tell me about them first - discuss
them before you go impliment them. I know I already have a lot of the
components of E 0.17's code planned in my head - but I won't get to them for
a while - and if people go impliment or hack bad stuff in, it means I have to
spend lots of time fixing something that is bad in the first place, or we
end up doing duplicate work. There *IS* a plan - believe it or not - but to
be honest - it's more complex and large than I can just write down in a
README, so talk about your ideas first. I'm going to be ruthless in keeping
the code neat, clean and free of nasty hacks (except ones I put in as
temporary stop-gap measures to make the thing work - since I know where
those are and what I need to do to do it right). If you can't find me or I
don't reply to your e-mail - don't get impatient - just wait. I currently
have no network access at home, so I'm doing a chunk of code offline. I'll
get to your mail and queries as time allows.
If you have problems with the code or bugs to report, kindly forward them to
/dev/null (the code is in now way or form ready for bug reports - I don't
want crap filling my mailbox).
I hope that clears things up for now.
SVN revision: 3976
we may has well have the private ones in headers as well.
keep things tidy.
now to have a look at those
*ahem*cough*hack*splutter*choke*gotos*whisper*mumble :-)
SVN revision: 3967