Commit Graph

107 Commits

Author SHA1 Message Date
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 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
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 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
Stephen 'Okra' Houston c470a4fc33 Luncher: Improve sizing, animations (including engage), and the functionality of a bar on the desktop. 2017-04-27 15:02:47 -05:00
Stephen 'Okra' Houston b09e17baae Luncher - Set an icon to inactive when the preview is dismissed as well as on mouse out. 2017-04-26 13:21:08 -05:00
Stephen 'Okra' Houston 33bc90da6a Luncher: Improve mouse in/preview management and fix luncher bar on the desktop. 2017-04-26 13:10:55 -05:00
Stephen 'Okra' Houston 2ef7a12441 Luncher: Show previews on client creation if the point is inside of the corresponding icon. Pass events on popups once they are deleted.
This fixes the issue where you will have to mouse out then mouse in again to be able to see previews on icons that you just clicked to start.
2017-04-26 11:53:27 -05:00
Andy Williams d99fe0e02a luncher: Fix some wobble 2017-03-16 23:02:28 +00:00
Stephen 'Okra' Houston d65945d1cd Luncher: Show the preview popup based on icon placement. 2017-03-13 20:59:44 -05:00
Stephen 'Okra' Houston 8d07ad7845 Luncher: Don't try to perform aspect set on a deleted bar. 2017-03-13 17:40:43 -05:00
Stephen 'Okra' Houston 4549bf2f77 Luncher: Reset scale on mouse out or new effect. 2017-03-13 13:17:00 -05:00
Andy Williams f68b8f1567 luncher: Smoothing animations 2017-03-11 23:12:57 +00:00
Andy Williams 28e5b5e82b luncher: update aspect ratio calculations
@fix
2017-03-10 22:16:49 +00:00
Mike Blumenkrantz 701e046b0b clear luncher instance icons on bar deletion
==21266== 3,488 (96 direct, 3,392 indirect) bytes in 2 blocks are definitely lost in loss record 10,417 of 10,680
==21266==    at 0xE1E5D49: _eina_chained_mempool_alloc_in (eina_chained_mempool.c:212)
==21266==    by 0xE1E5FDC: eina_chained_mempool_malloc (eina_chained_mempool.c:324)
==21266==    by 0xE1A016E: eina_mempool_malloc (eina_inline_mempool.x:90)
==21266==    by 0xE1A03C2: _eina_list_mempool_list_new (eina_list.c:222)
==21266==    by 0xE1A11C5: eina_list_append (eina_list.c:578)
==21266==    by 0x2910B667: _bar_fill (bar.c:1565)
==21266==    by 0x2910D1A5: _bar_recalculate_job (bar.c:2047)
==21266==    by 0xC602C2C: _ecore_job_event_handler (ecore_job.c:98)
==21266==    by 0xC5FBBCE: _ecore_call_handler_cb (ecore_private.h:317)
==21266==    by 0xC5FCB5D: _ecore_event_call (ecore_events.c:518)
==21266==    by 0xC605EEB: _ecore_main_loop_iterate_internal (ecore_main.c:2381)
==21266==    by 0xC603C99: ecore_main_loop_begin (ecore_main.c:1289)
==21266==    by 0x43DD0D: main (e_main.c:1089)
2017-03-10 15:55:42 -05:00
Stephen 'Okra' Houston 9b211b80c3 Luncher: Begin work to handle engage sizing correctly. 2017-03-08 18:21:15 -06:00
Stephen 'Okra' Houston 2847c24e69 Luncher: Check popup status on the correct client. 2017-02-28 11:01:06 -06:00
Stephen 'Okra' Houston 7d0cfacb80 Luncher: Check for popups when determining clients to add to the tasks. 2017-02-28 10:08:44 -06:00
Stephen 'Okra' Houston 2ef2c37062 Luncher: Add config options to function only as a launcher, only as a taskbar, or as both. 2017-02-27 20:57:18 -06:00
Stephen 'Okra' Houston 3ce76c66d2 Luncher: Unify icon image file setting code. 2017-02-22 11:05:55 -06:00
Marcel Hollerbach bcea889340 luncher: null out the watchter when the watcher is stopped
before a exec instance is freed all the watchers are stopped, so we
should NULL the watcher out here.

fixes T4963
2017-02-18 17:31:29 +01:00
Marcel Hollerbach 09091bb133 luncher: fix hash table usage
... OKRA!

the hash tables wants a pointer to a pointer. Not just a pointer.

fix T4970
2017-02-18 13:20:31 +01:00
Mike Blumenkrantz 3d3e5e67fb plug list leak in luncher
==25839== 8,576 (6,432 direct, 2,144 indirect) bytes in 134 blocks are definitely lost in loss reco$
==25839==    at 0xE812A41: _eina_chained_mempool_alloc_in (eina_chained_mempool.c:212)
==25839==    by 0xE812CD4: eina_chained_mempool_malloc (eina_chained_mempool.c:324)
==25839==    by 0xE7CCFED: eina_mempool_malloc (eina_inline_mempool.x:90)
==25839==    by 0xE7CD241: _eina_list_mempool_list_new (eina_list.c:213)
==25839==    by 0xE7CE044: eina_list_append (eina_list.c:569)
==25839==    by 0x29E2CF07: _bar_check_for_duplicates (bar.c:58)
==25839==    by 0x29E30D7F: _bar_cb_exec_client_prop (bar.c:1281)
==25839==    by 0xDBD7AF6: _ecore_call_handler_cb (ecore_private.h:317)
==25839==    by 0xDBD8A85: _ecore_event_call (ecore_events.c:518)
==25839==    by 0xDBE1AEF: _ecore_main_loop_iterate_internal (ecore_main.c:2380)
==25839==    by 0xDBDF89D: ecore_main_loop_begin (ecore_main.c:1290)
==25839==    by 0x441C04: main (e_main.c:1093)
2017-02-10 17:24:13 -05:00
Stephen 'Okra' Houston 671f881e42 Luncher/Batman: Don't access an invalid icon structure. 2017-02-10 16:22:49 -06:00
Stephen 'Okra' Houston 67a59e5df5 Luncher: Determine if client icon is an evas_object_image or edje_object. 2017-02-08 17:44:25 -06:00
Stephen 'Okra' Houston ed1d8ac971 Luncher: Don't update and show the preview on client del unless the preview exists. 2017-02-07 11:48:09 -06:00
Stephen 'Okra' Houston e41dfc7d5b Luncher: Remove closed clients from the preview popup if visible, and close the popup if no more clients are active.
This fixes T5097
2017-02-06 11:12:43 -06:00
Stephen 'Okra' Houston a89afe4186 Luncher - Free hashes at the appropriate time. 2017-02-06 10:45:58 -06: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