Commit Graph

168 Commits

Author SHA1 Message Date
Elyes HAOUAS 65441c214b tree-wide: get rid of trailing whitespace (part 10)
Remove trailing whitespaces

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11830
2020-05-14 14:17:15 +02:00
Carsten Haitzler bb390716f5 ibox - make coverity happy by reordering free then list remove
fix CID 1403955
2019-08-06 12:40:08 +01:00
Carsten Haitzler 554026cfe6 ibox - make coverity happy by reordering free then list remove
fix CID 1403956
2019-08-06 12:36:22 +01:00
Mike Blumenkrantz 99db9e2557 more E_BITFIELD conversions 2017-11-08 09:22:24 -05:00
Carsten Haitzler 3779086a63 e icon - use new skip header async preload to make icon loads async
now they can be trule async hopefully stopping things like application
menu from stalling while loading icons header... which is really nasty
with svg's. this actually makes icons async by default which is really
EXACTLY what you want. this also prepares for later making edje loads
async.

@feature
2017-01-02 09:51:57 +09:00
Mike Blumenkrantz fd6b264b1d maintain "empty" object's size hints when ibar/ibox resizes
the sizing issue in all of these tickets was caused by the "empty" object
being deleted, thus allowing the box to reset to 0x0 size hints and
returning this value as the overall size during recalc; the result is that
all icons would be sized at 0x0 instead of using the preserved orient size
as expected

fix T4509, T4647, T4830, T4733, T4524
2016-12-06 11:39:33 -05:00
Mike Blumenkrantz 3b1242e314 revert all sizing commits to ibar/ibox for the past year
the assumption that this code was making assumptions about elm_box
internals based on a shallow reading of the code was incorrect, and
the resulting "fix" (and subsequent attempts to bandaid it) has left these
gadgets in an unusable state for the past half year.

disappoint.jpg

this reverts the following commits:

f97f8f61ac
ebfa4a97cd
50030dc693
42aa6be359
504706d45a
b1f608c5e6
b107dc1cdc
3fc195cd9f
2016-12-06 11:27:50 -05:00
Carsten Haitzler 3fc195cd9f e ibar/ibox port to elm box - fix assumption on resize
so... when ibar/ibox were ported to elm box they assumed elm box would
resize itself. this was wrong as it only should have set min size
hints. this has been fixed by 96fbea9daecf7040ac63203c4823722fa6d5d73f
and this addresses T3031. this requires we fix enlightenment too.

@fix
2016-07-25 19:13:29 +09:00
Mike Blumenkrantz 6831544d71 use current box geometry for calculating desktop ibar/ibox sizing
desktop gadgets don't have minimum size set from parent objects, so
it's necessary to use the current object geometry in order to correctly
size these gadgets since the top-most widget is from elm

fix T2907
2015-12-11 16:17:57 -05:00
Mike Blumenkrantz d4614e1aad emit ibox icon signals to the internal edje object of the e_icon 2015-11-07 13:07:07 -05: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
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 bacf638d73 remove E_Drag->comp and E_Comp param from e_drag_new() 2015-03-13 16:21:15 -04:00
Mike Blumenkrantz 91edd1ce2f E_CLIENT_*FOREACH() macros no longer take a E_Comp param 2015-03-13 15:45:07 -04:00
Mike Blumenkrantz f691a8fa18 fix elm box parenting 2015-01-20 19:20:04 -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 22c4f68d65 fix ibox eo errors 2014-08-20 18:05:34 -04:00
Mike Blumenkrantz 7c55f465dd fix ibox eo errors 2014-08-20 18:03:07 -04:00
Carsten Haitzler 7fe18a6954 unbreak enlightenment compile due to eo usage
so e is using eo... and something in eo changes... and e fails to
compile entirely.... there are hacks to use eo... and this is not good.

eo is still in a beta state. that means any usage of it  can (and
will) break. this is a problem for e. if e uses eo, then eo breaks in
an efl upgrade, e breaks. we can't really have that. we already hit
this problem in terminology with the app server code in elm. so let's
just not use eo in e until it's stable.

this removes eo usage in all places, with the e_menu code having a
small isedje() func due to some of its code paths doing special things
based on if the obj is an edje one or not as opposed to just a simple
"only emit if its an edje obj".
2014-07-01 08:37:33 +09:00
Mike Blumenkrantz 67855482fc update eo class names, add hack for 1.10 class name compat 2014-06-04 09:28:17 -04:00
Mike Blumenkrantz d8aa488096 completely revert all eo/eolian usage
this was a neat experiment, but apparently it's not going to be usable for a long time in anything outside efl/elm

This reverts commits f87b9900fa, a49cede790, 81038f8d02, 47cfb31752.
2014-06-04 07:27:50 -04:00
Tom Hacohen f87b9900fa Update code to use the new class names generated by eolian. 2014-06-03 11:55:02 +01:00
Jérémy Zurcher b6907e848a ibar: silence uninitialized warning 2014-05-07 11:48:18 +02:00
Mike Blumenkrantz 8f2859a198 fix ibox eo errors 2014-04-10 19:06:04 -04:00
Mike Blumenkrantz a40d0d7e21 fix ibox initial urgent states 2014-03-05 10:08:09 -05:00
Mike Blumenkrantz 9ad04eb877 redo client urgency again with separate flag for actual urgent state
preserve icccm flag for accurate detection
2014-03-05 10:08:09 -05:00
Mike Blumenkrantz 8d71213839 e_client_name_get() -> e_client_util_name_get()
this should be inlined
2014-02-05 10:55:50 -05:00
Carsten Haitzler 61aa61651c ibox/ibar/tasks iconify effect - don't do it if target is not on same screen 2014-01-30 07:45:02 +09:00
Mike Blumenkrantz 9b36b9b78c remove comp iconify hacks (and e_iconify api), expand comp object effect api
instead of adding specific handling which will work (sometimes) in one specific case, expand already-existing api to provide the needed functionality for iconify animations. now on emitting any signal to a comp object, optional glob-able effect providers can be hooked and prioritized to add effect animations

also use animating flags now when applying an object effect

a base effect is provided in elementary, but now each module which wants to hook iconify animations (or other events) can do so in the theme and have different animations with their module
2014-01-29 13:36:42 -05:00
Carsten Haitzler 1ede2a5632 iconify provider - the ability to provide geometry for src/dst of iconify
ibox now uses this as an initial test. there are teething problems:

1. unknown location for new icon (guess that its on right)
2. stacking - the animation is at the stacking layer of the comp obj
   ... this probably needs a way for the comp shobj to request a
   temporary stacking change until anim done
2014-01-29 22:42:54 +09: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 1f0a8801b5 fix ibox crash when border hasn't been assigned to a zone 2013-03-26 11:51:40 +00:00
Mike Blumenkrantz 4e779975f9 rename E_LIST_HANDLERS_APPEND to E_LIST_HANDLER_APPEND, also add E_LIST_FOREACH
SVN revision: 76951
2012-09-21 09:23:07 +00:00
Mike Blumenkrantz 5519096a0e ibox now has an option which allows it to expand freely on the desktop
ticket #718


SVN revision: 76914
2012-09-20 13:52:38 +00:00
Mike Blumenkrantz 21c3a90d88 use EINA_LIST_FREE iterators so we don't needlessly loop lists twice, also fixes a leak
SVN revision: 76905
2012-09-20 10:58:05 +00:00
Mike Blumenkrantz f6bbc2e9b3 simplify ibox init/shutdown
SVN revision: 76904
2012-09-20 10:53:31 +00:00
Mike Blumenkrantz dabb75af17 improve usage of eina list
SVN revision: 76903
2012-09-20 10:49:19 +00:00
Mike Blumenkrantz 2434f5adbe more PATH_MAX cleanups
SVN revision: 75520
2012-08-22 07:32:12 +00:00
Mike Blumenkrantz 94e2fc5257 clean up gadget right click menus to stop leaking
SVN revision: 75285
2012-08-15 07:22:04 +00:00
Mike Blumenkrantz bc4383e82f formatting
SVN revision: 75283
2012-08-15 07:00:02 +00:00
Mike Blumenkrantz 98601e4198 sed -i 's/(E_Gadcon_Client_Class/(const E_Gadcon_Client_Class/g'
SVN revision: 74474
2012-07-27 08:25:22 +00:00
Mike Blumenkrantz 74edef9f46 fix memory leak spotted by seb in gc_id_new. this whole thing is pretty confusing; I'm glad we don't have docs for it
SVN revision: 72689
2012-06-22 07:21:51 +00:00
Mike Blumenkrantz 7dbd2e8de9 fix the same instance id bug as in pager, this will likely delete configs for a large number of modules
SVN revision: 72592
2012-06-21 11:03:50 +00:00
Boris Faure 27264671d0 e/gadcon: label() returns a const char*
Original patch by Fabien Romano from OpenBSD

SVN revision: 65204
2011-11-14 21:46:57 +00:00
Mike Blumenkrantz 2a905bb70d properly set __UNUSED__ here
SVN revision: 64904
2011-11-07 23:21:33 +00:00
Hannes Janetzek 950f9cd729 e17: use GADCON_CLIENT_CONFIG_GET, remove old transitional code to remove config items without id
SVN revision: 63125
2011-09-03 14:39:28 +00:00
Hannes Janetzek 7f457f1911 e17: add option to have gadcon client settings menu in toplevel again.
added e_menu_item_new_relative(E_Menu, E_Menu_Item *rel) which appends 
 new item to rel or prepends it when rel is NULL.

changed e_gadcon_util_client_menu_append to to take only the gadget menu
 and returns the new toplevel menu that should be shown by gcc
 depending on the setting this is a new menu with gadget menu as submenu
 or the gadet_menu with gadget menu items appended

updated e-modules-extra comes in a minute


SVN revision: 57826
2011-03-17 17:08:36 +00:00