Commit Graph

11524 Commits

Author SHA1 Message Date
Derek Foreman 404a23f7d3 Fix massive wayland input region brokenness
It was impossible to set an empty input region.

Input regions were being clipped to the size of whatever buffer was
previously attached when they should really be clipped at commit
time to whatever buffer was attached in the commit.

The intersection operation created round off errors and
e_comp_object_input_area_set is clipping anyway, so we can simplify this
and retain precision.
2016-11-04 16:25:58 -05:00
Derek Foreman e74f2a45af Increase area of tilers for regions
We don't have any idea at this point what the region will be used for,
and tilers clip to their area on ingress.  If we're going to use tilers
for wayland regions we need to make them huge and clip them later.
2016-11-04 16:25:58 -05:00
Mike Blumenkrantz 353ad6be11 move bryces to E_LAYER_DESKTOP_TOP when not above windows
moderately sure this won't conflict with anything important...

fix T4819
2016-11-03 12:54:53 -04:00
Mike Blumenkrantz 03ad3620c7 add special case for returning pixmap argb of unusable wl cursor pixmaps
this is usually called before the surface commits, so ensure that the
most likely case is returned as the default until the commit occurs

fixes black rect flickerings around the cursor
2016-11-03 12:28:24 -04:00
Mike Blumenkrantz 13f408f1e1 add more parens for previous pixmap commit 2016-11-03 12:28:06 -04:00
Mike Blumenkrantz 669f00e2e2 avoid crash when calling e_pixmap_image_exists on wl pixmaps without buffers 2016-11-03 12:24:25 -04:00
Mike Blumenkrantz e3590f6c3e determine wl pixmap argb solely based on image_argb flag
the existence of a buffer does not mean that the pixmap can stop being
argb

fixes random black rects
2016-11-03 12:07:46 -04:00
Mike Blumenkrantz 33740ca306 return correct values from bryce post event callbacks
I referenced elm scrollable for this when writing it. past me was a moron
for using reference code instead of reading the underlying implementation.

fixes scrolling
2016-11-03 11:45:35 -04:00
Derek Foreman 9c26487b37 Fix out of tree builds
I broke out of tree builds when I landed the wayland protocol autogen
patches.  This should fix it up.
2016-11-02 16:16:49 -05:00
Mike Blumenkrantz 46cad09e3e force gadget site recalc from style object if gadget's hints change
ensure that these intermediate objects trigger recalcs as expected

fix T4809
2016-11-02 11:31:59 -04:00
Mike Blumenkrantz 6723756d6b feed mouse-up when dropping a gadget site before enabling events on the site
prevents unintentional activation of gadget actions during moves
2016-11-02 10:20:04 -04:00
Mike Blumenkrantz 4e08ad17e8 add bool return for e_exec_phony_del() to return deletion success
CID 1181927
2016-11-02 10:11:02 -04:00
Mike Blumenkrantz 4d86c98ce7 do not return early from _bryce_position()
this causes the returned coords to be garbage values, likely leading to
the bryce being positioned or animating off to the upper-right corner
of the universe that exists beyond the canvas
2016-11-01 13:56:08 -04:00
Mike Blumenkrantz 6e39997ad1 add smart callback for when gadgets get reparented
this can be useful for gadgets which (inexplicably) need to set min size hints
2016-11-01 13:29:45 -04:00
Mike Blumenkrantz cea551578c do not apply efx anchoring to move effects if a resize effect is not active
this is useless without an animator

fix T4810
2016-11-01 11:12:26 -04:00
Chris Michael d6c6961ab4 check if a client is internal or not before deleting
This fixes a crash where mousing back into internal windows would
cause a crash (from efl wayland mouse pointers).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-31 14:22:03 -04:00
Chris Michael 2970f4d76f Revert "don't crash is surface resource has no e_client"
This reverts commit fbb17af2d6.

This does not really fix the issue of crashes on internal windows :(
This was just a band-aid really...
2016-10-31 13:57:52 -04:00
Mike Blumenkrantz c3a01ba16c attempt to recalc gadgets which overflow their container 2016-10-31 13:07:21 -04:00
Mike Blumenkrantz 3d1334e883 delete current dragging gadget during edit if escape is pressed 2016-10-31 13:07:03 -04:00
Mike Blumenkrantz b0831d5f0d allow scaling gadgets using wheel events during initial placement 2016-10-31 13:06:18 -04:00
Mike Blumenkrantz 1f9801f922 attempt to handle non-orient gadget resizes based on anchor corners 2016-10-31 13:05:44 -04:00
Mike Blumenkrantz b9d59616e9 track desktop gadgets based on their zones
ensure positioning is accurate with multiple displays
2016-10-31 12:34:29 -04:00
Mike Blumenkrantz 35df03a596 center desktop gadget editor popups upon the zone they have activated 2016-10-31 12:34:29 -04:00
Mike Blumenkrantz 5d2028a300 do not modify bryce zone/name during startup
this breaks bryce init by moving all bryces to zone 0

fix T4784
2016-10-31 12:34:29 -04:00
Mike Blumenkrantz 349fc5e910 avoid potential divide by zero during bryce startup 2016-10-31 12:34:29 -04:00
Mike Blumenkrantz bf1075ff4b clamp bryce position to its parent zone
fixes case where large bryces could overflow their zones

ref T4784
2016-10-31 12:34:29 -04:00
Chris Michael fbb17af2d6 don't crash is surface resource has no e_client
wl_resource_get_user_data(surface_resource) could return NULL if the
surface resource has no user data set. This happens with Ecore_Wl2
Windows which are set to type 'None', so add check for valid e_client.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-31 09:25:51 -04:00
Stefan Schmidt c9e69e5176 e_client_colume: remove unused variables and add EINA_UNSED where needed 2016-10-31 11:37:47 +01:00
Stefan Schmidt cb51487c3d e_comp_object: remove unused variable 2016-10-31 11:37:16 +01:00
Stefan Schmidt 455935466f e_fm: remove unused variable 2016-10-31 11:36:53 +01:00
Stefan Schmidt 7bb858d2a3 e_fm: fix last commit to compile again with clang
Commit fd8d41a2a6 introduced a void return in a
non void function. On gcc this only produced a warnigns but it was a hard
error on clang and should be fixed.

00:25:24.906 src/bin/e_fm.c:1523:15: error: non-void function 'e_fm2_icon_file_get' should return a
value [-Wreturn-type]
00:25:24.950    if (!file) return;
2016-10-31 11:03:44 +01:00
Carsten Haitzler fd8d41a2a6 e fm - fix popup to not crash by referring to possibly deleted data
fm icon info is transient because fm icons are transient. files may
get deleted, added or removed on the fly. keeping icon info around for
things like the popup is asking for tyrouble and does create  trouble.

so look it up each time based on filename string. safe!

this fixes T4716 and fixes T4798 (they are the same bug basically).
2016-10-31 18:23:08 +09:00
Mike Blumenkrantz f8ddfd3245 fix use after free when renaming a bryce
fix T4784
2016-10-29 11:36:48 -04:00
Mike Blumenkrantz 6ab8c48892 use eina_streq for string comparison in e_zone_for_id_get()
zone->randr2_id is not guaranteed to be non-null

crash--
2016-10-29 11:00:49 -04:00
Stephen okra Houston e82ec31175 Luncher: Introduce Enlightenment's new launcher/taskbar/iconify manager: Luncher
You are required to update efl along with this update to have the luncher theme files.
2016-10-28 13:26:28 -05:00
Mike Blumenkrantz 41b861214a block remembers of e_sys windows
fix T2879
2016-10-28 10:45:22 -04:00
Mike Blumenkrantz 420b54a151 optimize out re-applying of borderless client theme 2016-10-28 10:36:21 -04:00
Mike Blumenkrantz c6b091980a allow client frame changes when switching from frame -> no frame
fix T4358
2016-10-28 10:19:01 -04:00
Mike Blumenkrantz c56cebe945 bump modapi 2016-10-28 10:19:00 -04: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) 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
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
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
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 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
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 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
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
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
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
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
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 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
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
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 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
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
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
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 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 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
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
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
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 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
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 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
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 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
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
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