Commit Graph

322 Commits

Author SHA1 Message Date
Mike Blumenkrantz 922af2c52f remove e_comp_list(), deprecate all related functions for pending removal
there is only one E_Comp which can now be accessed by the e_comp global.

if you're editing a file with some uses of these deprecated functions, replace their usages with appropriate references to this variable

pass -Wno-deprecated-declarations to ignore these warnings during build
2015-01-05 15:39:15 -05:00
Mike Blumenkrantz a11e8d5f2e e_box -> elm_box conversion
the next installment in the exciting adventure game Elementary Wars!

happy new year from #teamborker
2015-01-01 17:45:34 -05: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 ec1cd25cfe rename E19* defines/texts to just E so they don't need to keep being updated 2014-09-09 12:30:50 -04:00
Gwanglim Lee ec8a6b829e fix crash after moving gadget between two zones
Summary:
add check new_gcc into the gadman's gadget add handler to prevent invalid ref_count increase
while moving between two zones. and also add object clean code for new_gcc and drag_gcc
when gadget is dropped.

Fixes T722

Test Plan:
1. create clock module on gadcon desktop (settings->gadgets, select "background" under layers, click "configure layer" and add a clock gadget).
2. drag clock gadget from one screen to the other. drop it there.
3. drag clock back to first screen
4. right click on clock and select "clock->remove".

Reviewers: raster, devilhorns, zmike

Subscribers: cedric

Maniphest Tasks: T722

Differential Revision: https://phab.enlightenment.org/D1256
2014-08-11 19:35:37 -04:00
Gwanglim Lee bb7173be6c fix gadcon client del event typos
Summary: fix E_Event_Gadcon_Client_Del typos

Test Plan: N/A

Reviewers: zmike, raster, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1260
2014-08-04 10:04:12 -04:00
Cedric BAIL 3f9af38da2 edje: remove use of deprecated functions. 2014-06-07 21:10:55 +02:00
Mike Blumenkrantz 19f8126847 prevent fallthrough in determining gcc visibility
CID 1040127
2014-03-13 13:10:55 -04:00
Mike Blumenkrantz 2425ec363c always init container coords when beginning gadcon drag
CIDs 1135457, 1135456
2014-03-13 10:37:01 -04:00
Carsten Haitzler 0313a54da4 e-object-check - this has been turned off since 2007 - back on
this is crazy. all the E_OBJECT_CHECK macros have been off since 2007.
this is just nuts. either remove them, or have them on by default, but
not off. so this turns them back on and fixes code to actually compile
again with them on, as this broke over the years. a lot of code
expects/assumes thatthese willcheck types and null ptrs, but they
don't because they are off by default.
2014-02-26 04:28:12 +09:00
Mike Blumenkrantz c8ba69e3bf gadgets now delete the right menu when menu is deactivated
T906
2014-02-06 12:33:39 -05:00
Mike Blumenkrantz 0943d9f7cc remove resize callback on gadcon parent
this sometimes gets called after the gadcon is deleted which leads to a crash
2014-01-14 20:29:00 -05:00
Mike Blumenkrantz b6e94d02ed don't recalc a gadcon on unpack if we're stopping, also don't recalc gadcons during stop when unpopulating
this caused a lot of slowdown, and even possible crashes, during restarts
2014-01-14 20:28:58 -05:00
Mike Blumenkrantz 12d7405a0f huge wl fixup (wayland clients actually working again)
* try to clear up build system for separating out ecore-x

* add #ifdefs for lots of ecore-x stuff

* break out some internal e wl functions for reuse in api

* store wl surface buffers as an inlist

* add protocol-specific client compositor data

** move lots of X client attributes here

* add pixmap type checks to a number of X-specific things, such as grabinput, to block them for non-X clients

* rearrange startup order to work with wayland

* move X screensaver code to e_comp_x

* flag modules still requiring X with -DNEED_X
2014-01-14 20:28:57 -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
Mike Blumenkrantz 7a8ad8080e finally fix bug where gadgets on shelves would randomly reorder during drags
ticket #everydamngadgetticketevercreated
2013-12-05 12:27:46 -05:00
Mike Blumenkrantz a0edbd69b0 don't try to apply gadcon container geometry when injecting
fixes case of gadgets dragged onto a shelf always going to the right side

ticket #jpeg
2013-12-05 12:24:50 -05:00
Mike Blumenkrantz ed6bfb1955 subtract zone position from initial gadcon client drag coordinates
T369
2013-12-04 23:09:12 -05:00
Mike Blumenkrantz c49d5eea96 remove more calls to useless gadcon function 2013-12-04 23:08:50 -05:00
Mike Blumenkrantz 0b6ec2d07a move and unify a gadcon drag block 2013-12-04 23:06:57 -05:00
Mike Blumenkrantz 84cb16cf8f remove call to useless gadcon function 2013-12-04 23:05:50 -05:00
Mike Blumenkrantz 842d830c39 remove ability to alter gadgets in EFM toolbars
this whole site as a "fully functioning gadcon" is pretty broken (by design), and it's not worthwhile to fix it at this point
2013-12-04 12:21:22 -05:00
Mike Blumenkrantz 4446442163 remove gadcons from custom populate job during deletion
this showed up on my valgrind radar while xrandring, so it's safety time
2013-10-07 04:15:18 +01:00
Mike Blumenkrantz 3f001ea778 changing aspect on a non-layouted gadcon client sets evas aspect hint instead 2013-08-13 11:27:42 +01:00
Mike Blumenkrantz 3024562fcc bugfix: setting min size on a gadget now propagates to desktop gadgets 2013-08-13 10:22:24 +01:00
Mike Blumenkrantz 5b3408bb85 s/E17/E18/ 2013-06-18 15:44:57 +01:00
Mike Blumenkrantz 5ac0b9df10 remove unnecessary call to evas_object_data_get during gadget deletion 2013-05-23 11:16:00 +01:00
Mike Blumenkrantz 70d68a30e0 giant comp rejiggering commit #4
* dnd canvas removed, dnd objects now drawn directly on compositor canvas

* dnd now correctly picks the top-most dnd-receiver location as its drop target instead of just using the first one in the list

* various other small changes to go along with this
2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 19f79acb45 add e_gadcon_repopulate
this allows unpopulate+repopulate calls to occur while the layout is frozen, providing a substantial speedup
2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 536254e2ce start drag if gadget has been moved the size of the gadget
when a gadget is at the edge of its gadcon, it can't move more than this amount, so we have to start the drag immediately
2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 56fdcf1faa use e_gadcon_zone_get for dnd-related functions to ensure we get the right zone: fixes toolbar dnd 2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 4b9113f3ba use new comp layer functions to correctly set layer for gadget mover objects...this needs to be redone entirely along with the rest of gadcon 2013-02-22 13:18:30 +00:00
Mike Blumenkrantz bf9933a336 E_FN_DEL macro renamed to E_FREE_FUNC with param order swapped for consistency 2013-02-22 13:18:30 +00:00
Mike Blumenkrantz 88f00310d7 e toolbar gadgets no longer crash when trying to display a popup
SVN revision: 84258
2013-02-20 09:13:03 +00:00
Mike Blumenkrantz 32157d8fe5 fix gadget event object layering for dnd
SVN revision: 84239
2013-02-19 14:29:57 +00:00
Mike Blumenkrantz 2297f7d071 gadcon now correctly freezes its container object when unpopulating
SVN revision: 84058
2013-02-18 13:43:37 +00:00
Mike Blumenkrantz 32bcde16af add e_gadcon_client_visible_get()
SVN revision: 84055
2013-02-18 13:43:29 +00:00
Mike Blumenkrantz aa6a2d173d giant comp rejiggering commit because anything smaller would have broken something:
* remove xwin for container canvas: now drawn directly on the compositor canvas

* added SHAPE_DEBUG define for bored developers

* bindings now use new e struct for mouse/wheel events

* container+zone now get mouse events from smart callbacks instead of x events

* rename comp api namespace

* change comp underlay theme to have a swallow for the wallpaper

* add names to all zone/container/comp objects to make debugging much easier

* some minor related updates to go along with this

SVN revision: 83752
2013-02-07 13:20:07 +00:00
Mike Blumenkrantz 6dc0f1f64e delete gadget evas objects on delete to prevent crash on restart now that comp is merged into core
SVN revision: 83505
2013-01-31 10:53:50 +00:00
Mike Blumenkrantz 9e8e755cdf formatting: all at once
SVN revision: 82625
2013-01-11 10:34:29 +00:00
Massimo Maiurana c4058ca063 Make some error dialogs translatable (patch from Igor Murzov)
SVN revision: 81394
2012-12-19 17:45:04 +00:00
Mike Blumenkrantz aa35b742c5 don't stop filling a gadcon if one (systray) fails to create
SVN revision: 81331
2012-12-19 09:17:05 +00:00
Mike Blumenkrantz a658db2782 use e_util_strcmp, set current gadcon style menu item to disabled, only use default style as menu item if current style not set
ticket #2023


SVN revision: 81226
2012-12-18 09:30:35 +00:00
Mike Blumenkrantz 558894792f fix gadcon stringshare usage
SVN revision: 81225
2012-12-18 09:25:48 +00:00
Mike Blumenkrantz 006a014982 gadcon positioning leak
SVN revision: 80850
2012-12-13 13:41:35 +00:00
Mike Blumenkrantz fbc12f2e3f only save gcc during edit end if the gcc has a config
SVN revision: 79875
2012-11-30 08:50:12 +00:00
Mike Blumenkrantz 6600e453ec delete gcc drag object if it exists when gcc is deleted
SVN revision: 79836
2012-11-29 15:19:24 +00:00
Mike Blumenkrantz c21b0240ba don't show gcc drag object when dragging desktop icons on same zone
SVN revision: 79833
2012-11-29 13:42:42 +00:00
Mike Blumenkrantz d7a5385b2b only run a gadcon populate event after module init end
SVN revision: 79829
2012-11-29 12:15:50 +00:00
Mike Blumenkrantz 25853a0c2a fix possible null deref crash when deleting gadcon client config
SVN revision: 79827
2012-11-29 11:48:34 +00:00