Commit Graph

21 Commits

Author SHA1 Message Date
Carsten Haitzler f0ea0c94ca e config - cache sizes in config don't actually work, so remove
remove several config vars in advanced performance that frankly don't
work (unless you change them int he dialog). they are not set up on
startup or not even used at all. remove things that don't work anymore!

@fix
2015-09-22 14:06:40 +09:00
Mike Blumenkrantz 471dcb24cb __UNUSED__ -> EINA_UNUSED
this has been bugging me forever. __UNUSED__ is no longer a valid macro here.
2015-03-18 18:09:09 -04:00
Mike Blumenkrantz 99589eb5af remove E_Win+e_canvas, convert all internal wins to use elm_win
known issues:

* keybindings for efm windows (eg. ctrl+w) are broken until the rest of the conversion is completed
2014-11-20 15:26:21 -05:00
Mike Blumenkrantz 86656e4df9 compositor rewrite / charlie-foxtrot situation
huge fustercluck commit because there wasn't really a way to separate out the changes. better to just rip it all out at once.

* compositor and window management completely rewritten. this was the goal for E19, but it pretty much required everything existing to be scrapped since it wasn't optimized, streamlined, or sensible. now instead of having the compositor strapped to the window manager like an outboard motor, it's housed more like an automobile engine.

** various comp structs have been merged into other places (eg. E_Comp_Zone is now just part of E_Zone where applicable), leading to a large deduplication of attributes

** awful E_Comp_Win is totally dead, having been replaced with e_comp_object smart objects which work just like normal canvas objects

** protocol-specific window management and compositor functionality is now kept exclusively in backend files

** e_pixmap api provides generic client finding and rendering api

** screen/xinerama screens are now provided directly by compositor on startup and re-set on change

** e_comp_render_update finally replaced with eina_tiler

** wayland compositor no longer creates X windows

** compositor e_layout removed entirely

* e_container is gone. this was made unnecessary in E18, but I kept it to avoid having too much code churn in one release. its sole purpose was to catch some events and handle window stacking, both of which are now just done by the compositor infra

* e_manager is just for screensaver and keybind stuff now, possibly remove later?

* e_border is gone along with a lot of its api. e_client has replaced it, and e_client has been rewritten completely; some parts may be similar, but the design now relies upon having a functional compositor

** window configuration/focus functions are all removed. all windows are now managed solely with evas_object_X functions on the "frame" member of a client, just as any other canvas object can be managed.

*** do NOT set interceptors on a client's comp_object. seriously.

* startup order rewritten: compositor now starts much earlier, other things just use attrs and members of the compositor

* ecore_x_pointer_xy_get usage replaced with ecore_evas_pointer_xy_get

* e_popup is totally gone, existing usage replaced by e_comp_object_util_add where applicable, otherwise just placed normally on the canvas

* deskmirror is (more) broken for now

* illume is totally fucked

* Ecore_X_Window replaced with Ecore_Window in most cases

* edge binding XWindows replaced with regular canvas objects

* some E_Win functionality has changed such that delete callbacks are now correctly called in ALL cases. various dialogs have been updated to not crash as a result

comp files and descriptions:

e_comp.c - overall compositor functions, rendering/update loop, shape cutting

e_comp_x.c - X window management and compositor functionality

e_comp_wl.c - Wayland surface management and compositor functionality

e_comp_canvas.c - general compositor canvas functions and utilities

e_comp_object.c - E_Client->frame member for managing clients as Evas_Objects, utility functions for adding objects to the compositor rendering systems

additional authors: ivan.briano@intel.com

feature: new compositor

removal: e_border, e_container, e_popup
2014-01-14 20:22:02 -05:00
Carsten Haitzler 35773a3241 add config for disabling delayed modules. this actually drastically
speeds up e startup - but this i mean the shelf comes up instantly
populated rather than taking 2 or 3 seconds to figure its life out.



SVN revision: 77558
2012-10-07 10:01:14 +00:00
Chidambar Zinnoury 116f994126 e: use standard units for file sizes and use helpers instead of duplicating code.
SVN revision: 73858
2012-07-14 20:50:21 +00:00
Christopher Michael 2f150a610c Play nice wrt small resolutions.
SVN revision: 50609
2010-07-28 19:17:06 +00:00
Christopher Michael e3a0da1216 Fix up expand/fill for sliders.
SVN revision: 47090
2010-03-09 16:51:26 +00:00
Christopher Michael 4d4cf95edc Make performance dialog match other dialogs wrt sliders & expansion.
SVN revision: 47062
2010-03-09 00:49:47 +00:00
Gustavo Sverzut Barbieri da9c07e569 simplified performance conf with check_changed and cleanups.
Instead of advanced, use a toolbook with General and Cache pages, it
looks better... and this dialog is inside "advanced" anyway.



SVN revision: 46861
2010-03-04 01:18:32 +00:00
Gustavo Sverzut Barbieri cada5ccf88 Smaller min size sliders and pass -Wextra
SVN revision: 46800
2010-03-02 19:10:53 +00:00
Christopher Michael da564fbe60 Don't stretch sliders vertically as they look retarded.
Fix formatting.



SVN revision: 46660
2010-02-28 18:36:20 +00:00
Christopher Michael 608650d856 Maximum framerate in advanced should match the maximum in basic.
SVN revision: 46470
2010-02-25 16:54:16 +00:00
Sebastian Dransfeld a9bf975e7b export less
SVN revision: 45455
2010-01-22 20:28:39 +00:00
Christopher Michael ff96a40305 Fix all this config window class mess once and for all. Now using the config
registry path for window class correctly in that when the module(s) shut
down, the will kill the dialogs.



SVN revision: 44191
2009-12-04 22:37:18 +00:00
Christopher Michael 61ca8ae5f5 Fix more of this config dialog window class mess
SVN revision: 44162
2009-12-03 04:33:27 +00:00
Hannes Janetzek 91211ef9c4 reopen fileman and dialog windows after restart of e.
- modules using e_configure_registry_add must be modified to 
  use registry path as window class for this to work
- fileman now uses e_remember to remember position instead of 
  handling it separately
- added option to window remember for remembering dialogs and 
  fileman windows automatically


SVN revision: 42607
2009-09-21 20:36:35 +00:00
Davide Andreoli 3d41cbb20d More icon works, this commit include changes to the icons on the desktop.
You will probably loose desktop icons until you get a fresh profile. Or you can edit the
.desktop files in .e/e/fileman/favorites (new icons name are: user-desktop, user-home, computer and user-temp)

Sorry for bothering... the next commit should be the last ;)



SVN revision: 39419
2009-03-08 23:09:48 +00:00
Viktor Kojouharov 6866042369 exec priority configuration
SVN revision: 38952
2009-02-05 13:32:24 +00:00
Carsten Haitzler b70f5a0ecc e:
1. configure/build changes to allow cross-compiling painlessly
2. pager module namespace changes - this was still dirty afdter the namespace
cleanup, so clean it up
3. add a powersave subsystem - doesnt have an "automatic" way to turn on and
off right now, this i think is best provided by modules (that do things like
monitor acpi status's (eg close lid of laptop), AC power status etc. etc.
this allows e to nicely defer "power" expensive actions to avoid disk
spinups etc.
4. move to use the new ecore poller system  - discussed long ago as part of
power management/saving issues. now it exists
5. add a canvas idle flush call that helsp cope with the new shm greedy
software x11 engine stuff
6. use the new powersave subsystem where appropriate
7. fix non-zeroed/initted memory access in e_fm_main
8. fix mem leak for e menus
9. remove ipc handlers for changed/removed config values
10. use animaotr not timer for menu scrolls - then menu scrolls obey the fps
config
11. fix up timer/poll happienss of cursor idle stuff
12. remove avoid damage from popups for now - causing problems
13. change battery and temp readouts to b e shorter so they fit
14. pager can emit signals on focus change for mini-windows now
15. temperature module now uses a slave process and uses stdin/out to talk to
it and get output - this makes e smoother as in my expereicne i found getting
the temp on my laptop actually took like 200ms so e "hang" for 200ms while
reading the acpi files - so now the subprocess does it and just writesa back
to e when it gets it.

ecore:
1. add ecore_pollers. see the documentation on them in doxygen comments :)
2. fix timers to only go off when they have to - bug there that made e's
select time out a LOT more than it needed to. defensive coding hid the
problem. now fixed. e should be much more power friendly now.
3. formatting/niceness in ecore_exe stuff
4. some comments on comments with SIGIO ideas vs. select
5. add call to be able to add an idle enterer at the start of the list of
them, not just the end (as has been the default)
6. fix ecore_evas to support auto evas idler calls after 0.5 secs of idle in
all canvases - and to do it right
7. if argb destination - set the shape EVENT shape (to mask out events in
transparent regions much like shape does withotu translucency)
8. in ecore_x add support for the event shape

evas:
1. fix cache to work properly and not just always fill up (as it seemed to
like to think cahce useage dropped below 0 when it didnt and thus just
over-fill)
2. software x11 engine now ONLY uses shm segments - no ximages over the
socket. this ximage hack was there to avoid the 2 round trips involved in
setting up an shm image - now i mitigated that wih an shm image cache pool.
it keeps shm images around and repurposes them for new update regions if
appropriate. this means many fewer shm creates (about 1/100th the number) and
since we recycle the memory less 0 memory page filling by the kernel - in the
end, i recorded about a 10-20% speedup over the old software x11 engine.
simple tests i have seen up to 120% speedups. idle flush now does something -
it frees all the cached shm segments. it has a hard-coded limit of 4mb worth
of shm segments (or 32 segments - whichever comes first) to keep around. once
can never complain much about speedups methinks :). also evas will defer sync
until the NEXT frame is written - this means evas can calculate the next
frame of data while x dma's/copies the images to the screen at the same time
(if you hve a dual core or multi-cpu machnike or your xserver is able to use
DMA to copy image data to the screen/video ram then this should see a decent
speedup).


SVN revision: 33448
2008-01-11 07:33:57 +00:00
Carsten Haitzler a220489b4e and the last of the config panel dialogs gets modularised - mroe config
dialogs around but hooked up differently. do these by hand.


SVN revision: 31073
2007-07-29 06:58:24 +00:00