Commit Graph

137 Commits

Author SHA1 Message Date
Carsten Haitzler cda79aff9e luncher bar - fix enum use for aspect hint to use evas, not edje one 2020-01-15 19:06:24 +01:00
Alastair Poole 4b659b1d9e luncher: Fix Crash (rare).
Luncher can crash. When freeing e clients (bar.c).

(data=0x55f0599a400) at bar.c:851

(gdb) print ec
$1 = (E_Client *) 0x0
2019-12-14 19:50:41 +00:00
Chris Michael 6b1f5560b4 luncher: #if 0 out unused functions 2018-11-08 10:44:11 -05:00
Davide Andreoli 3e4a34d03c Launcher: fix the gadget menu icon search
This was obviously wrong, it was comparing
the geometry of the whole gadget instead of
the icon one. Now the menu doesn't always
act on the first icon ;)
2018-10-21 11:22:54 +02:00
Carsten Haitzler e4339f4819 bryce - improve usability from code and user by having std right menu
now right click on any gagdte in bryce and they ALL have a menu that
allows removal of the gagdte bar or the gadget as well as access to
gadget settings AND the ability for gadgets to extendthis menu like
lunhcer does per icon. now it's standard behavior everywhere which is
much easier to use and discover. it also removes code from every
gadget to do their own "button 3" handling as its handled centrally
making the code in gadgets simpler.

this is part of my effort to improve usability (mostly discoverability
and accessibility of settings/features).

also  long press left mouse gets u gadget right click menu

this has to move many modules/gadgets actions to mouse up instead of
mouse down so the bryce has a chance to trap the events first and set
hold flags. but now long press for 0.5 sec and bryce menu come sup
(with left mouse .. so touch friendly).

in addition move context menu hanbdling to e_gadget instead of in
bryce and in e_gadget. a context callback is called so different
systems can still do different things. this should probably change to
always pop up a mnenu and simple call populate callbacks for site
owner specific content.

all in all it makes the new gagdtes more consistent, easier to use
(without a right mouse button), doesn't need special action bindings
etc. etc.
2018-10-11 16:25:10 +01:00
Mike Blumenkrantz f77072444f fix luncher efreet event handling
this does not require a bar resize, a bar refill, or any object creation.
it only requires icon file setting.
2018-02-23 14:55:05 -05:00
Stephen Houston 6d6582e889 Luncher: Add a timeout for mousing out when preview already exists. Update preview on deskswitch.
This fixes https://phab.enlightenment.org/T6328 and https://phab.enlightenment.org/T6202
2018-02-14 12:53:47 -06:00
Ross Vandegrift 629f7d41c8 clean up .desktop files and misc typos
Summary:
Drop deprecated Encoding key from desktop files

The Encoding key is no longer required, all desktop files are assumed to
be UTF-8 encoded.  See details at:
https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html

Fix various typos and misspellings

lintian, Debian's package checker, uses strings to check for common typos
in compiled binaries.  This change fixes the ones it identified in 0.22.1.

Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5585
2018-01-04 09:57:52 -05:00
Al Poole 43928a70fc luncher: fix slider on mouse scroll. 2017-12-15 20:08:10 +00:00
Stephen Houston 2b165e75e3 Lunchers: If hide tooltips is set, don't even show them on delay. 2017-12-04 14:44:52 -06:00
Stephen Houston b19cceb224 Luncher: Add config options to not show tooltips on mouse in 2017-12-04 10:35:59 -06:00
Mike Blumenkrantz 4178e87518 use last client from E_Exec_Instance list when updating luncher popups
the last client is the most recently-added

fix T6288
2017-11-07 10:40:14 -05: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 18de7db6f6 do not add iconify provider for luncher when creating a demo gadget 2017-11-07 10:39:26 -05:00
Mike Blumenkrantz a5adcb1df7 destroy luncher iconify provider on gadget delete
this is removed on object delete, not config delete

fix T6258
2017-11-07 10:39:22 -05:00
Mike Blumenkrantz b36ad3c73b correct some edje api usage in luncher preview setup 2017-11-02 07:33:52 -04:00
Stephen Houston 39b0632f40 Align the preview properly. 2017-10-11 16:21:23 -05:00
Stephen Houston c234be9485 Luncher: Don't manually apply min sized aspect - The edje aspect set call handles this. 2017-10-11 14:08:15 -05:00
Stephen Houston 213bb6ba32 Luncher: Keep aspect on previews - don't force max sizes.
This fixes T6074 T6075
2017-10-11 14:03:57 -05:00
Mike Blumenkrantz 50473083d1 remove futile null check
CID 1381166
2017-09-15 12:08:42 -04:00
Stephen 'Okra' Houston 81fc3d6837 Luncher: When the icon is deleted, don't leave client menu callbacks hanging.
This fixes T5970
2017-09-11 12:50:57 -05:00
Stephen 'Okra' Houston ed49a4e9d1 Luncher: Don't keep callbacks placed on dead objects hanging around. 2017-09-11 12:50:03 -05:00
Stephen 'Okra' Houston ef43d6bd4c Luncher: Remove the engage feature
The engage feature was mainly there as a demo of the capabilities of bryce.  Now that we are nearing release we need to clean up our gadgets.  The engage style for the luncher gadget is not complete, and does not work adequately, and quite honestly better belongs as a feature of bryce itself not luncher.
2017-09-01 13:52:09 -05:00
Stephen 'Okra' Houston 0880d1795d Luncher: Don't set preview state to menu. Set to alpha. Requires EFL update.
This fixes T5948
2017-08-30 20:15:47 -05:00
Mike Blumenkrantz 84a58aa004 clamp luncher icon size to 8x8 2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 592c2c7499 block some gadgets from appearing on desklock gadget sites
ref T4648
2017-08-25 14:47:10 -04:00
Stephen 'Okra' Houston ccf30bd726 Luncher: Don't use a second object for the overlay. This requires EFL updating due to theme. 2017-08-23 17:06:57 -05:00
Mike Blumenkrantz c31cb51499 replace <br> with <ps/> for all text 2017-08-21 10:16:35 -04:00
Mike Blumenkrantz 2832d893cc set transparent state for luncher preview wins when win has alpha
this should probably use a mask to provide just the outline in the theme?

@jpeg

fix T5741
2017-08-18 15:52:50 -04:00
Marcel Hollerbach 29901d67b2 meson: use file instead of doing the relative path by hand
a reason for doing that is that you can just pack together targets into
a array and pass them to our helper, and the helper will just handle
them, so even module with eldbus codegen etc is now supported.

This also means that we are just passing the src object directly into
the shared_module call, which means the user of our helper can just pack
everything he needs into the src var and the helper does not need to
know about it.
2017-08-08 18:38:37 +02:00
Carsten Haitzler 69290dd7f4 e module build - make build files far more generic and far smaller
now mdoule build files that fllow one pattern (the most common by far)
all JUSt list their souce files and nothing else. this really cuts
down on build size/complexity.

there are other patterns too (no icons at all) that i'll do next, then
we're down into "weird" land where i'll have to think of some more
interesting ways to deal with this.
2017-07-29 08:55:36 +09:00
Carsten Haitzler 84bf48b3ed module build - clean up and fix meson install of pretty much all modules
so we';re missing installing desktop files. edj icon files, wizard
data files in the wrong place, and much more. this also cleans up the
module meson build of pretty much all modules and make their build
files cimple and consistent so it's far easier to re-use things from
one module to the next. we should aim for simplicity, consistency
between as much as possible so we can refactor and turn into maybe
functions later. imho that starts with consistency though. until i can
see all the common patterns clearly, i don't want to write functions
yet. it's easier to see if all the files are consistently using the
same vars and formatting etc. etc. etc.

but either way the installation needs fixing so it installs all files
in the right places with the right permissions etc. etc. etc.

this doesn't fix all module build files bt all the ones i found that
were broken installs and they use what i think is a cleaner/simpler
template, BUT there is far too much copy & pastage here... far too
much.i need to find a cleaner way to automate this.
2017-07-27 14:29:30 +09:00
Mike Blumenkrantz e8dc71cd48 meson. 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz b7e8e886e9 do not generate module.desktop files
the purpose of this is to allow variable substitutions, but no desktop
files do this so it's a waste of build time for no reason
2017-07-14 18:40:50 -04:00
Stephen 'Okra' Houston 9e7b78ffab Gadgets: Make sure to avoid conflicts with functions and globals. 2017-07-12 16:03:06 -05:00
Stephen 'Okra' Houston 731590ee76 Luncher: Remove useless and dangerous global. 2017-07-12 15:43:39 -05:00
Stephen 'Okra' Houston 480eb2a04f Luncher: Hint the preview popup to have the same min size as the preview windows.
This fixes T5669
2017-07-07 10:30:38 -05:00
Mike Blumenkrantz 02d8da9cd9 remove "gadget_removed" smart callback from gadgets which use it upon deletion
ensure that this isn't called in a use-after-free scenario
2017-06-30 17:03:24 -04:00
Mike Blumenkrantz 1f0bed7e0b check ec pointer before deref in luncher's E_EVENT_EXEC_DEL handler
a deleted exe is unlikely to have clients

fix T5599
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz a441d4d22a do not advertise luncher grid or sysinfo for gadget sites with orient
these are only feasible for non-bar sites
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz b98854b17b remove client callback from luncher icon when necessary
==20443== Invalid read of size 8
==20443==    at 0x28CED526: _bar_exec_new_show (bar.c:980)
==20443==    by 0x819D78D: _eo_evas_object_cb (evas_callbacks.c:184)
==20443==    by 0xDFB6FED: _event_callback_call (eo_base_class.c:1496)
==20443==    by 0xDFB7373: _efl_object_event_callback_legacy_call (eo_base_class.c:1569)
==20443==    by 0xDFB743A: efl_event_callback_legacy_call (eo_base_class.c:1572)
==20443==    by 0x81DC562: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:993)
==20443==    by 0xDFB743A: efl_event_callback_legacy_call (eo_base_class.c:1572)
==20443==    by 0x819E1F8: evas_object_event_callback_call (evas_callbacks.c:404)
==20443==    by 0x81E6B23: evas_object_inform_call_show (evas_object_inform.c:13)
==20443==    by 0x81DECA2: _show (evas_object_main.c:1689)
==20443==    by 0x81DF0E7: _efl_canvas_object_efl_gfx_visible_set (evas_object_main.c:1810)
==20443==    by 0xDD670B9: efl_gfx_visible_set (efl_gfx.eo.c:21)
==20443==    by 0x81DEA93: evas_object_show (evas_object_main.c:1639)
==20443==    by 0x483706: _e_comp_intercept_show_helper (e_comp_object.c:1754)
==20443==    by 0x483761: _e_comp_intercept_show (e_comp_object.c:1768)
==20443==    by 0x81E7536: evas_object_intercept_call_show (evas_object_intercept.c:71)
==20443==    by 0x81E7ED2: _evas_object_intercept_call_internal (evas_object_intercept.c:103)
==20443==    by 0x81E88B0: _evas_object_intercept_call_evas (evas_object_intercept.c:236)
==20443==    by 0x81DF0CA: _efl_canvas_object_efl_gfx_visible_set (evas_object_main.c:1807)
==20443==    by 0xDD670B9: efl_gfx_visible_set (efl_gfx.eo.c:21)
==20443==    by 0x81DEA93: evas_object_show (evas_object_main.c:1639)
==20443==    by 0x4A6793: _e_desk_show_begin (e_desk.c:821)
==20443==    by 0x4A4E39: e_desk_show (e_desk.c:312)
==20443==    by 0x537C2E: _e_int_menus_clients_item_cb (e_int_menus.c:1624)
==20443==    by 0x548D3F: _e_menu_active_call (e_menu.c:2056)
==20443==    by 0x54ABFB: _e_menu_cb_mouse_up (e_menu.c:2789)
==20443==    by 0xC636B66: _ecore_call_handler_cb (ecore_private.h:325)
==20443==    by 0xC637B3F: _ecore_event_call (ecore_events.c:518)
==20443==    by 0xC641158: _ecore_main_loop_iterate_internal (ecore_main.c:2397)
==20443==    by 0xC63EC7E: ecore_main_loop_begin (ecore_main.c:1299)
==20443==    by 0x43DE81: main (e_main.c:1081)
==20443==  Address 0x20 is not stack'd, malloc'd or (recently) free'd
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz b76972b162 remove misleading null checks from _bar_cb_client_remove()
client events cannot be triggered without a client
2017-06-09 20:18:13 -04:00
Mike Blumenkrantz f16df40d2b use correct event struct in luncher's _bar_cb_client_remove() 2017-06-09 20:18:13 -04:00
Mike Blumenkrantz ca1638c672 simplify handling of new exec clients when adding luncher icons 2017-06-09 20:18:13 -04:00
Mike Blumenkrantz afcf6c6073 simplify _bar_check_for_duplicates() in luncher 2017-06-09 20:18:13 -04:00
Stephen 'Okra' Houston 16c05faabd Luncher: Allow the size of previews to be configurable. 2017-06-09 14:21:12 -05:00
Stephen 'Okra' Houston 456e899b44 Luncher: make sure all global handlers get created -- check for different luncher types in the callbacks. 2017-05-22 13:28:51 -05:00
Stephen 'Okra' Houston 171686f0a9 Luncher Improvements: Don't add multiple global handlers for the same events and don't show preview immediately for iconic.
This fixes T5377
2017-05-22 13:01:12 -05:00
Stephen 'Okra' Houston b539171077 Luncher: Make transitions such as engage smoother by including the icon spacers in events. 2017-04-28 15:15:22 -05:00
Stephen 'Okra' Houston b302f1047c Luncher: Make current preview tracking per instance. 2017-04-27 15:14:30 -05:00