Commit Graph

18703 Commits

Author SHA1 Message Date
Michaël Bouchaud (yoz) b65cb5df92 mixer: add volume control to e_client menu
Add a button to the window menu, when clicked this one make a new window to
control the volume of the app.

@features
2016-10-27 22:34:17 +02:00
Michaël Bouchaud (yoz) 718ef898d7 e_client: add a volume control to the window theme
This commit brings 2 objects to the group "e/widgets/border/default/border", an
icon and a slider. If you click the icon the volume is muted.
The slider set the volume level.

Theme part added "e.swallow.volume_icon" and "e.swallow.volume"

@features
2016-10-27 22:34:13 +02:00
Michaël Bouchaud (yoz) 6e8070d226 e_remember: add e_client sound volume support
@features
2016-10-27 21:54:40 +02:00
Michaël Bouchaud (yoz) 307f0831ce mixer: use the new e_client api to export volume control by app.
We use the pulseaudio backend to export volume control by app.
This commit introduce 3 news shortcuts to control the volume with the current
focused window.

@features
2016-10-27 21:54:40 +02:00
Michaël Bouchaud (yoz) 06ea6cadbd E_Client: add an abstraction api to control volume by app
This api give the possibility to add sink to an E_Client and control the volume
or the mute state of the sinks associated with this E_Client.

@features
2016-10-27 21:54:39 +02:00
Michaël Bouchaud (yoz) 1943cee080 mixer: fix the volume conversion calc into pulseaudio backend
a get and a set don't give the same result

@fix
2016-10-27 21:54:39 +02:00
Mike Blumenkrantz f434891137 redo session recovery handling to use separate E_Remember
I tried to be too clever with the initial implementation of this and it was
a lot more complex and nonfunctional than expected
2016-10-27 11:22:27 -04:00
Mike Blumenkrantz 653e671bf5 Revert "prevent editing of session recovery remembers"
This reverts commit 890008cdf2.
2016-10-27 10:35:01 -04:00
Mike Blumenkrantz 6b7631d204 Revert "update secondary remembers when a session recovery remember is updated"
This reverts commit 10eb06b377.
2016-10-27 10:34:27 -04:00
Mike Blumenkrantz b640872edf Revert "only find the session recovery remember if ec->remember is not it"
This reverts commit 8e61889336.
2016-10-27 10:34:14 -04:00
Mike Blumenkrantz 98bc594299 Revert "correctly handle applying of non-SR remember in remember config"
This reverts commit 62068912e9.
2016-10-27 10:34:05 -04:00
Mike Blumenkrantz a9d0a27ea3 add generic handler for desktop gadget layers
...and a menu item for triggering basic editing
2016-10-26 13:59:29 -04:00
Mike Blumenkrantz 6c16988adc calc new gadget size based on ratio of size:target site size
no use case for this yet...
2016-10-26 13:58:15 -04:00
Mike Blumenkrantz edee519304 copy gadget position from pointer gadget -> drop gadget when executing drop
fixes desync which would cause gadgets to move offscreen
2016-10-26 13:57:07 -04:00
Mike Blumenkrantz 0b40aade50 force gadget site recalc on gadget object creation to ensure sizing
fixes initial sizing for no-orient gadget sites
2016-10-26 13:55:45 -04:00
Mike Blumenkrantz ef2cb47daf handle no-orient gadget visibility based on site->events visibility 2016-10-26 13:54:25 -04:00
Mike Blumenkrantz 87515abd2a force recalc on bryce scroller when doing recalc on gadget site
should have no functional change
2016-10-26 11:33:12 -04:00
Mike Blumenkrantz 3e6f2f1fa7 add workarounds for ctxpopup geometry for use in input shape tiling
ref T4687
2016-10-26 10:28:30 -04:00
Derek Foreman 2af066c97a Remove EVAS_CALLBACK_HIDE on shelf when freeing
Prevents a use after free when an evas callback fires later.
2016-10-25 14:12:15 -05:00
Derek Foreman 30e9f45dfc Block session recovery for internal windows 2016-10-25 14:12:15 -05:00
Mike Blumenkrantz 4251e12462 bump modapi 2016-10-25 12:02:15 -04:00
Mike Blumenkrantz ef33638c42 create substruct for E_Comp to put canvas objects into
allow adding/removing objects in the future without breaking abi
2016-10-25 12:01:17 -04:00
Mike Blumenkrantz 989675f310 force min size on wireless popup during show
box+list inside a ctxpopup may result in an unreliable min size at the time
of show, so force the size wanted at this time in order to avoid positioning
errors
2016-10-25 11:30:23 -04:00
Chris Michael 2c096f685c Revert "reset elementary softcursor config on shutdown"
This reverts commit bdd290591c.

Reverting this as we need to find a better way to handle mouse
pointers on EFL Wayland Clients.
2016-10-25 11:06:07 -04:00
Chris Michael d4b9ad591e Revert "disable elementary softcursor mode for wayland compositing"
This reverts commit f7592166eb.

Reverting this as we need to find a better way to handle mouse
pointers for EFL Wayland Clients.
2016-10-25 11:06:07 -04:00
Joshua McBeth ec37884a31 add dbus message 'org.enlightenment.wm.Window.SendToDesktop'
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2016-10-25 10:45:59 -04:00
Chris Michael bdd290591c reset elementary softcursor config on shutdown
This is needed because if we shutdown E then try to run EFL apps in
Weston, the Elm Softcursor mode would have been saved as 'off' so we
should be sure to reset this.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-25 07:44:41 -04:00
Chris Michael f7592166eb disable elementary softcursor mode for wayland compositing
This commit disables elementary softcursor mode when running as a
wayland compositor. This stops any EFL Wayland Client apps from
creating their own mouse pointer and thus we do not have 2 mouse
pointers on EFL apps anymore.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-24 13:52:09 -04:00
Mike Blumenkrantz 21422fd256 trigger zone geometry events when updating zone/desk obstacles 2016-10-21 10:02:24 -04:00
Mike Blumenkrantz 3e186b1509 reject successive zone_geometry_dirty() calls
no point in thrashing the compositor if events are already pending
2016-10-21 10:01:50 -04:00
Mike Blumenkrantz 62068912e9 correctly handle applying of non-SR remember in remember config
fix T4512
2016-10-20 12:15:03 -04:00
Mike Blumenkrantz e365848406 apply non-session recovery remember to client when creating recovery remember
ensure that the attributes get applied before engaging SR mode

ref T4512
2016-10-20 12:14:16 -04:00
Mike Blumenkrantz 8e61889336 only find the session recovery remember if ec->remember is not it
ref T4512
2016-10-20 12:13:22 -04:00
Mike Blumenkrantz 41f5a3e1fd loop bryce autosize recalc when gadget site has not yet calculated its size
fixes moving of autosizing bryces
2016-10-20 12:12:27 -04:00
Mike Blumenkrantz fb94f1e069 rename bryces when changing anchors 2016-10-20 12:11:39 -04:00
Mike Blumenkrantz 8bf7999c31 add gadget site sizing workaround to avoid elm box sizing desync
ref T4747

fix T4732
2016-10-19 11:38:34 -04:00
Mike Blumenkrantz 2c4316633b avoid extra recalc when resizing a bryce on its oriented axis 2016-10-19 11:38:04 -04:00
Mike Blumenkrantz e690d70512 set ON_HOLD flag more accurately when activating gadget actions
fixes handling of actions which have same binding as gadget site's container bindings
2016-10-19 11:13:32 -04:00
Mike Blumenkrantz 39d561c8b4 fix bryce upgrade path from 0 -> 2 re:naming 2016-10-18 10:59:04 -04:00
Mike Blumenkrantz 7a06a6b661 trigger bryce menus from right click if event has not been consumed 2016-10-17 12:44:32 -04:00
Mike Blumenkrantz b9afecde41 remove unused attribute from used param 2016-10-17 12:44:08 -04:00
Mike Blumenkrantz 491b18b920 set ON_HOLD flag when triggering gadget mouse buttion actions
allow detection that this event is being consumed
2016-10-17 12:42:28 -04:00
Mike Blumenkrantz 79b24ea884 handle gadget_popup smart callback on gadget's display object
fixes case where this signal was not accurately propagated

ref T4732
2016-10-17 11:57:05 -04:00
Mike Blumenkrantz d5847e8ca6 call gadget_popup smart callback when configuring gadgets
ensure visibility changes are received by containers

ref T4732
2016-10-17 11:56:32 -04:00
Mike Blumenkrantz d0e21c912a add gadget_site_(un)locked smart callbacks for forcing gadget site visibility
useful for cases where the gadget site has no popups to manage but visibility must
be maintained

ref T4732
2016-10-17 11:55:23 -04:00
Mike Blumenkrantz ae628b214b force bryce visibility during editor activity
ref T4732
2016-10-17 11:25:43 -04:00
Mike Blumenkrantz 7dc0930c8a add new flag for zone edge objects to allow shape cutting while repeating events
fixes case where edge binding would (possibly) trigger but then not allow input
to any canvas objects at the screen edge
2016-10-17 11:18:46 -04:00
Mike Blumenkrantz dece6a5514 also do full bryce rename when moving between zones 2016-10-14 08:10:43 -04:00
Mike Blumenkrantz b86efbe301 further improve bryce portability across zones
also fix typo from yesterday which broke everything and was definitely not
noticed by anyone
2016-10-14 08:03:43 -04:00
Mike Blumenkrantz ebefa49e4b do not check for shelf/bryce existence in opposing anchorages during bryce wizard
fixes false positives when detecting positions
2016-10-13 11:27:43 -04:00
Mike Blumenkrantz afa358fa9e add zone number to bryce names
fixes usage of bryces in identical setups on different zones
2016-10-13 11:27:40 -04:00
Mike Blumenkrantz d5ada5c1d5 fix bryce check for shelf existence on orientation/anchor to break when expected
restores missing anchor points when adding/moving bryces
2016-10-13 11:27:40 -04:00
Mike Blumenkrantz baa7e85e61 add EINTERN function for renaming gadget sites 2016-10-13 11:27:12 -04:00
Mike Blumenkrantz a9bab812ec enforce bryce resizing when orientation changes
screens are not square, so this would never have worked
2016-10-13 11:20:21 -04:00
Marcel Hollerbach 838dde02ee mixer: we changed that name when we merged the mixer in 2016-10-11 14:16:53 +02:00
Marcel Hollerbach f0ef2198c5 wizard: make page 065 translatable
we should use here the translation for plural or singular, everything
else makes it hard to translate

This commit also adds the file to POTFILES so it gets recognized by the
pot file
2016-10-11 14:16:52 +02:00
Mike Blumenkrantz ad3d0bd8c5 split wl_desktop_shell into separate files per shell
this should make it easier to selectively disable shells, and it will
definitely simplify future shell additions
2016-10-10 11:30:52 -04:00
Mike Blumenkrantz abb97ca0fb force zone useful geometry recalc on desk flip if prev/next desk has obstacles
ensure that this gets calculated accurately any time it's applicable
2016-10-04 09:22:05 -04:00
Mike Blumenkrantz 0354f8a5b1 remove unused variable
ref b83cfb858c
2016-10-04 09:22:05 -04:00
Mike Blumenkrantz e20b439020 handle "unmaximize" smart callback differently depending on fullscreen state
this is a bit hacky, but it seems to provide accurate results to fix more maximize bugs

ref c29157189f
2016-10-04 09:22:05 -04:00
Carsten Haitzler 1afddc3b5e explicitly use eina list types passing into EINA_LIST_FREE() 2016-10-03 11:55:55 +09:00
Mike Blumenkrantz 2642e8c95a clamp gadget util ctxpopups to E_LAYER_POPUP at the lowest
avoid having these be obscured by windows when the gadget is on a lower layer
2016-10-02 09:35:40 -04:00
Mike Blumenkrantz 7cbca19705 print object type in shape debug if name does not exist 2016-10-02 09:34:48 -04:00
Mike Blumenkrantz b47b3cd75f force shape queue when gadget util ctxpopups change visibility
fixes some input region issues in x11
2016-09-30 12:59:10 -04:00
Mike Blumenkrantz 9d63a1db3e do not show wireless gadget popups if desklock is active
this gadget may be allowed on lockscreen, but configuration should be disabled
2016-09-28 10:43:00 -04:00
Mike Blumenkrantz ab56bc4662 remove (wrong) setting of layer for time's clock gadget popup
e_gadget_util_ctxpopup_place() already handles this correctly
2016-09-28 10:41:21 -04:00
Mike Blumenkrantz b83cfb858c remove x11 input window from desklock grab process
now the compositor canvas is grabbed, simplifying handling of grabs which
persist through the desklock activation
2016-09-28 10:40:38 -04:00
Mike Blumenkrantz 90fcc55f1e add e_util_open(), unify all callers of enlightenment_open
ref adbba1042b
2016-09-27 11:19:00 -04:00
Mike Blumenkrantz bb53d4606f do not consume key events in comp autoclose key callback if desklock is active
fix T4655
2016-09-27 10:59:52 -04:00
Derek Foreman e4da5ba56a Auto generate wayland protocol
Replaces any checked-in wayland protocol files with auto-generation.

In some cases this means renaming include files that didn't use "standard"
names, or adding missing xml files.  Any source edits are simple search and
replace, there should be no functional changes.
2016-09-26 15:23:50 -05:00
Derek Foreman b7d37e9d51 Add the capability to auto-generate protocol code and headers
We'd like to drop all the generated files and keep just the xml files.

This is a step in that direction but we've been naming things irregularly
and some of our checked in generated code doesn't have an associated xml
yet, so this'll be a bit of a process.
2016-09-26 15:23:50 -05:00
Carsten Haitzler adbba1042b e exec - fix exec of enlightenment_open to use actual e prefix
so this code path was using the COMPILED IN prefix like broken
old-school unix apps that cannopt be relocated. efl and e have runtime
prefix detection so use it properly. stop doing things the broken way
just because people have written broken code for 30+ years and
continue to. we don't do that in e/efl land.

@fix
2016-09-25 23:53:08 +09:00
Stephen Houston 5b2f952c85 Introduce pager gadget using new gadget api. 2016-09-23 10:17:54 -04:00
Derek Foreman 22a99c5b5a NULL out xwayland fd handlers after deleting them
This fixes a valgrind error that can happen when we accidentally
free these again later because they still had non-NULL values.
2016-09-21 16:45:57 -05:00
Derek Foreman 494f76b0ab Don't kill self during shutdown
When Xwayland is running we end up with a client with the same pid
as the compositor in the client list.  We need to avoid killing that
client, as it will interrupt the proper shutdown procedure.

fix T4439
2016-09-21 16:45:57 -05:00
Cedric BAIL ff0b513daa Revert "protect against non-nul terminated string from mmap in filepreview"
This reverts commit 5861d9bef9.

T4543 was already fixed by ae23533b0d.
2016-09-21 09:34:31 -07:00
Carsten Haitzler 5861d9bef9 protect against non-nul terminated string from mmap in filepreview
this should address 2nd gdb bt and fix T4543

@fix
2016-09-21 20:19:01 +09:00
Mike Blumenkrantz 0074c1ca27 remove extraneous recalc trigger when deleting a gadget
CID 1362898
2016-09-21 07:12:49 -04:00
Mike Blumenkrantz 509443af55 do not update bryce layer when restacking to a higher layer than CLIENT_ABOVE 2016-09-20 12:46:48 -04:00
Mike Blumenkrantz f700a57baf clean up gadget drop handlers correctly
use drop_handler_del when deleting gadget drop handlers, also delete spacer rects
2016-09-20 12:46:46 -04:00
Mike Blumenkrantz 17909e4fb5 always delete gadget's display object and ensure gadget object is null
fixes some object errors during container deletion
2016-09-20 11:20:22 -04:00
Cedric BAIL ae23533b0d fix text preview to use eina_strbuf_append_length that doesn't call strlen and crash. 2016-09-19 14:50:57 -07:00
Mike Blumenkrantz a85d142b93 force bgpreview widget to resize after a wallpaper update
ref be1b11ca28

fix T4632
2016-09-19 16:18:48 -04:00
Mike Blumenkrantz 09cf90b05a add gadget doc note for gadget_destroyed callback re:object lifetimes 2016-09-19 16:18:47 -04:00
Mike Blumenkrantz d1953c2205 always use largest available size for free-oriented gadgets
ensure that gadgets don't unexpectedly clamp to minimum size
2016-09-19 15:50:55 -04:00
Mike Blumenkrantz 9439228816 add backspace/delete for clearing all lockscreen gadgets
this was turning into a total wasteland
2016-09-19 15:18:06 -04:00
Mike Blumenkrantz 682dd5f835 check visibility of gadget site 'events' member to determine drop availability
the layout object of a gadget site does not need to be visible since it may be
used for desktop gadgets or a transparent overlay
2016-09-19 15:04:47 -04:00
Mike Blumenkrantz b5701bdb1b adjust gadget drop coords for pointer offset
gadgets are centered on the pointer when moved, so the drop coord needs to
then be uncentered to avoid unintended movement
2016-09-19 14:55:53 -04:00
Mike Blumenkrantz d4450d8eb6 attempt to retain gadget size when executing move operations 2016-09-19 14:55:28 -04:00
Mike Blumenkrantz 8923415f8b force smart calc on gadget sites at key points during move operations
ensure that gadget info and visuals match up
2016-09-19 14:54:35 -04:00
Mike Blumenkrantz 4dd99ed669 add separate codepath for handling layout of moving gadgets
these get sized and positioned in a passthrough manner, so avoid doing any calc
2016-09-19 14:53:20 -04:00
Mike Blumenkrantz 42056009a5 set gadget added flag any time a gadget is created or wizarded
ensure that desktop gadget editor doesn't exit when attempting to add
subsequent gadgets
2016-09-19 14:32:20 -04:00
Mike Blumenkrantz 6ee205ec57 use same layer in bryce editor for "above window" setting 2016-09-19 09:56:38 -04:00
Mike Blumenkrantz 9313121e79 clamp bryces to a lower canvas layer
note to self: if you remember why you had these at POPUP, annotate the reason
here...
2016-09-19 09:54:21 -04:00
Mike Blumenkrantz f456215828 always use compositor object stacking when performing internal drags
attempting to use a client window for any internal drag operation will always
yield wrong results and broken behavior

ref 1a982fd72a
2016-09-16 18:05:07 -04:00
Mike Blumenkrantz eea3bdfacf handle e_comp deref during e_dnd shutdown to avoid crash 2016-09-15 15:10:42 -04:00
Mike Blumenkrantz ca7bc28286 set the spacer rect as the drop handler base when creating gadget drop handlers
this provides layering info to dnd internals
2016-09-15 14:48:28 -04:00
Mike Blumenkrantz 2d9ee4233e use comp canvas win by default for any drop handler with an E_Object
this is always going to be the case anyway
2016-09-15 14:48:28 -04:00
Mike Blumenkrantz c29157189f move 'unmaximize' smart callback to after geom calc in client_unmaximize
fixes some cases where geometry wouldn't be accurately calculated, such as when
fullscreening a flash video in a browser
2016-09-14 10:31:02 -04:00
Marcel Hollerbach eed35d3c4f mixer: lock up the slider for the case a drag is in progress
if you click on the slider in the gadget the slider jumps a back to the
old volume and then to the new volume, this is because a pulseaudio
update is sent while the last changed event was called, but not the
drag_stop callback.
2016-09-14 10:43:17 +02:00
Derek Foreman def99a337f Fix error print when wl_wl fails to start
Probably copypastad from wl_drm, very confusing.
2016-09-13 10:34:35 -05:00
Simon Lees (SUSE) 98f5c62291 Also set QT_STYLE_OVERRIDE
Qt 5.7 has introduced an extra enviornment var for getting Qt/KDE
apps to follow gtk theming so we will export that alongside the
one that we already support.

Thanks to AJSlye for finding reporting and figuring this out.
2016-09-13 13:54:11 +09:30
Marcel Hollerbach f97f8f61ac ibar: multiply size with scale
This fixes T4544.
2016-09-10 10:17:59 +02:00
Mike Blumenkrantz edb895ee91 bump modapi
prevent abi breakage in modules
2016-09-09 11:38:08 -04:00
Mike Blumenkrantz 528cdd2614 remove more useless E_Comp struct members 2016-09-09 11:38:08 -04:00
Mike Blumenkrantz 94f6b03ec3 remove E_Comp->name
this served no purpose
2016-09-09 11:38:08 -04:00
Mike Blumenkrantz 013a8e3e4b add docs for E_Comp struct members 2016-09-09 11:38:08 -04:00
Derek Foreman dc2bad0fcd bump ecore_drm2 dependency, update to latest beta API 2016-09-08 11:51:36 -05:00
Mike Blumenkrantz 0a9b8889e0 do not attempt to populate gadgets during type_add if site has not yet been populated
mostly just fixes some ERRs on init
2016-09-08 10:29:22 -04:00
Mike Blumenkrantz 4e7c505536 add event handler for evry event type, not #define value
fix T4007
2016-09-08 10:27:05 -04:00
Al Poole fddcaa43c4 OpenBSD non-PAM lokker authentication.
Reviewers: ManMower, zmike!

Subscribers: raster, ManMower, cedric

Differential Revision: https://phab.enlightenment.org/D4204
2016-09-08 10:18:10 -04:00
Chris Michael adfa905e09 add missing EINA_UNUSED for function parameter
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-07 09:03:10 -04:00
Chris Michael ebfa4a97cd Remove unused variables from ibar_resize_handle function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-07 08:57:41 -04:00
Marcel Hollerbach 1a3086b2c2 mixer: introduce emix_max_volume_get
This lets the module decide what its maximum value is.
Everything over 100% is considered overloading. And is protected by the
mixer and the gadget.
2016-09-07 11:05:11 +02:00
Marcel Hollerbach 1da2bbcd9c mixer: introduce Barrier checks
in this barrier checks the module checks that the user is explicit going
over the value of 100%
2016-09-07 11:05:11 +02:00
Mike Blumenkrantz 5da62d9adf add drop handlers for gadgets
a simple wrapper around existing e_dnd functionality
2016-09-06 11:12:31 -04:00
Marcel Hollerbach 686dc747d6 tiling: be more accurate on the description
As user reported, this could be a bit missleading.

fixes T4499
2016-09-06 16:43:23 +02:00
Marcel Hollerbach f5e4403164 tiling: place popup on the current active zone
Otherwise the popup will be where you are not looking at.

This patch adds a new function to e_comp_object where you can pass the
zone where you want to place the e_comp_object on.

ref T4499
2016-09-06 16:31:13 +02:00
Flavio Ceolin 5df7963ad1 emix: when in alsa mode only operate on master 2016-09-06 11:54:51 +02:00
Marcel Hollerbach 50030dc693 ibar: try to get a better min size
There are two cases, on a shelf and on the desktop.
If on a shelf we are using the height setting of the self, since max.w
max.h are only set after a few calcuations, and the gadget does not get
moved on a shelf which does not fade out, so the first min size
calculation must be correct.
If we are on the desktop max.w and max.h are not always 0.
There were some cases when none of this conditions are met. So this
patch enforces a mimum size of 40x40 pixels.
2016-09-02 17:14:58 +02:00
Derek Foreman c528245469 Don't send keyboard leave events to unfocused clients
This fixes a problem when focus moves between two xwayland clients.

My testing of gtk applications shows no regressions, bug if xdg_shell
popups start behaving oddly again, look here first.
2016-08-26 12:05:58 -05:00
Mike Blumenkrantz 3a561bb00a ignore xwl clients when flagging wl surfaces as internal
fix T4430
2016-08-26 10:51:20 -04:00
Mike Blumenkrantz b2dee35f41 another case of stringshare misuse re:efreet_mime_type_get()
ref 1cb47b1411
2016-08-26 10:23:30 -04:00
Mike Blumenkrantz 1cb47b1411 use stringshare_add() for evry files plugin mime types
the return of this function is not guaranteed to be stringshared
2016-08-26 10:17:05 -04:00
Romain Naour 7720039ad1 e_xkb: add guard around skip_new_keyboard
skip_new_keyboard is not available if HAVE_WAYLAND_ONLY is defined.

Fixes:
src/bin/e_xkb.c: Dans la fonction ‘_e_x_xkb_reconfig’:
src/bin/e_xkb.c:216:4: erreur : ‘skip_new_keyboard’ undeclared (first use in this function)
    skip_new_keyboard ++;

Signed-off-by: Romain Naour <romain.naour@gmail.com>
2016-08-22 11:08:36 -04:00
Mike Blumenkrantz 287e9637a8 delete previous wireless popup when activating editor from connection list
fixes case where newly-created popup would be deleted upon show, breaking
interactions
2016-08-19 12:15:31 -04:00
Mike Blumenkrantz 9a9e892825 clean up some string leaks in wireless gadget popups 2016-08-19 12:15:31 -04:00
Mike Blumenkrantz e662138af4 track current bryce geom, force recalc on gadget site upon change
elm scroller is very resistant to recalc, so it's necessary to trigger it
manually by resizing the scroller's contents

fix T4339
2016-08-19 12:15:31 -04:00
Mike Blumenkrantz 4d31e7fbba Revert "track/manage size hints for zoomap child objects"
This reverts commit 7b07b03c21.

this seems to have been solving a problem in the wrong way and created
map issues in some corner cases

ref T4339
2016-08-19 12:15:31 -04:00
Carsten Haitzler cde60c5840 e ipc - fix cleanup of ipc socket on shutdown
e never deleted its ipc dir or socket on shutdown. kind of bad. that
means every e rstart meant a new socket dir and file. a bit of a leak
when this happens to be often in a ramdisk. this should fix that and
have the socket dir and content nicely shut down on a clean shutdown

@fix
2016-08-19 12:01:39 +09:00
maxerba a1407ca224 Updating italian translation 2016-08-18 12:12:03 +02:00
Carsten Haitzler cec35867df ok - make pwople who \have not stared at c macros as long as i have happy
make it just {} instea dof do {} while (0) - as it seems that people
dont get confused by macros having this but do get confused when its
in code used as and indenter.
2016-08-18 14:34:15 +09:00
JengHyun Kang dca5cc2fa0 e_comp_wl: break from meaningless loop
Summary:
kbd.keys are only added from e_comp_wl_key_down().
         And in that function, duplicated keys are not add in the list.
         So only one key is going to be in the list.

Test Plan: Watch kbd.keys list during key press / release.

Reviewers: raster, devilhorns, zmike!, ManMower

Reviewed By: ManMower

Subscribers: duna.oh, input.hacker, cedric

Differential Revision: https://phab.enlightenment.org/D4230
2016-08-17 10:22:37 -04:00
Carsten Haitzler 796f50820a askpass env var - dont use 32byte buffer for path but use stringshare
use stringshare to have no limit on askpass path.
2016-08-16 16:16:05 +09:00
Carsten Haitzler 18aab4be01 e askpass - also set SSH_ASKPASS like with sudo
this means that is ssh runs with no tty/terminal available then it can
ask for a password with the same gui as for sudo that e provides.
2016-08-16 16:01:57 +09:00
Mike Blumenkrantz 54d446b05e add xwayland compat for efl 1.19+ 2016-08-15 10:51:57 -04:00
Carsten Haitzler 8d780c7fb5 e sudo gui support - add askpass util for sudo askpass support
this gives e by default sudo gui support with an askpass util that
sudo can use as well as setting the env var correctly so it will be
used by sudo.

@feature
2016-08-13 17:39:17 +09:00
Mike Blumenkrantz 3b21839615 clear wl subsurface data during delete only if subsurface is not also deleted
fix T4297
2016-08-08 11:38:32 -04:00
Romain Naour 8af42ec11d E: include uuid.h only when Wayland support is enabled.
libuuid is checked only when Wayland support is enabled and
uuid_t uuid is guarded by HAVE_WAYLAND.

So move include uuid.h below a HAVE_WAYLAND.

Signed-off-by: Romain Naour <romain.naour@gmail.com>

fix T4298
2016-08-08 11:36:54 -04:00
Mike Blumenkrantz 2f7e22ccf4 move new version of e_comp_top_window_at_xy_get() to dnd, restore old version
this resolves pointer-based focus issues introduced while attempting to
fix dnd-related bugs

ref a4a2f6b09e
ref 1a982fd72a
2016-08-08 11:31:28 -04:00
Mike Blumenkrantz b2d8803b95 improve quickaccess relaunch help dialog text
fix T4216
2016-08-08 11:23:58 -04:00
Carsten Haitzler e9246a336b Revert "Fix getting top object in comp canvas"
This reverts commit a4a2f6b09e.

No. you broke dnd AGAIN. try:

1. in X11 dnd to something that DOEs NOT accept xdnd. try xev. what e
will do is ignore the window and drop ONTO THe DESKTOP BG underneath
because it skips the window as if it were not there at all. this
involves losing files and finding them clustered on your desktop bg
where drops "diod nothing"
2. this seems to lead the the dnd hanging and not stopping on mouse
release. i need to right clikc to convince it to stop.
3. there's the case for xdnd clients that refuse the drop too - test
that!

this fixes this. try the above tests before working on this.
2016-08-06 13:24:26 +09:00
Marcel Hollerbach a484ee1df3 xwayland: show the dialog after ecore_wl2 is in sync
otherwise ecore_wl2 could produce crashes.
2016-08-04 16:38:51 +02:00
Marcel Hollerbach 10b753bf75 e_dnd: move the ungrab to the object free
otherwise there are cases where the ungrabbing is not executing, and
blocking input.
2016-08-04 16:38:51 +02:00
Marcel Hollerbach 66b4ff408e e_alert: define EFL_BETA_API_SUPPORT before any include
otherwise we can include half efl without api and the other parts with
beta api support, which leads to problems.

The current problem was that Eo.h was first included without the
EFL_BETA_API_SUPPORT, in Evas.h EFL_BETA_API_SUPPORT is defined, so the
header expects Eo_Callback_Priority to be defined.

@fix
2016-08-03 11:37:39 +02:00
Marcel Hollerbach 180abefc0c e_comp_wl: destroy e_drag when source disappears
Otherwise we are expecting a running dnd later, and accessing invalid
memory.
2016-08-03 11:35:47 +02:00
Carsten Haitzler 82c6bdf031 e comp - set alpha after setting native surface to avoid random crash
i noticed a crash on texture update with a previous garbage image data
ptr set before becoming a native suttface and so setting alpha would
cause a texture upload from a garbage pointer, so set native surface
then set alpha on or off so the data ptr is no longer used.

@fix
2016-08-03 17:27:23 +09:00
Mike Blumenkrantz 82afc08c39 only check x11 configurerequest geometry changes when applicable
in some cases during a frame recalc this could lead to window positioning
being erroneously changed

fix T4097
2016-08-01 10:55:54 -04:00
Derek Foreman 6548fae9c6 Add versions to wayland extension setup macros
When we have a local extension with a version that isn't 1 this
will become necessary.
2016-07-29 16:45:38 -05:00
Derek Foreman f30ad5a48b Fix wayland extension global creation
The globals are singletons, but the bindings are per wl_client.
2016-07-29 16:45:30 -05:00
Jean-Philippe Andre da663898da bg: Fix bg with single jpeg images (no edj)
When selecting a jpeg file directly as wallpaper, it will look
very blurry, clearly loaded as a low-resolution image and then
scaled up. Solution: don't load at size 64x64!

For @OnlyHuman, thanks for the report.

@fix
2016-07-28 20:49:01 +09:00
Chris Michael 35febc367d add key_up and key_down methods to sreen interface
This patch adds new methods to the screen interface that we can use
inside wl_drm to determine if a key event is eaten or not. This fixes
an issue where VT-Switching would not work if an application was on
the screen (E-Wayland).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-27 13:31:13 -04:00
Derek Foreman a4a2f6b09e Fix getting top object in comp canvas
Correctly return the top non-repeating event window

ref 1a982fd72a
2016-07-26 15:17:36 -05:00
Chris Michael 0122bc167c wl_fb: Check that e_comp_wl_init does not fail.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-26 13:00:33 -04:00
Chris Michael ab1c2ed5d1 Revert "e - fix major memory bloat when in gl mode - dont create shm segments"
This reverts commit ae6e09ec11.

This breaks resizing of windows inside Enlightenment. Evas_Engines
don't bind a pixmap permanently, they just bind during each render, so
on resize this caused a broken pixmap if we don't create a new one for
each size. This patch Would be correct IF engines worked differently
wrt x pixmap binding during render.
2016-07-26 10:31:03 -04:00
Carsten Haitzler ae6e09ec11 e - fix major memory bloat when in gl mode - dont create shm segments
so e pixmap was ALWAYS creating an ecore_x_image EVERY time for EVERY
window. this means allocate all the sysv shared memory segments for
every window even if never used. this is bad. it litters systems
with unused shared memory segments (ipcs and see) and eats up shared
mem limits/quotas too. we just don't need them in gl unless a window
is shaped or texture from pixmap is off. so allocate the pixmap on
demand, and otherwise leave the ecore x image NULL. this fixes this
bloat.

@fix
2016-07-26 13:27:56 +09:00
Chris Michael 5e63489a9a remove need to create different dialog windows under wayland
NB: This hack is no longer needed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-25 13:06:59 -04:00
Chris Michael 42aa6be359 e ibar - fix "old man" fat finger typo ;)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-25 09:27:52 -04:00
Carsten Haitzler 504706d45a e ibar - fix devilhorns fix to use the right widght and hight for separator 2016-07-25 22:21:47 +09:00
Chris Michael b1f608c5e6 use proper variables to set size_hint_max on ibar
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-25 09:05:40 -04:00
Chris Michael b107dc1cdc remove unused variables from _ibar_resize_handle
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-25 08:44:12 -04: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
Chidambar Zinnoury 9849855e18 e fm: Don’t check every other line whether the location is writable when creating menu. 2016-07-23 12:51:03 +02:00
Chidambar Zinnoury 1e78015385 e fm: Add a separator only if there is something before.
Currently, the context menu will show a separator before the background and overlay items even if there is nothing before, such as on the favourites pane.

 @fix
2016-07-23 12:27:17 +02:00
Chidambar Zinnoury 06f26a9c73 e: Don’t show two consecutive menu separators if there is no need in client menu.
This would happen if we don’t show some stacking settings.

 @fix
2016-07-23 12:27:11 +02:00
Derek Foreman 926d9ab6d8 Fix test for object visibility when deleting wayland clients
In the very last commit I got the visibility check wrong.

ref 0680250d72
2016-07-21 14:29:20 -05:00
Derek Foreman 0680250d72 Fix wayland clients not deleting when they're hidden
We kept an extra reference for wayland clients and dropped it on their final
render to stop crashes.  However, if they're not on screen at the time of
their deletion this reference still needed to be dropped.

Fixes clients remaining on the deskmirror after dying on another desktop.
2016-07-21 13:11:37 -05:00
Carsten Haitzler 1a982fd72a e - fix dnd problems coming from getting top object in comp canvas
so getting top object was broken. it didnt account for repeat event
objects that would be included. so get the full l,ist and walk them
top to bottom for the first one thats a client. THAT is the correct
thing to do. this would affect both x11 and wayland.

@fix
2016-07-21 17:01:21 +09:00
Carsten Haitzler bd43f07046 e temp module - kill tempget process not terminate to ensure death
it seems on openbsd sigterm doesnt kill things... sigkill does so move
to that. fixes T4121

@fix
2016-07-20 18:12:04 +09:00
Mike Blumenkrantz 54fa1a0ca4 adjust xdg-shell window menu coords by client's coords
the coords passed in this method are relative to the window geometry
2016-07-19 14:15:21 -04:00
Chris Michael 3c8ab9f175 add missing EINA_UNUSED for unused function params
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-19 13:57:34 -04:00
Mike Blumenkrantz 5f9cbb1446 set/unset smart parent as e_widget when adding sub-objects
in the case where there is no smart parent, this fixes the object tree
and resolves some stacking issues. if there is a parent or a parent is added
later, nothing is changed

fixes eg. screenshot preview visibility in wayland
2016-07-19 13:43:59 -04:00
Cedric Bail 3e74bcb3d3 filepreview: avoid race condition when destroying txt file preview with slow hard drive.
@fix T4119
2016-07-18 16:45:49 -07:00
Carsten Haitzler c72113eca8 e ibar/ibox fix starrting/started signal emittion
i found this didn't emit signals correctly and multiple times when not
needed. this fixes that.

@fix
2016-07-18 15:50:23 +09:00
Al Poole 382fe30688 fwin: prevent segv when the vaarg abi messup with unused parameter.
Quite a hack overall, but if you don't need those parameter, just put
nothing and it will work.

@fix T4112

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-15 09:17:44 -07:00
Derek Foreman 248fa6d1e6 Fix xdg_shell focus logic
Moves and resizes tripped up the new xdg focus logic, so test if the
focus is leaving the client entirely before trying to determine if it's
leaving into a parent surface.
2016-07-13 16:03:55 -05:00
Derek Foreman e32db0e7e3 Make sure the same keyboard resource doesn't end up on the focus list twice
This stops recent xdg_popup focus tracking changes from causing multiple
key events to be sent to the focused client.
2016-07-13 16:01:51 -05:00
Marcel Hollerbach fde72ce193 e_comp_data: NULL out source once it is freed
Otherwise the pointer is removed when the next drag starts, so this
makes debugging dnd problems easier.
2016-07-13 18:09:34 +02:00
Mike Blumenkrantz 5546c2a425 set unmax flag for xdg shell unmaximize
ref b5576dbb8c
2016-07-13 11:26:16 -04:00
Mike Blumenkrantz 4773dd7039 match wl_wl output sizing in wl_x11 when running in an existing wm session
global sizing policy++
2016-07-12 12:51:00 -04:00
Mike Blumenkrantz c6ef590e9e set x11 randr iface for wl_x11 based on wm presence, not composited state
fixes usage in non-composited x11 environments (eg. openbox)
2016-07-12 12:51:00 -04:00
Mike Blumenkrantz 08aaeffade handle e_comp_x init failure more effectively and perform cleanups
fixes autodetection for x11 wayland output without setting E_WL_FORCE
2016-07-12 12:51:00 -04:00
Chris Michael f3371ff04c 'cur_group' variable is unused here if we are not building for wayland
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-11 12:11:00 -04:00
Derek Foreman 963afc8fea Properly send kbd focus to xdg_shell popups
Oops, a client can have multiple top level windows.

ref f391a0fb67
2016-07-08 16:12:43 -05:00
Chidambar Zinnoury b80f0bfef7 e desks config: Group all flip-related settings to their own tab. 2016-07-05 22:15:57 +02:00
Chidambar Zinnoury 5eb12b6972 e desks config: Bring some flip settings back.
These were inadvertently removed by e1369a24bd.

 @fix
2016-07-05 22:15:57 +02:00
Mariusz Bialonczyk 5dd4a7eddf modules/temperature: cosmetics: typo fix (celcius -> celsius)
Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4129
2016-07-05 11:45:00 -04:00
Andy Williams 67463782a8 Fix compiling with WL off 2016-06-30 23:27:14 +01:00
Marcel Hollerbach 30b22f30af e_xkb: use the new e_comp_wl_input_index_set api
For now the setting of a new layout does not mean the complete file
needs to be recompiled.
2016-06-30 20:35:58 +02:00
Marcel Hollerbach d1e700cb68 e_comp_wl: introduce api to set index of keymap
this commit introduces the setting of the index. Setting the index here
means that the layout with the id 0..n, out of the compiled keymap file
will be used. After a new index is set the modifiers are updated, that
the client are aware of the new resulting group.

If the api is called before the compositor is inited (this can happen
in e_xkb, so the drm can use the keymap at startup) then the index is
saved in between and will be flushed once the compositor does the init.
2016-06-30 20:19:33 +02:00
Derek Foreman f391a0fb67 Fix xdg_shell keyboard enter/leave events
On xdg_shell we should only ever send enter/leave to top level surfaces
or GTK becomes sad.
2016-06-29 16:23:41 -05:00
Derek Foreman ada8e2deac Don't send keyboard leaves to unmapped wayland surfaces
There are actually toolkits that create surfaces, do nothing with them,
and destroy them.  Sending keyboard leave events for this causes problems.

Fixes a bug in handling of some GTK popups.
2016-06-29 16:21:49 -05:00
Derek Foreman 1f44a593c2 Track whether a surface is an xdg one 2016-06-29 16:19:20 -05:00
Derek Foreman 7b470c402e Set up attributes properly for wl_shell transient windows
This fixes Qt sub-windows.
2016-06-29 13:20:45 -05:00
Derek Foreman 27e9845abd Only unignore a client on the first commit with a buffer
Otherwise, if a wayland client does its first commit without a buffer
attached it will confuse our focus logic.
2016-06-29 13:20:37 -05:00
Mike Blumenkrantz 033217c8e1 destroy evry's focus-out timer if focus-in occurs before timer triggers
fixes dismissal during comp input regrabs
2016-06-29 10:02:47 -04:00
Derek Foreman 124e59df6f Add a pixel get callback for mirrors
Mirrors can be rendered independently of what they're mirroring,
which (at least under wayland) can result in a situation where the
mirror is rendered before the parent sets up their image pointers
properly.

We give mirrors their own callback to prevent that from causing a
crash.
2016-06-28 15:44:00 -05:00
Derek Foreman a04ee8e253 Revert "Always clear the mirror image data pointer"
This reverts commit 326d638ba2.

This, for some reason, resulted in client surfaces being blacked out,
despite only ever changing mirror surfaces.
2016-06-28 15:43:54 -05:00
Derek Foreman ab5879b926 Fix wayland pixmap ids again
Wayland pixmap ids are a different data type for internal and
external windows.  cast them both to 64-bits so they're the same
size regardless of arch.

ref d3ba524a62
2016-06-28 15:43:45 -05:00
Marcel Hollerbach 4f0e3bce84 emix: update sink of sink_input when changed
this fixes none changing sinks in the app.
2016-06-25 17:12:35 +02:00
Marcel Hollerbach afeb588632 e_comp: silence warning, this time really
as said on the ML
2016-06-25 16:00:30 +02:00
Marcel Hollerbach a80bc13336 e_comp: silence warning
after talking to zmike, this is by intend.
2016-06-25 15:29:45 +02:00
Marcel Hollerbach 9c8b6a1c5d e_xkb: eval group before setted to wl
otherwise we are going to set 0 as default group.

This commit refactors out _eval_cur_group from the init timer, since wl
does not need a init timer.
2016-06-25 15:01:44 +02:00
Marcel Hollerbach 4bc61cfbd3 music-player: add spotify 2016-06-25 01:11:57 +02:00
Derek Foreman c22c140c2f Fix zone setup for wayland compositor on X
Both the X and WL code try to set up the output pointer for the
zone.  Make the WL output take precedence, since it's actually
used for events.
2016-06-24 14:19:36 -05:00
Mike Blumenkrantz cefcc5248f add some hacks to route mouse events to wl popups correctly while mouse is down
in a choice between fixing a corner case popup behavior and breaking dnd
or having functional dnd and adding hacks to fix corner case popup behavior,
adding more hacks was the obvious correct solution

ref 03a4ecbdb0
2016-06-24 11:31:02 -04:00
Mike Blumenkrantz 4852a6903b remove unused event info from _e_comp_wl_mouse_out() 2016-06-24 11:31:02 -04:00
Derek Foreman eb94710146 Don't try to send surface presence events for zones with no wayland output
Avoid that NULL pointer deref.
2016-06-24 10:05:18 -05:00
Mike Blumenkrantz 191e5180b5 Revert "set NOGRAB pointer mode on comp object event objects"
This reverts commit 03a4ecbdb0.

this should be correct, and yet it crashes xwayland and breaks dnd
2016-06-23 18:06:22 -04:00
Mike Blumenkrantz 03a4ecbdb0 set NOGRAB pointer mode on comp object event objects
fixes dragging off surfaces in wayland
2016-06-23 17:16:03 -04:00
Derek Foreman bdf1017f90 Don't send configure to wl_shell popups
This confuses Qt badly, and rightly so, because we shouldn't be
doing it.
2016-06-23 11:26:57 -05:00
Derek Foreman 453e6adc33 Use e_client_util_is_popup for checking wayland clients
All the different popup types are tested by the helper function,
the current wayland tests were missing some.
2016-06-23 11:22:47 -05:00
Mike Blumenkrantz 9a50f6b218 disallow pager window drags for popups and ignored windows 2016-06-23 12:13:24 -04:00
Mike Blumenkrantz 22aa63c4a3 Revert "do not change E_Client->saved values during maximize if need_maximize is set"
This reverts commit 9a9c09f514.

a better solution should be found at some point since this is broken in x11 too
2016-06-22 13:31:50 -04:00
Mike Blumenkrantz 99e4f8452b don't set need_maximize during wl commit maximize
this breaks the maximize!

partially reverts b5576dbb8c
2016-06-22 12:30:01 -04:00
Mike Blumenkrantz da7e7d19fb freeze events on comp object input rects during deletion
prevents some event propagation which would cause flickering
2016-06-22 12:28:48 -04:00
Derek Foreman 326d638ba2 Always clear the mirror image data pointer
Under wayland evas will sometimes use the old one, I have no idea why.
Fixes a crash bug when mousing out of menus in a GTK app under wayland.

fix T3576
2016-06-21 17:53:16 -05:00
Marcel Hollerbach a45bbe3d35 e_xkb: init the keyboard on init
we need to flush in the first group here. For wayland currently each
keyboard configuration needs to be flushed each time.
2016-06-21 21:43:57 +02:00
Derek Foreman 11796c8b88 Update some wl_shell window handling logic
Our xdg_shell implementation has received some fixes that are also
applicable to wl_shell.  Qt still uses wl_shell, so we do have a test
case, and do need to keep it up to date.

This copies some window attributes, clamping logic, and diagnostic prints
from the xdg_shell implementation.
2016-06-21 12:33:49 -05:00
Derek Foreman 19817b47de Send wayland surface enter and leave events
These events are supposed to be sent to clients that have bound wl_output
and manipulate surfaces.
2016-06-21 12:33:49 -05:00
Derek Foreman 11cb74a288 Track X outputs for zones
We needed this for wayland, so we add the same tracking for X to be
consistent - though we have no users yet.
2016-06-21 12:33:49 -05:00
Derek Foreman 3ff5e8dff4 Track wayland outputs for zones 2016-06-21 12:33:49 -05:00
Derek Foreman fc37423c2e Add new API for finding a zone by its id string 2016-06-21 12:33:49 -05:00
Mike Blumenkrantz 36c486906d apply client size for session recovery remember
fixes maximize restoring
2016-06-20 16:04:11 -04:00
Mike Blumenkrantz b5576dbb8c use separate flag for pending wl client unmaximize
also set flag to prevent saved geometry from being overwritten
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 9a9c09f514 do not change E_Client->saved values during maximize if need_maximize is set
this is indicative of a deferred maximize, so don't re-set it and screw up
previously-set values
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz b5ef8766f4 store maximize property from E_Remember to disk 2016-06-20 16:04:10 -04:00
Mike Blumenkrantz c5266515ba set need_maximize flag on remembered client when applying maximize
causes maximize to be applied
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 0f022976e0 use pending wl maximize value to determine maximize flag in xdg configure
fixes some cases where fast configures would break maximizing
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 12bcf7ecea match deskmirror client opacity with original object
fix T3911
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 10eb06b377 update secondary remembers when a session recovery remember is updated
the session recovery remember may block updates for the user-created
remember, creating continuity issues when a new instance is launched
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz e8e6ada2e1 prevent E_Remember->used_count from going negative 2016-06-20 16:04:10 -04:00
Mike Blumenkrantz 890008cdf2 prevent editing of session recovery remembers
find/create new ones in this case
2016-06-20 16:04:10 -04:00
Mike Blumenkrantz a93aadfe01 replace wireless connection error #warning with notification
this needs a more robust infrastructure than I'm prepared to write at
the moment, but errors do need to be seen
2016-06-20 12:37:28 -04:00
Mike Blumenkrantz aa1768a9d9 enforce mouse grabs and block client/compositor event propagation while active
fixes cases where mouse events could filter to objects and cause unwanted effects,
such as evry hiding randomly under wayland
2016-06-18 10:56:14 -04:00
Derek Foreman 4bd97bfd5c Fix eo object use after deletion in evry
On window hide the focus out callback is triggering and causing a new
timer to be set up.  This timer fires when the window no longer exists.

Remove the focus_out callback when we hide the window.
2016-06-17 16:40:20 -05:00
Mike Blumenkrantz 6fd2d4487f force unset override and do reshadow on evry when switching to normal win mode
fixes window movement and close animations
2016-06-17 17:19:02 -04:00
Derek Foreman b6819e5a77 Fix wl_shell popup livelock
Trying to put wl_shell popups in the popup layer results in stacking
problems later and a never ending loop.

Just don't.

fix T3433
2016-06-16 14:37:15 -05:00
Mike Blumenkrantz 6b081d1d44 do not mouse-out of clients on focus out when focusing a popup
popups are transient in nature and do not interfere with mouse-based focus
policies

ref 3e6d6b348f
2016-06-16 14:48:51 -04:00
Derek Foreman 4f8dd3f1e5 Fix wl_shell clamping rules
The current clamping logic clamps submenus so that they're contained
within their parent instead of adjacent to them.
2016-06-15 16:39:08 -05:00
Derek Foreman 2463ce8b43 Fix crash in wl_shell surface destroy
wl_shell doesn't set up shell.data, but this destructor is shared
with xdg_shell which does.
2016-06-15 15:19:32 -05:00
Mike Blumenkrantz 771f71e6a9 add separate mouse in/out handlers for internal wins
internal wayland windows are windows with ssd, meaning they can only receive
pointer events on the contents of the window and not the entire window including
decoration regions

ref T3819
2016-06-13 12:00:09 -04:00
Mike Blumenkrantz a6bed1841a use focused client for window actions if passed object is not a client object
in the case where an action is triggered from the compositor or manager contexts
the passed object will not be a client, causing actions to fail when they should
succeed

fix T3854
2016-06-09 11:26:17 -04:00
Al Poole 4f1f29ae35 fix openbsd battery calc on amd64 2016-06-09 11:15:09 -04:00
Mike Blumenkrantz 0e416648df optimize e_client_res_change_geometry_restore()
performing the entire unfullscreen/unmaximize routine causes a significant
amount of overhead, and it also breaks window geometries in wayland due to
synchronization
2016-06-07 11:24:27 -04:00
Derek Foreman 573df39c17 Allow pixmap argb state to override window state for wayland clients
Wayland argb state depends entirely on the attached buffer, so we
should use that for determining object argb state on wayland.

ref 6d397e313b
ref 60da58d8ad
2016-06-06 14:06:00 -05:00
Mike Blumenkrantz e95098fedb add tooltip for unloadable teamwork links, make ctrl suppress tw activation
fix T2995
2016-06-02 13:08:52 -04:00
Mike Blumenkrantz 07ed7a1433 force mouse-in again during comp ungrab if client previously had mouse-in
unfocus performs a mouse-out, so this is necessary in order to allow events
to reach the client again after a grab ends
2016-06-01 13:11:20 -04:00
Mike Blumenkrantz 492f9bcf4e unset comp_grabbed flag before action client compositor ungrab
this flag was blocking accurate event propagation in some cases
2016-06-01 13:11:20 -04:00
Mike Blumenkrantz 48ee824c63 only block mouse-out callback for wl action clients if the mouse is grabbed 2016-06-01 13:11:20 -04:00
Mike Blumenkrantz 3c9013eeb0 protect against crash when deleting wl session recovery remember 2016-06-01 13:11:19 -04:00
Mike Blumenkrantz ffbf4235dd Revert "eo_del -> eo_unref in xwayland"
This reverts commit 1eddd375d8.
2016-06-01 09:57:17 -04:00
Mike Blumenkrantz 859b1b989f handle shaded state when receiving x11 configure requests
previously this would resize the window without unshading it, leading to
a confusing state for the window and the user
2016-05-31 12:31:50 -04:00
Mike Blumenkrantz 68c93a1adf use current zone when activating a client's menu with the mouse
the mouse defines position of a mouse-activated menu

fix T3701
2016-05-31 12:23:50 -04:00
Mike Blumenkrantz 1fef7d04dc delete x11 mouse-in job when hiding the job's client
spurious x11 mouse events will be received when activating a mouse binding which
flips the active desk

fix T3716
2016-05-31 12:21:09 -04:00
Hannes Janetzek b3561d7641 just a small patch to make sure evry_hide does not get called synchronously from an Evry_Action 2016-05-31 11:42:27 -04:00
Mike Blumenkrantz 3e7f8284cd set x11 maximized window hint correctly on resize end
fix T3702
2016-05-27 12:15:26 -04:00
Chris Michael 0d2b6b047c port enlightenment to use drm2
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 09:53:41 -04:00
Chris Michael c21bced4f8 change 'if' clause to make gcc-6 happy
Gcc 6 was spitting a nasty little compiler warning here:

src/bin/e_fm.c: In function ‘e_fm2_icon_geometry_get’:
src/bin/e_fm.c:2354:4: warning: this ‘if’ clause does not guard...
[-Wmisleading-indentation]
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
^~
src/bin/e_fm.c:2354:19: note: ...this statement, but the
latter is misleadingly indented as if it is guarded by the ‘if’
if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-24 15:48:18 -04:00
Mike Blumenkrantz b40857b9f0 use current zone for shelf config dialog
fix T3683
2016-05-24 11:59:56 -04:00
Mike Blumenkrantz c58a3919e9 update client remember on opacity change
fix T3681
2016-05-24 11:52:31 -04:00
Mike Blumenkrantz b6b89256e1 use correct indexing for x11 teamwork server atom array
CID 1355933
2016-05-23 11:34:32 -04:00
Mike Blumenkrantz 361bcd9bcd upgrade teamwork module to use teamwork v2: teamwork++
use display protocol and add wayland support
2016-05-20 15:06:09 -04:00
Davide Andreoli 107872af91 enlightenment_open: correctly return the exist status code of the executed command
@fix and close T3555
2016-05-20 19:25:42 +02:00
Derek Foreman e5e875ded8 Fix dmabuf breakage of non wayland builds.
#IWearTheHatOfShame
2016-05-19 10:23:22 -05:00
Chris Michael bd1847162e remove unused variables in _dmabuf_add function
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-19 08:57:43 -04:00
Mike Blumenkrantz c53a6efc8d add client util function for detecting popups, block popups in ibar/tasks
mainly a wayland issue where popup menus would cause the tasks gadget to
grow and shrink uncontrollably
2016-05-18 14:43:21 -04:00
Derek Foreman 402c56e1f2 clean up warnings in dmabuf code 2016-05-18 12:34:23 -05:00
Mike Blumenkrantz 1eddd375d8 eo_del -> eo_unref in xwayland 2016-05-18 13:26:59 -04:00
Derek Foreman 2d1802375d Add DMABuf support for wayland
This adds compositor handling of DMABuf buffers.  DMAbuf capabilities
are advertised for the drm back-ends, and DMAbuf buffers are handled
as native surfaces.
2016-05-18 12:05:34 -05:00
Derek Foreman da23b852e7 Disable wayland dmabuf for the X11 backend
This is just too hard to get right and nobody will notice its
absence, so let's not bother for now (or ever, I hope)
2016-05-18 12:05:34 -05:00
Derek Foreman 6b0c55dd96 Track parent compositor dmabuf capabilities on wayland on wayland
When running as a wayland compositor connected to another wayland
compositor, we don't want to advertise dmabuf capabilities if the
parent compositor doesn't support them.

If it does, we'll want to proxy dmabuf requests to it instead of handling
them ourselves.

Expose this as new bools in e_comp_wl.
2016-05-18 12:05:34 -05:00
Derek Foreman f6d99980ba Remove GL presence test from native surface set on dirty objects
This test has been pushed into e_comp_object_native_surface_set() and
will be done as appropriate.

Upcoming wayland DMAbuf buffers need native surfaces even if GL isn't
present.
2016-05-18 12:05:34 -05:00
Derek Foreman 50a3f84191 Move the test for resetting no native surface to after caps checks
This is supposed to be functionally equivalent, but is a little tricky to
prove.

The benefit of this is a simplification to the callers, which no longer
have to consider gl capabilities in the call, as that is now tested for
internally.
2016-05-18 12:05:33 -05:00
Derek Foreman 57f0150b73 Break native surface test criteria into explicit wayland and X cases
Until now it's been reasonable to consider these together as the
criteria have been similar.  With the upcoming introduction of wayland
DMAbuf buffers, they diverge.

We don't need to test for GL in the wayland case because we don't
advertise GL capabilities to clients when we don't support it, so they
can't create GL buffers unless we can display them.
2016-05-18 12:05:33 -05:00
Derek Foreman 1774b59923 Add e_pixmap API for testing if a pixmap is a native surface
DMAbuf for wayland will complicate determining whether a pixmap can use
a native surface or not, so we add an API here to check this.

Note that this doesn't take compositor capabilities into account - for
example, X pixmaps need GL enabled to use native surfaces.  This is
already tested elsewhere.
2016-05-18 12:05:33 -05:00
Mike Blumenkrantz 91d16899b1 fix e_place_zone_region_smart_cleanup()
this function was adding the same client multiple times, failing to cleanup
windows effectively, and misusing the skiplist functionality of e_place functions

fix T3654
2016-05-18 12:32:27 -04:00
Mike Blumenkrantz 366193f2d2 remove pulse sinks/sources from list before running cbs which access the list
this guarantees a crash any time the default sink gets removed since it will
always re-set the about-to-be-deleted default sink as the default sink

fix T3277 probably
2016-05-17 15:05:18 -04:00
Carsten Haitzler 62bcd72eef e - suspend.hibernat intelligently - dont account for ac power
this means only lid/screen status affects intelligent suspending. it's
not what people expect and doesnt rely on ecore getting mains power
stuff right too.
2016-05-17 00:33:47 +09:00
Chris Michael b5e47665bb stop filling logs with buffer transform/scale spam
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-15 10:47:53 -04:00
Carsten Haitzler 59e2eb40f8 warnings - silence some theoreitcal wranings in build
a bunch of "potentially uninitialized variable" warnings fixed.
2016-05-15 23:14:15 +09:00
Mike Blumenkrantz ec9a888fcf more tweaks for manual window placement in client eval 2016-05-13 11:38:17 -04:00
Mike Blumenkrantz 685aafcd41 prevent double emission of E_EVENT_CLIENT_SHOW 2016-05-13 11:28:27 -04:00
Mike Blumenkrantz 030d083c73 ensure that client eval correctly handles retries on visibility-pending clients
ref 2854352bc8
fix T3636
2016-05-13 11:24:08 -04:00
Marcel Hollerbach 1aea5ab079 e_xkb: reconfig when we have set a new set of layouts
When in the config dialog a new set of layouts is created, this set has
to be told to the displayserver. Like at the startup of e, so calling
e_xkb_reconfig().

fix T3072
2016-05-12 21:02:40 +02:00
Marcel Hollerbach ce6d2285f1 e_xkb: split up e_xkb_update
before the function had the semantics that -1 flushes the set of layouts
back to the displayservice. Now its done with e_xkb_reconfig.
2016-05-12 20:54:22 +02:00
Mike Blumenkrantz 189dce81f9 force cursor placement to obey useful zone geometry 2016-05-12 12:10:48 -04:00
Mike Blumenkrantz 2854352bc8 adjust some client eval parts to make manual placement work again
activating the window_move action doesn't require the client to successfully
be shown, and failing this check would cause the window_move action to be
deleted until the next restart
2016-05-12 12:05:59 -04:00
Mike Blumenkrantz 55c83134c1 use parent windows for x11 binding grabs
ensure that internal windows do not receive mouse events before the compositor

fix T3347
2016-05-12 11:23:20 -04:00
Mike Blumenkrantz 60da58d8ad only check pixmap argb state for non-X11 clients
non-argb windows can have argb pixmaps.

ref 6d397e313b
2016-05-11 18:34:49 -04:00
Mike Blumenkrantz ada13539bf avoid infinitely looping when applying x11 window grouping
#ThatTimeKainXFoundABug
2016-05-11 18:29:38 -04:00
Mike Blumenkrantz d3ba524a62 use window id for internal window pixmaps again on wayland
this was breaking internal windows when more than one was open, and
especially if any were open which had a parent-child relationship, by
using the same id for all internal window pixmaps
2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 45e872ddf1 set E_Client->override flag for internal wins as needed 2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 8d4a75575c remove some cruft from _e_comp_wl_client_cb_new() 2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 2d85b8f111 ensure int64_t is used in all cases for wl pixmap ids 2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 4a47f74b3a enforce setting alpha on comp objects only after image data has been set
setting alpha can trigger a render sync, crashing if the old data is no
longer valid
2016-05-11 15:40:10 -04:00
Mike Blumenkrantz 6d397e313b also check pixmap argb state when setting comp object alpha
more accurate for wayland
2016-05-11 15:40:09 -04:00
Mike Blumenkrantz 5d300bcb46 fix usage of e_object_unref in xkbswitch when managing new kbd dialog
probably harmless?
2016-05-11 15:40:09 -04:00
Mike Blumenkrantz f25b2ab434 toggle compositor canvas focus during init
this sets the toplevel focus flag in elm, allowing widgets on the compositor
canvas to receive focus in wayland compositors
2016-05-11 13:33:31 -04:00
Mike Blumenkrantz 89deb898ad change efm icon entry to only toggle focus in x11 compositors (runtime) 2016-05-11 13:32:52 -04:00