Commit Graph

8112 Commits

Author SHA1 Message Date
Mike Blumenkrantz 62e1027509 try only 1 reconnect to pulse when mixer fails to init
this causes huge lag on failure with no termination case. if it fails
on the reconnect attempt then odds are it's never going to succeed
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz b58e380b19 simplify drm output update event by using randr screen refresh queuing
also moves all the output add/del into e_comp_wl
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz 773122db66 store output subpixel value to randr2 screen data during drm init 2017-06-16 15:00:12 -04:00
Mike Blumenkrantz c2e891bbf4 update wl_drm for recent efl_input_device api changes
@jpeg plz http://i1.kym-cdn.com/photos/images/original/000/312/563/05d.jpg
2017-06-12 05:48:32 -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
Mike Blumenkrantz 79ed10927e preserve cursor state in drm output during vt switch
#wew

ref T5483
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 7ff0e585ac Gadgets: Remove the word "Gadget" from the name of gadgets. 2017-06-08 15:27:24 -05:00
Derek Foreman 71f70ad8a5 Fix unused var compiler warning in wl_drm
Unused variable after my session activation cleanup
2017-06-07 12:11:59 -05:00
Derek Foreman 239101d95f Fix wl_drm session (de)activation callback
I missed this in my last commit - we probably shouldn't be calling
e_comp_render_queue or e_comp_shape_queue_block() after hiding the
ecore_evas anyway - and by removing the e_comp_shape_queue_block()
in the activation callback I made things asymmetrical.  Ungood.
2017-06-02 13:59:42 -05:00
Derek Foreman 5ce8bf3992 Fix wl_drm session activation callback
The code intended to force evas to redraw when we switch back from
another virtual console is failing to do so.  Remove it and replace
it with simpler code that successfully forces a redraw.
2017-06-02 13:49:06 -05:00
Mike Blumenkrantz 556bc10121 remove unnecessary comparison when applying new keyboard layout in gadget 2017-05-25 15:03:28 -04:00
Mike Blumenkrantz 9701588cc8 add error messages when symbols fail to resolve in xwl init
ref T5258
2017-05-24 10:10:07 -04:00
Mike Blumenkrantz c21c0d64eb always run client icon update path when creating xdg6 role surface
ensure that the client gets a desktop associated with it so that it
can be matched to exec instances
2017-05-24 10:10:07 -04: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 3b39279dfb Pager Gadget: Fix potential crash on screen changes such as screen size change. 2017-05-22 13:14:55 -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 e5c337abfb Mixer/Backlight: Set correct levels on creation.
This fixes T5500
2017-05-19 10:52:18 -05:00
Stephen 'Okra' Houston 7d095c3fe3 Sysinfo: Fix use for non linux/bsd os's.
This fixes T5485
2017-05-15 10:43:05 -05:00
Stephen 'Okra' Houston 9d0bcd9ce2 Gadgets: Send proper theme strings, and set aspect/size correctly. 2017-05-12 15:38:45 -05:00
Mike Blumenkrantz e110f912e2 don't dup fds during xwl bridged selection transfer, this happens in libwayland 2017-05-12 12:08:37 -04:00
Mike Blumenkrantz 203507fa22 add desklock interface handler for key press
key presses during desklock should only be received by the lock implementation
and not by any other handler. this ensures that nothing unexpected can happen
with focus and simplifies overall key handling
2017-05-12 12:08:37 -04:00
Stephen 'Okra' Houston ac2c9a220f Backlight Gadget: Properly set on hold events. 2017-05-12 09:57:48 -05:00
Stephen 'Okra' Houston 20f94cec74 Bryce/Gadgets: Add backlight, xkbswitch, and mixer gadgets. This should round out the core gadget ports.
All three of these gadgets are ports of the existing modules of the same name and are contained within those directories.  Once the move from shelves -> bryce and gadcon->gadgets is complete, backlight and mixer will likely need to go into the sysinfo gadget.
2017-05-11 17:13:15 -05:00
Carsten Haitzler 8ea03a039f e cpufreq - stop checking status nullness - silence coverity
status is a msg from the child thread. it's never null. checks before
sending should guarantee that.

fix CID 1365406
2017-05-11 17:14:28 +09:00
Andy Williams 3c7c797e14 Add Change Wallpaper item in Desktop menu.
Also re-arrange Desktop menu to be more frequently used order
2017-05-05 22:34:21 +01: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
Al 'netstar' Poole 89feae2b86 Sysinfo: Fix interger overflow on BSD.
This commits D4810
2017-04-27 15:19:44 -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
Marcel Hollerbach 79996f9bdb tiling: fix compile warning
item got set but never used
2017-04-19 17:31:47 +02:00
Marcel Hollerbach b5ad46b33b tiling: extra can be NULL here
Which is the case when the client is not tiled. So better checking for
it.

fixes CID 1373271
2017-04-19 17:31:47 +02:00
Stephen 'Okra' Houston 43ebf4a011 Xkbswitch: Use E_Dialog (which uses elm) instead of elm_win directly to make use of built in extra features. 2017-04-17 14:08:03 -05:00
Mike Blumenkrantz c37ce1cccd explicitly set nested wl output canvas as a toplevel window
this is not an elm win so it needs to be set by the module
2017-04-14 11:48:43 -04:00
Al 'netstar' Poole c282341ed8 Sysinfo: Make memusage and cpumonitor work better on BSD.
This commits D4749
2017-04-11 16:34:37 -05:00
Mike Blumenkrantz a5cc19bd1a remove unused struct members from wl E_Comp_Wl_Client_Data 2017-04-07 16:08:38 -04:00
Mike Blumenkrantz 3b12f89ebe re-set list of default desklock bgs when changing to custom bg in config
this list of bgs gets freed a lot, including in this case, which results in
the apply() function failing later after the bg has been changed

fix T5288
2017-04-07 16:08:38 -04:00
Mike Blumenkrantz 014db9469b use e_client_parent_set() in wl *shell parent setting methods 2017-04-07 16:07:25 -04:00
Marcel Hollerbach 56246e0f08 mixer: be prepared for sinks without any volume
for the case that a sink does not have any volume we would access
NULL[0], which leads to a crash, this fixes that.

fix T5298
2017-04-07 11:53:56 +02:00
Marcel Hollerbach 8e3531648b tiling: fix zero sized zone
when plugging a screen in and out, there is the case that a zone has a
usefull geometry of 0x0, which means all clients on this zone are
resized to 0x0. Which leads to a CRIT message in the compositor, which
leads (ref commit 5d875e6a3d) to a abort()
which is really really annoying. Give here a short ERR about that case
so we are leaving out the compositor, since this really only strikes on
tiling, since in normal mode the client just keeps its size.
2017-04-05 10:08:21 +02:00
Carsten Haitzler 7557486ab3 fix crash in syscon when you press pr 2x in a row quickly to shutdown
not pretty but a fix... for now
2017-03-26 17:19:46 +09:00
Mike Blumenkrantz 6bb6f14b7c add debug for xdg6 configure 2017-03-24 13:17:24 -04:00
Mike Blumenkrantz d589e5217b unset wl shell resource data on destroy
ensure that destroy cannot be called multiple times for the same resource
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz 7e05eff3e3 only apply xdg-shell client del hooks to internal clients
ref 8173c06c4d
2017-03-24 13:17:24 -04:00
Marcel Hollerbach f190a00f16 tiling: display the hint on the zone if there is no client below 2017-03-22 19:51:50 +01:00
Marcel Hollerbach 954e1a390e tiling: update the indicator where the icons are dropped 2017-03-21 20:43:12 +01:00
Marcel Hollerbach 6732c37929 tiling: only start a drag when the cursor is really moved
otherwise a simple click on the header will init a completly drag, which
is often not desired.
2017-03-18 22:08:41 +01:00
Mike Blumenkrantz 7052c66e74 force sending of last-used geometry when terminating a resize in wl shell send_configure
in the event that a client has not yet committed the changes from the
most recent resize event, it's legal for a client to have acked the previous
configure, ack this one, and then do nothing

this ensures that the last resize event(s) sizes are applied by the client
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz 047f08a994 do not accidentally place unplaced clients during wl *shell configure 2017-03-17 13:16:59 -04:00
Mike Blumenkrantz 20dfb3c0df use show instead of bring_in for xkbswitch layout add dialog 2017-03-17 13:16:59 -04:00
Mike Blumenkrantz 235bbc087e rework how pulseaudio is started in mixer backend
calling `pulseaudio` starts a new daemon in the background. this is incorrect
behavior when a daemon already exists, so use --start. tracking the exe of
this process has no effect other than to determine when the fork()ing parent exits,
which is usually immediately

ref 35bb87529f
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz 7191c45de5 slow down mixer's pulse reconnect rate
0.2s is way too fast and results in crazy cpu usage from attempting to
spawn invalid pulseaudio instances in some cases

ref 35bb87529f
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz 0d8b33c15f use maximized geometry for shell maximize calls on wl clients if !buffer_commit
this is for setting the initial state of a surface as maximized, so do not use
animation geometry here
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz f11739230d set title for buffer output canvas 2017-03-17 13:16:59 -04:00
Mike Blumenkrantz 118a70730f handle nested compositor delete requests
the previous implementation of this using ee callbacks broke during
elm integration since elm overrides all of those callbacks
2017-03-17 13:16:59 -04:00
Andy Williams d99fe0e02a luncher: Fix some wobble 2017-03-16 23:02:28 +00:00
Stephen 'Okra' Houston d85617cda7 xkbswitch: Remove e_widgets from the add dialog and replacing them with elm
This greatly improves the speed and sizing problems with the add layout dialog.
2017-03-15 16:44:47 -05: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
Al 'netstar' Poole 4e1d079aa8 Batman: Add multi-battery support for bsd based distros.
Differential was D4670
2017-03-13 14:59:39 -05:00
Stephen 'Okra' Houston 4549bf2f77 Luncher: Reset scale on mouse out or new effect. 2017-03-13 13:17:00 -05:00
Al Poole 955a21d5ef E keyboard settings - use the same icon as the keyboard settings dialog
Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4716
2017-03-13 12:33:38 -04:00
Al Poole ac5036af0f Fix macro namings in relation to endianness.
Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4714
2017-03-13 12:32:23 -04: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
Mike Blumenkrantz 4fc6fcf1e3 don't set minw for keyboard layout dialog
somehow this causes the dialog to size crazily for a couple seconds
before growing to its final size
2017-03-10 15:55:42 -05:00
Mike Blumenkrantz 8b0eb9ad8e do not start xwayland repeatedly
ref 0534c7ae6f
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz a7f708d568 add wl client flag to indicate status of xdg6 pre-buffer configure
ensure that initial configure is not sent more than once

ref T5044
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 5d62ec3cee make E_COMP_SIZE a global comp resizing env var 2017-03-10 15:55:06 -05:00
Mike Blumenkrantz 7828db4575 track and delete xdg-shell client hooks
fix T5242
2017-03-10 15:55:06 -05:00
Marcel Hollerbach 1277ef9747 tiling: drop move requests from tiled clients 2017-03-10 21:44:08 +01:00
Marcel Hollerbach 2faf052f0d tiling: handling dragging from desk to desk
There are a few cornercases when dragging clients between a tiled and a
untiled one.
2017-03-10 13:49:58 +01:00
Marcel Hollerbach 37be0cf885 tiling: handle the tiling state correctly when on multimonitor
there is no event that indicates that the mouse went to a other zone. To
solve this we simply update the current split type each time when
changing or using the type.
2017-03-10 13:49:44 +01:00
Marcel Hollerbach d1e2d1068a tiling: save the split type per desk
this allows you to have different types per virtual desktop
2017-03-09 23:06:23 +01:00
Marcel Hollerbach 44b5aec991 tiling: refactor the window tree
there are two functions to insert a client, they should perform the same
operations on the parameters.
2017-03-09 19:31:56 +01:00
Marcel Hollerbach 35e729f941 tiling: make windows placable by dragging them arround
If someone starts to drag a client arround, then the client will shrink
into a icon, that now is always at the position of the mouse cursor, if
the drag ends, the client will be placed in the client currently below
it. The client will be placed in a place where the mouse cursor was
currently closer to.
2017-03-09 13:59:48 +01:00
Stephen 'Okra' Houston 9b211b80c3 Luncher: Begin work to handle engage sizing correctly. 2017-03-08 18:21:15 -06:00
Stephen 'Okra' Houston 3ba67bbf3b Sysinfo: Use the correct define for DragonFly. 2017-03-05 17:31:47 -06:00
Marcel Hollerbach fe50e1edf0 tiling: do not pass parent as relative
otherwise the client does not get into the list of parent
2017-03-04 09:19:47 +01:00
Mike Blumenkrantz 3753586663 set ON_HOLD when activating start gadget 2017-03-03 10:49:33 -05:00
Mike Blumenkrantz 9e54e62447 fix dangling pointers in xdg-shell deletion
partially caused by use of wrong hash, partially by failure to remove
list entries

fix T5235
2017-03-03 10:49:33 -05:00
Stephen 'Okra' Houston 2847c24e69 Luncher: Check popup status on the correct client. 2017-02-28 11:01:06 -06:00
Chris Michael 96e63d863f Revert "reverse order of shell binding in wl_desktop_shell module"
Reverting the shell order commit in favor of a better approach as
discussed on IRC.

This reverts commit 9b457513e4.
2017-02-28 11:36:23 -05:00
Chris Michael 9b457513e4 reverse order of shell binding in wl_desktop_shell module
Small patch to reverse order of shell binding so that we always
support the newest shell first and fallback to older ones.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 11:26:52 -05: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
Marcel Hollerbach fa0d585aa5 tiling: insert a client in the place where it is currently placed
With this patch we are inserting a client in the tiling tree where it is
currently placed in floating mode.
2017-02-25 17:02:06 +01:00
Mike Blumenkrantz cfc538ca55 remove all unnecessary efl version checks
the version of efl required by configure is already higher than these checks
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e33c01cdce add new explicit method for enabling backlight depending on output type
ensure that nested compositors don't mess with backlight
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz ec601e49d1 register wl_buffer output canvas for input events 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e4a89cf0ed save config when toggling option to disable startup splash
broken since 2013
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 98ab29ea3c add event for xwayland init 2017-02-24 14:15:38 -05:00