Commit Graph

36 Commits

Author SHA1 Message Date
Carsten Haitzler 9fe7343180 fix mouse hangs after unblank
this fixes T5883
2017-11-14 18:15:26 +09:00
Mike Blumenkrantz 59fa0e418d use E_BITFIELD define for bitfield struct members
on release builds this will be a bitfield, on devel builds it will make
bools a normal unsigned char for easier debugging
2017-11-07 10:39:56 -05:00
Mike Blumenkrantz 3da7e0d1e0 freeze pointer animations while screensaver is active 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 58226266fd store current pointer client into pointer struct 2017-06-09 20:18:13 -04:00
Mike Blumenkrantz 83f0a68291 add e_pointer_show() 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz bec06b8703 add function to fill in x11 cursor image on creation
xwayland compositing requires that we set up a root window cursor image
immediately since we'll be getting that cursor surface to display as soon
as the pointer goes out of an x11 client's window
2015-07-10 13:04:12 -04:00
Mike Blumenkrantz 20d281d9d3 redo e_pointer to support xwayland cursors
this requires that both canvas cursors and window cursors be present for the same
E_Pointer object, even though only the canvas cursor is actually visible

 #kansas
2015-07-09 14:45:04 -04:00
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 2a1525bdb0 add pointer util function for changing cursor object without deleting it 2015-02-09 12:24:48 -05:00
Chris Michael 88e61f09cc add back 'pixels' field structure for pointer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:00:22 -04:00
Chris Michael 01fd44e485 add new e_pointer files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael f1bf03e87b remove old e_pointer code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Mike Blumenkrantz 99a4e5bd27 remove e_pointer_block api
this was a failure idea for a way to block X cursor changes using an api, which turned out to be overengineered
2014-01-23 17:04:41 -05:00
Mike Blumenkrantz 5737103d67 wl pointers done-ish
pointers in E now come in two flavors, one for each protocol that we currently support. each is created from the owner compositor backend:

X pointers still work as usual

Wayland pointers are actually surfaces that we dump image data into periodically to render them as evas images

some small amounts of hack is necessary to make this work, namely blocking X pointers when a Wayland one is in use if we're running a multi-protocol compositor
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz 505cec1d91 giant comp rejiggering commit #5:
* border frame/object now drawn directly on compositor canvas

* border shadows now in border theme with edje hint, non-updated themes still receive comp object shadows FOR NOW

* e_border MOVE/RESIZE pointer mode defines are now e_pointer.h enums

* added BD_CHANGED() util macro for setting bd->changed and printing a debug line to assist in finding places where this all-important flag is wrongly set

* bd->bg_win removed entirely

* bd->pointer objects moved to compositor object; now only one pointer object exists for each compositor

* resizing windows now shows a new and totally-intended scaling effect for window contents

* some additional retooling of border deletion/free callbacks

* fixed lurking potential bug where window could recieve focus from autoraise timer after border had been deleted

* more comp shape improvements/rewrites

* desk transitions are now BROKEN(ish)

* various modules updated to not be totally broken with these changes
2013-04-15 08:39:16 +01:00
Vincent Torri c3b0637802 e17: whitespaces--
SVN revision: 72561
2012-06-21 06:19:43 +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
Cedric BAIL 1087de2397 Remove Evas list and replace them with Eina list.
No change for ->next and ->data access right now, as the patch is already
big enough.



SVN revision: 36962
2008-10-22 11:49:33 +00:00
Carsten Haitzler 1d3533c12a add option to disable cursor and diasble the idle cursor anim.
SVN revision: 36313
2008-09-29 14:01:30 +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 b7fae6decb pointer gets more singals now - needed this for my new theme for e17 - it
works like a charm though! it's really slick!


SVN revision: 32333
2007-11-04 04:13:59 +00:00
Carsten Haitzler 0a5e26b82b jamse brown ... errr... gadman is dead.
basically if moduels wish to put objects on a desktop - they now will have to
DIY and look after themselves. until we have gadcons with "free" layout that
do similar stuff - but this simply means module authors need to d a bit more
work. gadman code is unmaintained and a burden - thus removed.

also borders and e_win's have their own pointers now - this should nuke the
stuck pointer bug... :)


SVN revision: 24925
2006-08-20 04:48:27 +00:00
stffrdhrn 218717c8dc Clean up compile warnings:
* char * -> const char * for stringshare strings
 * char * -> const char * where needed in functions
 * remove unused vars in some places


SVN revision: 20912
2006-03-02 12:03:48 +00:00
sebastid 0c3b477cc6 pointer stack work.
SVN revision: 17352
2005-10-09 18:02:17 +00:00
sebastid f1b815305e Pointer changes on context. Please comment! Will work more on it soon.
SVN revision: 17344
2005-10-09 08:54:24 +00:00
sebastid 192e1feeb8 Add a type pointer to remember what kind the pointer is, a stack to
add extra pointer info, and check all alloc calls.
Return a pointer object when using x cursor too, so we have a reference
to play with.


SVN revision: 17334
2005-10-08 20:38:07 +00:00
sebastid 4b5f28eb16 Move pointer to manager.
Update pointer when changing by ipc.


SVN revision: 17034
2005-09-28 13:30:49 +00:00
sebastid f5e90c9069 Update cursor size.
SVN revision: 16462
2005-09-02 08:28:12 +00:00
Carsten Haitzler 120960c191 rename pointer images, different edje group names (better namespace i guess),
rationalise pointer usage down to 1 for init, 1 for everything else.


SVN revision: 16304
2005-08-24 04:22:52 +00:00
sebastid 5519da900c More work on themeable cursor.
SVN revision: 16261
2005-08-21 23:37:28 +00:00
sebastid 549154cd7d Themeable pointers.
SVN revision: 16218
2005-08-17 01:35:48 +00:00
Carsten Haitzler 4f54c588e1 seb's patch...
SVN revision: 13222
2005-02-07 13:51:09 +00:00
Carsten Haitzler e88c2ac1a6 fix up include system so u canhave one struct directly reference another (put
typedefs in separate section and include twice...


SVN revision: 12928
2005-01-12 16:03:09 +00:00
Carsten Haitzler 462b2aa404 hidden symbol support
SVN revision: 12253
2004-11-25 05:31:21 +00:00
Carsten Haitzler 5e2388c886 _ _ _ _ _____ ___
| | | | ___| | | |  ___| __ ___  ___ _______  ___   / _ \__   _____ _ __
| |_| |/ _ \ | | | |_ | '__/ _ \/ _ \_  / _ \/ __| | | | \ \ / / _ \ '__|
|  _  |  __/ | | |  _|| | |  __/  __// /  __/\__ \ | |_| |\ V /  __/ |
|_| |_|\___|_|_| |_|  |_|  \___|\___/___\___||___/  \___/  \_/ \___|_|


I put E17's wm code into cvs. Hell is freezing over. Duke Nukem Forever will
be out next week. Snowballls take up residence in Hell. The Fat Lady sings.
The End is nigh...

:)


SVN revision: 12247
2004-11-25 03:37:45 +00:00