Commit Graph

347 Commits

Author SHA1 Message Date
Carsten Haitzler c8b1077de6 gadcon - fix disabled items... this is a radio and switches a/b/c ...
just because an item is not the selected one does not mean it should
be disabled. that is not how radios work. you choose 1 of n menu
items... only items you should NOT select (are not available for
selection) should be disabled.

@fix
2022-04-27 14:51:55 +01:00
Carsten Haitzler ff875f40a6 remove old obsolete systray things as xmbed is long dead 2021-01-07 14:25:08 +00:00
Alastair Poole 51da79c869 e_gadcon: resolve autoscroll issue.
Autoscroll was working until the client changed dimensions. This
removes a size hint change on the same callback for size hint
changes on the same object.

Ensure container box dimensions reflect the minimum size after
a size hint change on the contained objexct.
2020-09-28 11:26:54 +01:00
Carsten Haitzler 65a9a6615b icons - fix icons used in code to be better 2020-08-17 18:22:12 +01:00
Elyes HAOUAS 153f479d3f tree-wide: fix typos all over the place
Fix some typos

Differential Revision: https://phab.enlightenment.org/D11778
2020-05-14 12:04:51 +02:00
Carsten Haitzler 9cb83899b4 gadcon - defer resize handling in a job to speed up startup 2020-05-12 14:47:13 +01:00
Carsten Haitzler b8afba1e49 startup smoothing - smoothen startup with preload and defer to loop start
this moves a bunch of things that were being don after loop starts to
before so they don't interrupt framerate as well as launch a thread
that preloads file(s) - for now just edj theme files so stuff is
pre-cached by the time loop starts later so we don't stall s much
leading to smoother startup/fade in and better framerate. it's really
visible (especially on my rpi3).
2019-09-14 18:47:20 +01:00
Mike Blumenkrantz 99db9e2557 more E_BITFIELD conversions 2017-11-08 09:22:24 -05:00
Carsten Haitzler 6502f030c9 fix nested wayland in x11 mode with getting canvas zone geometry
yup. was broken. fixes T5993

@fix
2017-09-09 11:56:16 +09:00
Derek Foreman 73aecd73ab Replace all timer_add with timer_loop_add
So yeah, I've literally used sed to replace every occurrence of
ecore_time_add() with ecore_timer_loop_add() because I'm reasonably
confident that no part of E has a legitimate need for timer based on the
exact current time.

It would be really nice if I'm not wrong. :)

The reason for this is the incredible spew of clock_gettime() calls I'm
seeing on an ARM system (that should have a vdso for gettime, but...)
This can amount to thousands of system calls per second.

 #YOLO
2017-02-03 15:52:28 -06:00
Mike Blumenkrantz faac750727 resolve gadcon-related float-equal warnings
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
2017-01-06 12:57:33 -05:00
Mike Blumenkrantz 495fa3a7ae unpopulate all gadcons during shutdown
failing to unpopulate at this time leaves gadcon clients alive until
a time after module shutdown has occurred, resulting in crashes when
gadcon clients destroy themselves and attempt to access module-global
data

ref T2811
2015-12-29 12:52:56 -05:00
Mike Blumenkrantz 4eaeabc1c3 block gadcon thaw on unpopulate when gadcon is deleted
saves a huge amount of unnecessary calc time
2015-09-22 12:36:12 -04:00
Carsten Haitzler 10cd94a953 e shelf - small missing set of signals - tell theme when inset scrolls
the shelf theme actually can't know if there is scrollable content in
that direction when a shelf item has autoscroll on and has content in
that direction. this is kind of a missing theme capability that is
incredibly useful if you want to do certain kinds of themes. this is
fairly minor and i'd consider ok for e20 release as we aren't even
doing alphas yet...
2015-08-21 12:43:56 +09:00
Mike Blumenkrantz 442d63d8d6 track button mask for all drags, only end drag when mask has depopulated
previously, beginning a drag with the left button, then pressing and
releasing another button would result in the drag terminating without
the original button being released
2015-08-12 15:39:42 -04:00
Yomi 0dc33a5aeb Fix misspellings in E's files.
Summary: Fix misspellings and spaces in E's files.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2676
2015-06-16 16:10:21 -04:00
Mike Blumenkrantz 8f2d8748e1 add gadcon visibility handling, send hide signal to pager desks on hide
this (in combination with elm changes) should greatly reduce cpu usage
2015-06-08 14:53:31 -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 5ae00e6525 redo drop handlers to take an E_Object and Evas_Object
temp change to fix crashing when closing fwins with ctrl+w
2015-04-27 15:39:43 -04: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 09ec213a31 remove e_util_zone_current_get() usage 2015-03-13 17:58:45 -04:00
Mike Blumenkrantz ba7c1ac49c remove E_Zone->comp member 2015-03-13 17:44:24 -04:00
Mike Blumenkrantz bacf638d73 remove E_Drag->comp and E_Comp param from e_drag_new() 2015-03-13 16:21:15 -04:00
Chris Michael 0c4f3ff48e de-e_comp_get()-ify gadcon
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 12:48:50 -05:00
Mike Blumenkrantz f691a8fa18 fix elm box parenting 2015-01-20 19:20:04 -05:00
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