Commit Graph

23 Commits

Author SHA1 Message Date
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz b6eb319146 remove manager/container id from bg/wallpaper things 2015-03-19 16:54:50 -04:00
Mike Blumenkrantz dbcd03044e remove manager number from e_bg functions
this is no longer relevant; related code will be removed soon
2015-03-18 19:12:32 -04: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
Mike Blumenkrantz b13ca641f7 ensure we get a properly stringshared return value here to match state of e_path_find
SVN revision: 81527
2012-12-21 10:02:27 +00:00
Mike Blumenkrantz baed804727 argh, another case of someone making callbacks with the data param last! fix fix! ABI borked again!
SVN revision: 76663
2012-09-14 10:52:08 +00:00
Vincent Torri c3b0637802 e17: whitespaces--
SVN revision: 72561
2012-06-21 06:19:43 +00:00
Viktor Kojouharov 96ff415a02 fully remove the BG panning.
add a float_set message directed towards the bg object on desk show


SVN revision: 64102
2011-10-16 14:53:27 +00:00
Gustavo Sverzut Barbieri 6f2213cb25 convert init/shutdown to EINTERN, move some to _update().
Do not abuse the concept of e_*_init(), make them call-once and those
that needed multiple call are renamed to e_*_update(). To make sure
convert them to EINTERN so the symbols are not exported.

Actually I guess too much is exported as EAPI while they should be
EINTERN, but that would require manual investigation, while this patch
was basically created with sed + grep.



SVN revision: 54795
2010-11-22 15:21:32 +00:00
Lucas De Marchi 6638a10e20 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Gustavo Sverzut Barbieri 0900c11347 'Set as background' mime handler moved to core, refactored.
* Remove 'Set as background' from conf_wallpaper and add it to e_bg
   together with the other code that already was handling
   '*.edj'. This makes more sense and will enable the action in
   presence of both versions of wallpaper dialog;

 * e_utils got pieces required by e_bg that could be used elsewhere,
   one is the dialog to query for options to import, the other is what
   really generates the conversion (import) of image->edj.

 * conf_wallpaper: import thing is way too messy, needs cleaning or
   removal. I don't care much about it as I plan to improve wallpaper2
   instead.



SVN revision: 44556
2009-12-18 22:20:08 +00:00
Gustavo Sverzut Barbieri 8a8025c6d8 e_bg: improvements and start import process (unfinished!)
I ran out of time, so if someone wants to finish the move of
e_int_config_wallpaper_import.c to standard e_bg.c I appreciate the
help. Skeleton is there.

With this, it is possible to remove code from conf_wallpaper and have
that functionality in both wallpaper and wallpaper2.



SVN revision: 44527
2009-12-17 23:05:51 +00:00
Viktor Kojouharov 648d75caab Larger backgrounds can now be set to scroll whenever a E changes between desks. Kind of like a transition, but uses only one (the first desk's), larger wallpaper instead of several wallpapers for all desks, and it overrides the transition settings if activated.
The option can currently be activated from Virtual Desktops Settings -> Advanced. A better home and preview would be better for these settings.

In more detail, this option can make a wallpaper, larger than the geometry of the zone, scroll appropriately with each desk change. Consider a nice panorama picture, which is as wide as the total desks' width. Then, at most, E will scroll the background by 1 / (number of desks) for each desk change. The direction of the scrolling is dependent on the desk change itself. Also, the user can specify a coefficient of maximum scrolling for each axis. If the coefficient is 0, the wallpaper will not move.

More advanced animations can be constructed with edje. The data item "directional_freedom" "(1|0) (1|0)" can toggle the actual wallpaper scrolling done by E for each axis. A message with the current x/y position, panning w|h, and zone w|h is sent to the background edje with each desk change animation tick. An example embryo script that handles the message, and changes a hypothetical "a1" part in the "e/desktop/background" group is shown below:

         public message(Msg_Type:type, id, ...) {
            if (type == MSG_INT_SET) {
               new x = getarg(2);
               new y = getarg(3);
  //	     new max_x = getarg(4);
  //	     new max_y = getarg(5);
  //	     new w = getarg(6);
  //	     new h = getarg(7);
               custom_state(PART:"a1", "default", 0.0);
               set_state_val(PART:"a1", STATE_FILL_POS, 0.0, 0.0, -x / 4, -y / 4);
               set_state(PART:"a1", "custom", 0.0);
            }
         }




SVN revision: 40543
2009-05-07 18:39:55 +00:00
Christopher Michael ce341fa4df E_FM Context Menus :)
Big Thanks to CodeWarrior for his help !!!

Add context handler for backgrounds. Can now right-click an .edj and Set as
Background.


SVN revision: 32068
2007-10-14 16:06:51 +00:00
rephorm 80478f40d8 Allow setting bg of desktops from within virtual desktop dialog.
For now, left click on the small desktop.
We'll probably add a menu on click, with the ability to set the desktop name or set bg.


SVN revision: 26700
2006-10-20 03:23:46 +00:00
Carsten Haitzler f261c9e1a8 metric pooch!
SVN revision: 26674
2006-10-17 12:29:00 +00:00
rephorm 1532587bcb Dynamically add and remove desks in the preview when you change the # of virtual desks.
A few small fixmes still to go


SVN revision: 26662
2006-10-16 23:45:16 +00:00
rephorm 7c2f28556a add preview widget to Virtual Desktops dialog
SVN revision: 26455
2006-10-09 19:06:43 +00:00
rephorm e41e945e3b break code that finds bg file for a zone into a separate function
SVN revision: 26433
2006-10-08 21:15:21 +00:00
Carsten Haitzler f25d473428 use desk x,y as ints
SVN revision: 15586
2005-06-30 14:35:19 +00:00
Carsten Haitzler 472f87ff96 ok - desktop changes are done by edje transitions now
i hereby invoke the power of edje on ye desktop wallpapers.


SVN revision: 15585
2005-06-30 14:07:28 +00:00
Carsten Haitzler 22534090d3 and now u can set different bg's for different desktops.. and it "just works"
(tm) currently defautt transition is a sinusiodal crossfade - it can be a bit
sluggish on big screens or slow machines. need to be able to configure that.


SVN revision: 15575
2005-06-30 10:43:21 +00:00
Carsten Haitzler e314c2cc04 bg now allows transitions when changing the bg. also a first step to allow
different bg's per desk - not implemented yet tho, but some infrastructure
for it


SVN revision: 15568
2005-06-29 14:28:47 +00:00