Commit Graph

12769 Commits

Author SHA1 Message Date
Carsten Haitzler 78c26e5f8d e comp - dont send messages uselessly with same values to theme
when border changes send then but not all the time. this drops some
mebryo overhead i was seening.
2019-08-08 23:53:18 +01:00
Carsten Haitzler f76627a6be e comp - reorder alpha native etc. surface sets to avoid crashes
this also avoids spurious texture uploads so it should be an
optimization too, but more importantly... thisis a fix. it fixes T8021

@fix

yay yay yay
2019-08-08 20:44:14 +01:00
Carsten Haitzler 64ffda59ec e sys - if decklock on suspend is set and systemd says we suspend, lock
if systemd suspended and we hand't triggered it, and desklock on
suspend is enabled, then lock there and then because we need to. of
course you need systemd/logind... but hey... i guess without you live
with less... :) fixes logic hole

@fix
2019-08-08 09:56:04 +01:00
Carsten Haitzler fd26c7b224 evry - handle invalid chars in filters nicely and stop string walking
possible issue lurking if a utf8 char sequence has invalid content ...
avoid it.
2019-08-07 21:16:12 +01:00
Carsten Haitzler 8884f27975 e wl - fix borders to keep cutouts working
in soem cases a client has no csd and then border l/r/t/b/ are all 0
so artifically keep 1 at 1... to keep cutouts working.

still need to solve blending still being on though.
2019-08-07 21:15:00 +01:00
Carsten Haitzler d4340cb168 e wl pixmap - use id not xwin
copy & paste failure here. fix. found by asan.
@fix
2019-08-07 16:51:41 +01:00
Carsten Haitzler df0a64dc7a e dbusmenu - fix cross referencing from e menus created from debus menu
this stops crashes when e menu si still up when the dbus menu backing
it has changed/gone away... by referencing the dbusmenu to hang about
like a bad smell while the e gui menu is up until it's dismissed. this
fixes a real segv i saw with steam.

@fix
2019-08-07 00:43:47 +01:00
Carsten Haitzler 3c3e5f3b88 randr - use ints for mode info w/h as we want signed ints for a diff
fixes warning too.
2019-08-06 20:55:54 +01:00
Carsten Haitzler d0dc774673 efm - fix missing format strings in error reporting
fix CID 1403934
fix CID 1403923
2019-08-06 20:03:06 +01:00
Carsten Haitzler c1f73110ac wl input - use eina mkstemp to handle umask right
fix CID 1403927
2019-08-06 19:58:26 +01:00
Carsten Haitzler 52dde8d541 wl - handle null parent safely for subsurfs
fix CID 1403920
2019-08-06 19:23:25 +01:00
Carsten Haitzler 8c76ff3e32 gadget runner - check ptr return before deref
fix CID 1403925
2019-08-06 19:13:50 +01:00
Carsten Haitzler c9356a3f8c wl drag start - check source ptr consistently
fix CID 1403926
2019-08-06 19:11:24 +01:00
Carsten Haitzler e41d5e11bb e sys l2ping - report errors on fcntl failure
fix CID 1403933
2019-08-06 18:55:28 +01:00
Carsten Haitzler b30daea12c e client - check picmap type to be one of the only 2 valid ones
fix CID 1403938
2019-08-06 18:51:08 +01:00
Carsten Haitzler 490e532aa3 comp wl - fix check of source mime types
we dont always assume it's there.

fix CID 1403939
2019-08-06 18:45:58 +01:00
Carsten Haitzler 33ef4bc881 e comp wl - remove dead code
listener might maybe be null, but offer - never.

fix CID 1403945
2019-08-06 18:39:48 +01:00
Carsten Haitzler a536c8a6a2 e sys l2ping - check connect return for failures
fix CID 1403952
2019-08-06 18:21:29 +01:00
Carsten Haitzler 031e868b65 efm min - copy in nul byte terminator so be sure
coverity was not happy with this but it's harmless to copy that extra
nul byte... so do it

fix CID 1403950
2019-08-06 14:53:59 +01:00
Carsten Haitzler ccd0da5f02 e sys l2ping - close socket fd on error to be clean
fix CID 1403954
2019-08-06 12:54:28 +01:00
Carsten Haitzler 5b5b3005f6 e menu - remove excessive events and eo calls from menu init
so dropping a bit of overhead/latency for e menus here - this isn't to
the extent of a cache for menu objects/items... but it's just nuking
useless calls to do things not used or that can be done in fewer calls
as well as ordering things to we don't emit events and handle them
multiple times or calc min size multiple times etc. etc. -
adds a test case we can enable for perf testing too.
2019-08-01 10:39:29 +01:00
Carsten Haitzler 1967257dc7 e menu - fix grab and ungrab and forced hide all with desklock
found a valgrind issue and an input issue all in one... this fixes
that with no more valgrind complaints and input works if e menu is up
whilst desklock kicks in.

@fix
2019-07-31 13:38:50 +01:00
Carsten Haitzler da4db1a29c e - support new statgen feature and turn it on for e
use the env var as this is "soft" and will do nothing if efl doesn't
have this... but it's worth it if it does.
2019-07-28 10:26:46 +01:00
Carsten Haitzler e9f00dacd1 e deskmirror - fix apply location to avoid access-after-free
this fixes T8082
@fix
2019-07-28 08:57:00 +01:00
Carsten Haitzler 646fde45de module errors - also report to stderr immediately to aid in debug
delaying the module error may mean you never see it, so display
immediately on stderr
2019-07-19 10:55:30 +01:00
Carsten Haitzler 1cbd5ee024 e wl randr and screen setup - fix rotation mapping
a few problems i found on my rpi's...

1. rpi's retun that they do NO rotations (not even the normal 0 degree
default), so assume 0 degrees if none listed. this makes screen setup
even try and configure things on these kinds of drivers/devices
2. there was a mistmatch of 0, 90, 180, 270 srtyle rotation ints vs
the enum stype ecore drm2 uses. this fixes that so it uses ecore_drm2
considtently as ecore_drm2 expects. this stops output becomeing odd.
3. also seemingly we forgot to set the max mouse region based on res.
re-enable that commented out function.

now i can change res on my rpi3 and rpi4 in wl mode and it works right...
hooray!
2019-07-14 22:20:49 +01:00
Carsten Haitzler 61cc1351fa acpi - add an error dialog for systems with acpi but no acpid
we never told users before. we should. this would sovle some issues
i've seen of people saying that closing the lid doesn't work with e
and they didn't install acpid (even though packages often recommend it).

this improves usability.
2019-07-10 11:22:44 +01:00
Carsten Haitzler 0b954fcf50 efreet errors - expand dialogs to say more that is correct 2019-06-12 15:09:47 +01:00
Carsten Haitzler 1bdadff6c3 efm - make enlightenment_fm and eeze_scanner die with parent
be both explicit in killing it off on shutdown as well as using die
with parent flags as well. this seems ot have fixed or reduced the
"system cant shut down some job still alive in some session" problem.

@fix
2019-06-05 17:31:15 +01:00
Carsten Haitzler 6af9d75293 error messages - let's be less ramatic and have fewer of these on start
various errors we have are not actual errors but mostly information or
debug or status messages, so don't use ERR or just don't do the thing
that triggers it as it's useless. This leads to a less
noisy/error-like start output. cleaner for a release for sure.
2019-06-04 14:14:18 +01:00
Carsten Haitzler 9432836d30 e wl halt/reboot/logout restart fix - dont restart
so when e was e.g. shutting down the system it'd sometimes - or all
the time, restart and not shut down. this fixes that. e was being sent
a HUP signal while doing this causing e to go "ooh HUP - i shall
restart" which si what daemons without a controlling tty do with
signals commonly. this isn't what we want from e though in this case,
so delay itby a bit and ignore if we're in the process of logging
out/halting etc.

this really only affects wayland mode.

@fix
2019-06-04 11:58:46 +01:00
Carsten Haitzler b0fcdf1759 e start - use static env vars when they are actually static
this avoids any possible leaks from these and uses less heap.
2019-06-04 07:14:01 +01:00
Carsten Haitzler d798b9ea83 e_start - fix alternate ifdef path putenv memory issue
we'd have corrupted env vars with the alloca code we had to store the
env var, so always malloc it at all times. as we won't (likely) be
calling env_set() multiple times for the same environment we won't be
leaking, and at worst - not very much at all.

@fix
2019-06-04 07:06:30 +01:00
Carsten Haitzler 540db8bd41 e - fix stacking of transients to be in newness order bottom to top
so a parent transient shows 2 dialogs... both are transient for the
parent. the newsewst one gets stacked below the older one. this leads
to really bad things like a new "are you sure" or "have an error"
modal dialog is not visible and things seemingly freeze in the
client... so stack them in order they are created instead. also handle
transients WITH transients of their own correctly this way too.

@fix
2019-06-03 12:46:09 +01:00
Carsten Haitzler 92b03ded05 Pass meson dist - we have to install config.h and not use install option
install option for configure_file is a 0.50 feature - stick to 0.47
stuff so we can pass meson dist
2019-05-21 14:41:24 +01:00
Michael Bouchaud (yoz) 5cded14b76 screensaver: Allow to set hibernate on blank into blanking setup
Summary:
This patch introduce an alternative to suspend on blank.
Hibernate on blank.

@fix T1886
@features

Reviewers: zmike!, devilhorns

Subscribers: cedric

Tags: #enlightenment-git

Maniphest Tasks: T1886

Differential Revision: https://phab.enlightenment.org/D7602
2019-05-16 13:50:27 +01:00
Carsten Haitzler f0aafab359 e alert - change exit codes around so exit is explicit
so often enough i find e_alert is hung and you have to kill it to get
e back. this ends upo exiting and logging you out. this is not good.
the defaul should be to restart not to dump you out and lose
everything. so switch these around to be more user-friendly.

on the cards is to redo e_alert to be simpler (use full efl stack) and
thus hopefulyl be reliable in wl mode etc.
2019-05-14 21:29:32 +01:00
Carsten Haitzler bc426e1781 e alert - remove warnings with a "nop" but in future fix up differently 2019-05-14 15:22:00 +01:00
Christopher Michael d4ae97b50e Lost Windows removal from wayland
Summary: On wayland there is no need for a Lost Windows option in the menu. So remove that.

Test Plan: Compile and run on wayland.

Reviewers: raster, bu5hm4n, devilhorns

Subscribers: cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D8804
2019-05-02 12:12:57 -04:00
Carsten Haitzler ea865d7651 gadget bar - mark menu to add with experimental for now until it's ready
new gadgets need work for replacement of the old so mark as such for
now as we will need to do a release with this in it.
2019-04-26 11:56:29 +01:00
Carsten Haitzler b7cc2a065f e wl - guarad against possible null comp_data
not reproducable so the best solution i can see is some guarads
against a NULL ec->comp_data.
2019-04-18 12:02:44 +01:00
Chris Michael 0ccb90c227 e_about: Update copyright year 2019-04-03 11:06:48 -04:00
Christopher Michael 9798e901f9 wl-drm: Refactor _drm2_randr_apply function
Summary:
This patch refactors _drm2_randr_apply inside the wl_drm module in
order to support multiple outputs and to fix issue of rotation not
working

ref T7690

Reviewers: raster, cedric

Subscribers: cedric, zmike

Tags: #efl, #do_not_merge, #enlightenment-git

Maniphest Tasks: T7690

Differential Revision: https://phab.enlightenment.org/D8117
2019-03-22 12:42:10 -04:00
Carsten Haitzler ea3f6ed68f e - unbreak build due to efl changes 2019-02-22 11:12:00 +00:00
Carsten Haitzler 6f4d2bd16d e ptr - provide an init signal for ptr to allow smooth fade in on start 2019-02-13 12:03:47 +00:00
Michaël Bouchaud (yoz) 3ab092a61c conf_interaction: Support tap-to-click with pointer device
Summary:
Allow to setup tap-to-click feature with libinput pointer device.

@feature

Reviewers: devilhorns, zmike

Reviewed By: devilhorns

Subscribers: cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D7845
2019-01-31 09:10:57 -05:00
Carsten Haitzler 91770e35f8 e focus - fix to previous commit to restore keybinds on last win del
i didn't notice, but if you delete all windows on a desktop then no
keybinding work. i needed t use my commented out workaround actually
and then a bit. @fix
2019-01-30 23:10:25 +00:00
Carsten Haitzler 9b94849f92 e focus - fix issue that affects qt popup menus e.g. in telegram
it seems to create override-redirect popup windows that it FOCUSES
instead of grabbking the kbd like most other menu windows
so this causes the parent window to lose focus in a way that then
causes the popups to dismiss instantly.

@fix
2019-01-30 09:31:47 +00:00
Carsten Haitzler 6bdcf92563 pager - fix vanishing windows when dnd from desk to desk in pager
windows would vanish at times (eg dnd into an empty desktop in the
pager). this was pretty disconcerting and a problem, so this fixes it
with a bit of a sledgehammer, but it fixes it.

@fix
2019-01-28 19:06:39 +00:00
Carsten Haitzler a57aa83793 report error from system() calls that dont run cleanly - warn fix 2019-01-12 21:11:31 +00:00
Carsten Haitzler d68cb82a32 e - expand printf to use unused params to silence warning
if bluetooth not found we get warnings. silence!
2019-01-12 11:03:10 +00:00
Carsten Haitzler 70b7d56ea5 fix casts to use void ptr to avoid warning that isnt important 2019-01-12 01:51:43 +00:00
Carsten Haitzler 6948e702b6 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler c11da6402e warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 98e8c8706d warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 920d9e57b0 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 27c3b0e940 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 3609b56f5d warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 126f155179 warn - dont use strncpy that leads to warns - memcpy instead
code was fine - it just causes warnings.
2019-01-12 01:51:43 +00:00
Carsten Haitzler dc56dd6ea1 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler a57515d87c warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 25b5d5401c warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler b11dd17594 desklock - fix warn with return no value where val needed 2019-01-12 01:51:43 +00:00
Carsten Haitzler 493bedd5cf warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler ccec0d870f warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler f511777d7b warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler 2e2d26ec43 e eec - dont set startup id on shutdown - pointless and err causing
this caises exehist to want to save and exehist is shutdown by now
with null eet data descriptors so can't anyway... less errs.
2019-01-09 12:24:06 +00:00
Carsten Haitzler a4a8488eb2 deskmirror - fix tracking of deletion of comp obj as it had holes
i got a whole mountain of eo invalid obj complaints from deskmirror
even on startup. the backtraces were long, but they all ended in
comp_object being invalid or null. it seesm deskmiror wasnt properly
tracking the deletion of comp_object outside and that led to this. i
simply set it up once and deleted it where it is no longer referenced
and all is good now. this may possibly in theory have led to odd bugs
but thanks to eo - unlikely.

@fix
2019-01-09 10:37:16 +00:00
Alastair Poole a19c968973 e_main: initialise XDG environment earlier.
Summary:
Moving _xdg_data_dirs_augment call to earlier in
initalisation process. Currently first-run will
leave XDG_MENU_PREFIX broken, thus the application
menu will be empty in E.

Seems eio_init might be the culprit.

Moved to above eio_init.

Test Plan:
* Launch E from X from a console (startx)
* Check application menu (empty).
* Apply patch.
* Launch E from X from a console (startx)
* E's Application menu should be populated.

Related to https://phab.enlightenment.org/D7534

Reviewers: #committers, raster, cedric, zmike, devilhorns

Reviewed By: #committers, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D7535
2019-01-03 18:37:30 +00:00
Christopher Michael a0e394b1a5 conf_interaction: Support mouse acceleration under Wayland
Wayland mouse acceleration uses different values (via libinput) than
X11 does. As such, we need to check the compositor type when creating
the Mouse Input config dialog and adjust values accordingly.

ref T7534

@fix
2019-01-02 14:58:19 -05:00
Carsten Haitzler cbe3858b15 desklock - add explicit manually invoked api and a blocking api
this is so parts of e (moduels etc.) could block a lock for some
reason and differentiate between an automatic lock and a manually
invoked one.
2018-12-15 16:13:28 +00:00
Carsten Haitzler 959b041e12 e_sys - fix l2ping code to work and actually properly ping
it wasn't working. first response may not be a 200 ident so keep
looking for them. also send a bit more than 1 byte to be sure, and
chekc the response is what we sent to be sure. also enforce a timeout
(10sec here) where we give up so it doesn't hang possibly forever.
all in all l2ping in e_sys works again. now. in the process i added a
timeout param too.

@fix
2018-12-15 16:13:23 +00:00
Carsten Haitzler 6321664f08 e - winlist/client - don't leave dangling action on window
as winlist doesn't target specific windows ... don't leave the action
on the window dangling there. finally fixes T6415
2018-11-20 19:08:25 +00:00
Carsten Haitzler 5ba54b7aa8 e winlist focus and input - fix to work with basic wheel/mouse ev
this fixes T6415

@fix
2018-11-09 22:04:24 +00:00
Chris Michael c1a583d0cf e_xkb: Replace deprecated edje_extern_object_aspect_set function 2018-11-08 10:35:15 -05:00
Chris Michael 442f90fd42 e_fm: Replace use of deprecated edje_extern_object_aspect_set function 2018-11-08 10:33:43 -05:00
Chris Michael 2026bbbeee bryce: add missing EINA_UNUSED for unused function parameter 2018-11-08 10:29:24 -05:00
Carsten Haitzler c49f49829f gadgets - get long press plus dnd to behave nice
we had multiple drag resistance values here - unify with 1 and make it
work, now it gets it right deciding between dnd and a long press menu
etc. etc. ...
2018-10-29 17:32:51 +00:00
Carsten Haitzler 63a4475497 Revert "Gadget Menu: Cancel menu after a drag *EITHER* vertically or horizontally, not *BOTH*. Fixes longpress menu interrupting drag in gadgets such as pager."
This reverts commit f56a228e70.
2018-10-26 16:10:01 +01:00
Carsten Haitzler 326271e009 gadget/bryce - add cancellation cb for the context menu 2018-10-26 15:36:56 +01:00
Stephen Houston b708bee7d7 E Gadgets: Restore the behavior of using a binding check on mouse down
while also still using the new menu system.

This binding check/action handler was removed, because I am assuming
that the presumption was that the only binding/action that was handled
was showing a menu?  This was actually not the case.  This
binding/action handler handled resizing, moving, dragging, etc... on
gadgets on the desktop and in the gadget bar.  Without it using gadgets
was near impossible on the desktop and inconvenient on the gadget bar.
2018-10-24 16:33:25 -05:00
Stephen Houston f56a228e70 Gadget Menu: Cancel menu after a drag *EITHER* vertically or horizontally, not *BOTH*. Fixes longpress menu interrupting drag in gadgets such as pager.
The longpress menu was only getting cancelled if a drag occured at a
distance of least 25 pixels.  This is due to the code checking for horizontal drag
distance + vertical drag distance >= 25.  I believe the intent here was
to cancel drag if >= 5 vertically or >= 5 horizontally, not both.  Most
drags wouldn't be 25 pixels in a single gadget such as pager, and a 25
pixel drag would not happen quick enough to offset longpress.  This
commit also lowers the drag cancelling threshold to 3 pixels, not 5.
2018-10-24 15:19:47 -05:00
Carsten Haitzler 2bf682ff5f e menus - fix ungrabbing to ungrab when no active menus are visible
if there are active menus that are not visible the gab may stay- this
fixes that to release that grab when no menus are visible anymore.

@fix
2018-10-18 16:58:51 +01:00
Carsten Haitzler 17ff2a3caf e gadget - fix populate cb proto 2018-10-17 18:13:15 +01:00
Carsten Haitzler b92b546d36 e menu - allow hold mode to be turned off
hold mode is where if u hold mosue down menu stays only as long as
mouse is held down... then dismissed on up. doesnt work well when youa
re trying to overload a single click with longpresses and so on -
optionally turn it off. used in gadgets.
2018-10-17 14:35:49 +01:00
Carsten Haitzler 571daf936d e gadget - allow left mouse drag dnd to cancel long press menu 2018-10-17 11:31:12 +01:00
Carsten Haitzler 06ed527123 bryce - dont segv when unplugging a screen 2018-10-11 16:25:10 +01:00
Carsten Haitzler e4339f4819 bryce - improve usability from code and user by having std right menu
now right click on any gagdte in bryce and they ALL have a menu that
allows removal of the gagdte bar or the gadget as well as access to
gadget settings AND the ability for gadgets to extendthis menu like
lunhcer does per icon. now it's standard behavior everywhere which is
much easier to use and discover. it also removes code from every
gadget to do their own "button 3" handling as its handled centrally
making the code in gadgets simpler.

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

also  long press left mouse gets u gadget right click menu

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

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

all in all it makes the new gagdtes more consistent, easier to use
(without a right mouse button), doesn't need special action bindings
etc. etc.
2018-10-11 16:25:10 +01:00
Carsten Haitzler a9b303baa5 bryce/gadgets - pass orientation to the style wrapper around the gadget
bryce was missing the ability to espose orientation to the child
items, so they were the same irrespective of orientation.

i also notice that orientaiont is a simple horiz/vert ... so no
ability to special case corners etc. in the theme... :( not sure if
this should be changed.

also fix the aspect calculation to round up correctly to avoid
off-by-1 pixel gaps i noticed with the pager - necessary for the
styling in the flat theme to be right.
2018-10-11 16:25:10 +01:00
Marcel Hollerbach a188cfec0e build: e_gadget_loader is using dlsym
but is not explicitly linking against it. Previously this was not
discovered due to a wrong flag in elementaries pkgconfig. However - the
new .pc file of elementary does not contain dl anymore (as no library
_needs_ to link against it when using elm). So we need to link this here
explicitly

Differential Revision: https://phab.enlightenment.org/D7150
2018-10-10 14:51:35 +02:00
Derek Foreman a037001031 Send unique keymap fds to clients
Summary:
Prevent wayland clients from being able to destroy the compositor's
singleton keymap by making individual copies for each client.

Reviewers: zmike, devilhorns

Reviewed By: zmike, devilhorns

Subscribers: cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D6861
2018-08-17 12:28:49 -05:00
Chris Michael f2e0e2d785 enlightenment: Ensure we have a valid menu comp object before calling
Summary:
evas functions

This fixes an issue when quickly mousing through menus can cause a
segfault in Enlightenment due to menu->comp_object being NULL

ref T7030

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric

Tags: #efl, #enlightenment22

Maniphest Tasks: T7030

Differential Revision: https://phab.enlightenment.org/D6641
2018-07-25 14:59:36 -04:00
Carsten Haitzler 986edaf484 e - fix config and don't set ELM_PROFILE as this breaks per scr profiles
elm wont switch profile on the fly if ELM_PROFILE is set this is
considered a custom override thus it stops working... so don't set it
- the elm config files should contain the right profiles to use.
2018-07-25 00:06:02 +09:00
Carsten Haitzler 154c42926d e pixmap - follow on from previous commit to finally fix pixmap tracking
follow on form 4c7b798b45 - really
remove from the alias hash. the alias id is different and should ave
been stored in the pixmap and be deleted when pixmap is freed. i had
it right to remove from the aliases hash too, but i used the wrong id
- i used the "core" pixmap id, not alias. this tracks and uses that
alias.

this means internal windows are reliable now and dont crash...

@fix.
2018-07-19 16:24:08 +09:00
Carsten Haitzler 4c7b798b45 e wl - fix e pixmap tracking to remove from both aliases and pixmaps
on pixmap free only the pixmaps entry was deleted not the pixmaps hash
one. this led to lookup of stale pixmaps in the aliases hash... and
then a crash.

also use the correct local type with the correct byte order as well.
this has probably been an issue for a while but now internal windows
should work much better without crashes.

@fix
2018-07-19 01:58:00 +09:00
Carsten Haitzler 752360e0c0 e randr - fix crash when no zones found 2018-07-18 02:19:12 +09:00
Carsten Haitzler 839d7f4dc2 e blanking - offer option to not use dpms
so a new bug in a gpu driver. if dpms is enabled, wakeup doesn't
happen. mouse doesn't do anything, rendering doesn't happen... i can
use the keyboard and ctrl+alt+enmd restart e or killall -HUP
enlightenment and e restarts and renders ... but nothing appears.
interestingly if i let it timeout again and wake it up a second
time... things render (but e is confused it seems and mouse input
doesnt work until i restart e). it's some kind of xorg/driver bug here
with this dpms - no dpms and all is fine. all e does with regards to
dplms is enable or disbale it (and set the timeouts) so e isn't doing
antyhign special otherwise with dpms on vs off ... so somethnig deeper
down the stack here, but to get a desktop that works at least for now,
add an option to not use dpms.
2018-07-17 13:19:48 +09:00
Mike Blumenkrantz 5365493788 avoid adding render updates for deleted clients after animation completes
Summary:
in the case where deletion is deferred to preserve a window animation this
codepath may be triggered by a deleted client, at which point no render update
should occur in order to avoid compositor errors

ref f78eb3c108
fix T5203

Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: netstar, cedric

Tags: #enlightenment-git

Maniphest Tasks: T5203

Differential Revision: https://phab.enlightenment.org/D6367
2018-06-25 06:54:47 -04:00
Mike Blumenkrantz a6277f4f6d resolve a number of cases where a null object was passed to efl functions
Summary:
these are all harmless but will trigger error messages from efl

ref T7030

Depends on D6315

Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Tags: #enlightenment-git

Maniphest Tasks: T7030

Differential Revision: https://phab.enlightenment.org/D6316
2018-06-19 12:01:43 -04:00
Mike Blumenkrantz bc9bccb2b6 make e_comp_object_frame_icon_update() have a bool return for success
Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D6315
2018-06-19 11:58:25 -04:00
Carsten Haitzler f345721897 client opacity hint handling in x - fix handling to do 0-ffffffff right
e was not properly handling the opacity hint in its 0-0xffffffff
range. in one case it converted e's color value to this range but just
with << 24 which is wrong as it then ignors the next 24 lower value
bits, so it should fill the next 3 bytes with repeats of the same
value to do this right, but far worse is on READING the value it just
used the value as-is as if it were a 0-ff (0-255) alpha value that we
use in evas and didnt "thunk it down" with val >> 24. this resulted in
renoise menus being blank as renoise set the opacity value on its
menu windows and e happily made them transparent thanks to this.

this fixes that.

not to peolpe fro the above. bitshifting DOWN is ok, but bitshifting
UP leaves the lower bits all 0 and you should fill this range with
repetitions of the value to properly scale in integert space with
bitshifts. :)

@fix
2018-06-02 16:35:39 +09:00
Alastair Poole e2d449348f Revert "module loading: use global symbols with BSDs and local with Linux."
This shouldn't be necessary now.
This reverts commit 28ad7b337c.
2018-05-28 10:33:26 +01:00
Alastair Poole 28ad7b337c module loading: use global symbols with BSDs and local with Linux.
The symbol table fix on Linux doesn't translate well on BSD.
Adding code to use the older behaviour with the BSD systems
and retaining the new preferred behaviour when using dlopen(3)
on Linux.
2018-05-27 12:37:18 +01:00
Carsten Haitzler 4723f7e4a7 add rfkill actions to sysactions.conf - necessary for bluez
so bluez itself wont go rfkill block or unblock the bt device. you
have to rfkill unblock separately if it's blocked. this is needed to
make bluez at a minimum work right. possibly should be added to
connman too. but this is the first step.
2018-05-18 21:45:20 +09:00
Carsten Haitzler 5a1e9a995c e laptop lid fixes to bring back behavior and trim down glitches
so i spent a few days lopening and closing the lids of a few laptops,
plugging and unplugging external screens in, plugging and unplugging
ac power and doing lots of combinations of these. this led to a whole
slew of interrealted issues that were pretty hard to detangle into
just single issues, so this is all one blob.

this fixes:

1. if a lid close gets a monitor unplug from x or e's randr wants to
unplug then this lead to slow unsuspend or lid open times as e was
reconfirguring the screens entireluy on lid open. dont do that. just
keep things as is, unless we have an external display, then reconfigure.

2. we had 2 systems monitoring for a wake. a poller and a systemd
event. this was redundant and lead to interesting things in the debug
output, so clean that up and on systemd systsems use the systemd wake
events

3. some systems dont shut down their screens on lid close, so they
stay open until screensaver timeouts kick in. bad. so also force the
screen to go off on lid close (if the lid screen is the only one we
have).

4. x seems to have a bug where if you force dpms off etc. to turn the
screen on, it still thinks it's of and wont dpms off again after that
until you eother give some input to have the wake event make the dpms
system in x think its now time to go on, or you toggle dpms on and
off, so i found toggling tricks x into thinking the right thing.

this makes some debugging also be consistent with printfs.

all in all i have a pretty well supported laptop doing swimmingly with
e and a not so well designed (acpi dsdt - missing many events like
acpi battery ones, ac power change acpi events, missing logic to power
off a closed screen in firmware or hardware and leaving it to sw...
not this laptop has a tocuh panel and extra fun points awarded since
the touch panel doesnt shut off on lid close... AND it reprots touch
events when it closes  as it touches the keys/case... hooray! that has
another work-around local to my system, as efl has no mechanism to do
this).

@fix
2018-05-18 21:45:20 +09:00
Carsten Haitzler 757f7a7279 module loading - use local symbols to avoid symbol table clashes
the mod init/shutdown syms already are bad infesting the global sym
table. keep modules local/isolated and we'll be better off.
2018-05-18 21:45:20 +09:00
Carsten Haitzler 2e5be79c45 bluez5 support - a new module with gadget etc.
Summary:
bluez4 support is now basically dead. nothing ships it anymore. bluez5
is a new api that is rather different so new code. also a new gui with
more complete features etc.

not everything is done as i'd like. need:

1. many more icons for device types (60-70 maybe?)
2. a few specific custom icons for some action buttons (like
pair/unpair)
3. icons for group headers
4. gadget status - the gagdte itself displays zero status. it's a
button to display a popup. that's all.

Reviewers: zmike!

Subscribers: devilhorns, cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D6148
2018-05-18 21:45:20 +09:00
Stephen Houston fa3d86ac84 Remove/mark unused variables to avoid warnings. 2018-04-19 10:18:46 -05:00
Derek Foreman 898af13d6b Defer initial xdg configure for iconified wayland clients
Under wayland, if a client declares itself iconified before its first
commit, we should wait until it's no longer iconified before sending it
a configure.  This way it can avoid uselessly rendering buffers that
will never be displayed.

ref T6834
2018-04-18 13:04:31 -05:00
Carsten Haitzler 7cceed1337 e thumb - be consistent and use safe run for restarting thumbnailer
fix inconsistency in using ecore_exe_run and the e_util wrapper...

@fix
2018-04-12 20:56:46 +09:00
Carsten Haitzler 6da22e22f8 e pan/scrollframe - fix garbage pan values that happen temporarily
during setup garbage pan positions can be set due to uninitialized
local variables. fix that to initialize.

@fix
2018-04-11 14:41:01 +09:00
Carsten Haitzler 20130aec91 efm - dont add null icons to list ... fixes segv
as per title. dont store null icons in the list - not intended to be
that way.

@fix
2018-04-11 14:38:55 +09:00
Carsten Haitzler da02b865f9 startup - fix management of timer pointer for startup timeout
fixes access of invalid timer pointer value on slow systems. (was
being caught with magic/invalid eiod before)

@fix
2018-04-11 14:37:57 +09:00
Carsten Haitzler f13b79c02b efm - fill in some media icon blanks which lead to generic icons
i found a thumbdrive i got a generic "whatever" file icon for...
because efm media type matching didnt find an icon name for it. fix
that.
2018-04-10 17:50:57 +09:00
Carsten Haitzler 8dcf7a8b0a e startup - support gnome autostart delay
support autostart delay - fixes T6785
2018-04-03 18:39:06 +09:00
Carsten Haitzler ab88e01afa edge flip while dragging with alt - fix to work again
this fixes when you drag a wqindow to screen edge and it flips if you
use alt+drag as opposed to just dragging titlebar around without alt.
it fixes it by updating your config to allow "any modifier" for edge
flips which is actually correct.

@fix
2018-04-01 14:29:38 +09:00
Carsten Haitzler 1738aa6cab e menus - when filtering for exe handle quotes, escapes etc.
handle quotes, escapes and so on for the shell command so you can do
things like Exec="ls" and it still work. this will also allow
executables with spaces in them as well with quotes or escapes as
backslash.

this fixes T6787
@fix
2018-03-27 18:59:33 +09:00
Carsten Haitzler 851acc7ff7 desklock - pass lock state info to e_start to lock on crash restart
is e crashes, catches it and restarts while locked you end up
unlocked. this lets enlightenment_start know this lock down state and
it sets an env var to ensure locking happens on restart after recovery.
2018-03-23 17:18:00 +09:00
Derek Foreman 687fd79d25 Fix recent typo in mirror object alpha setting
ref 6a04bfb0ff
2018-03-21 15:54:12 -05:00
Derek Foreman bc3f3c16b7 Fix single frame broken render on wayland client opaque region change
Turns out this is called too late in the render pass and a single frame
can occur with the old border setting.  This can lead to nasty flicker
artifacts.
2018-03-21 14:19:39 -05:00
Derek Foreman 6a04bfb0ff Move alpha set for mirrors out of pixels_get callback
the pixels_get callback fires too late for this to work properly, so
set it in e_comp_object_dirty() instead.
2018-03-21 14:17:16 -05:00
Derek Foreman 0907d6c9d0 Remove useless pixels_dirty_set from mirror_pixels_get
This is implicit at the end of render.
2018-03-21 14:14:52 -05:00
Carsten Haitzler a1994536a4 move from data_home/apps/defaults.list to config_home/mimeapps.list
this moves to the newer mimeapps.list file in ~/.config from the older
defaults.list. it also provides a migration (copy file ovr if target
doesnt exist on e startup).

this fixes T6784

@fix
2018-03-20 20:36:56 +09:00
Carsten Haitzler 55c8ac4625 e desklock pam error - go back to previous text
since we had translations of this, go back to the prior text so we
keep these. also dont show if using a personal password. related to
fixing T6779
2018-03-20 19:31:12 +09:00
Carsten Haitzler a77951f823 desklock - make it fail to lock on non-bsd platforms if no pam support
if no pam support detected at build time, dont even lock to begin
with. this should fix T6779

yes - even better is making pam a requirement for building and to be
optionallhy disabled, but then even if disabled we still need this check.

this has been a long long long standing bug in e. i think this is why
we had some reports of "any password unlocks e" - because it was built
without pam support and before auth was always succeeding without pam.
now it is always FAILING instead (which is probably better).

@fix
2018-03-20 18:42:18 +09:00
Al Poole f72aa5671d ckpasswd: fix build on OpenBSD (typo) 2018-03-09 16:37:04 +00:00
Al Poole eee5853dac e_object: set pointer to NULL after cleanup func. 2018-03-02 11:40:53 +00:00
Al Poole d70733bbdc Byte order macro. Be consistent and get rid of clang warnings. 2018-03-01 18:35:16 +00:00
Mike Blumenkrantz b950ae8020 remove adding theme extension for "default" theme on startup
elm_theme does this automatically so there should never be a need for it
2018-02-27 17:41:01 -05:00
Carsten Haitzler 51cb454993 e auth - move all auth to child process only (e_ckpasswd).
this should fix T6211 ensuring no drivers can cause a segfault at exit
time. this also happens to remove the enlightenment_sys -z option for
openbsd and unifies all the passwd checking into the single
enlightenment_ckpasswd binary util (that has ifdefs for openbsd,
freebsd and linux pam in it).

this simplifies code removing a mess of auth being done in multiple
places, removes special fork vs run 1 exe or a different exe in
different cases making it more maintainable. yes - this requires
enlightenment_ckpasswd to be setuid root, but it already was when it
was built.

@fix
2018-02-26 19:01:46 +09:00
Mike Blumenkrantz f57cd82beb set E_GADGET_ANCHOR env var corresponding to the gadget sites anchor
this value can change without destroying the gadget, but it can be
helpful to have this data available during initial setup
2018-02-22 17:08:42 -05:00
Mike Blumenkrantz 52e7131477 add info about gadget bindings to editor, make editor movable
ref T6341
2018-02-22 16:21:16 -05:00
Mike Blumenkrantz 7156ed8c38 always unset pass_events on desktop editor when it is shown
fixes some cases where the editor could not be interacted with after
it was hidden during gadget placement
2018-02-22 16:21:16 -05:00
Mike Blumenkrantz b51552ca87 do not add gadget editor pointer site to editor del_list
the pointer site will never exist at the time when the editor is
destroyed
2018-02-22 16:21:16 -05:00
Mike Blumenkrantz fd4a942906 add e_binding function to return printable string of modifiers for mouse binding 2018-02-22 16:21:16 -05:00
Thanatermesis ca99207bdc Fix for window borders to accept edje icons
If you have edje icons installed in your system (efreet smartly searches
the candidate icon based in your Icon= entry), they works correctly in
the menus, bar, etc... but doesn't works in the window borders icon,
this is because the code try's to add it without dealing with the .edj
extensions, probably attempting to load multiple image types and
returning some errors/warning, resulting in an empty icon in the window
borders

Fixes T6723
2018-02-22 19:35:38 +01:00
Mike Blumenkrantz 5de469a690 toggle sandbox gadget visibility during desklock for non-desklock gadgets
this triggers surface.leave events for clients while desklock is active
and allows them to conserve resources
2018-02-22 12:59:13 -05:00
Mike Blumenkrantz c1cd24a561 process comp object hide/show signals immediately during intercept
for objects without animations, it's important to instantly perform
state transitions in order to preserve intended visibility behaviors of
these objects and avoid race conditions due to asynchronous signal
processing

fix T6722
2018-02-22 12:36:47 -05:00
Mike Blumenkrantz 10ae53b994 re-set sandbox gadget cmdline on startup
ensure that this is updated in case the .desktop changes
2018-02-22 11:45:46 -05:00
Mike Blumenkrantz af24997906 disable bounce for gadget bar scrollers
fix T6721
2018-02-22 08:49:34 -05:00
Mike Blumenkrantz d24055e361 store gadget orientation for runner gadgets
ref 66030a4639
2018-02-13 11:43:19 -05:00
Mike Blumenkrantz 66030a4639 set E_GADGET_ORIENTATION env var when launching sandbox gadgets 2018-02-13 10:48:14 -05:00
Mike Blumenkrantz 5bbc335ed9 remove gadget runner function stubs for pre 1.21 compat 2018-02-06 11:17:37 -05:00
Mike Blumenkrantz ed361340d7 don't require E_START env var to be set when running on valgrind
make manually valgrinding easier
2018-02-06 11:17:26 -05:00
Mike Blumenkrantz 1106bbde50 prepend input event handlers during init to ensure continued functionality
these handlers must always be the first to be called, so it's necessary
to guarantee that they will always be first in the list of handlers
2018-02-06 11:17:20 -05:00
Mike Blumenkrantz ec8b606614 add macro for adding a prepended event handler to a list 2018-02-06 11:17:14 -05:00
Mike Blumenkrantz aba428d86c add missing efl-wl header from mismerged commit
ref 9a484d1b64
2018-02-06 11:00:09 -05:00
Mike Blumenkrantz e662727595 Revert "use wl client geometry when calculating input rect geometry"
This reverts commit aa404d3916.

this seems to be an intermittent issue that should probably be fixed
elsewhere...

fix T6646
2018-01-29 12:38:05 -05:00
Mike Blumenkrantz 3c7f444f11 fix unused param warning 2018-01-25 14:20:41 -05:00
Mike Blumenkrantz aa404d3916 use wl client geometry when calculating input rect geometry
the x/y values of a comp object are unreliable during init, so ensure
valid coords are used to avoid accidentally moving input rects offscreen
2018-01-25 14:19:19 -05:00
Mike Blumenkrantz 79d757e21e add runner gadget objects to global efl-wl list and handle dynamic seat additions
enforce keymap passthrough under wayland
2018-01-24 16:18:57 -05:00
Mike Blumenkrantz 9a484d1b64 add generic handling for passing xkb objects to efl-wl objects under wayland
ensure that keymaps are effectively propagated to efl-wl clients and that key
presses are always propagated
2018-01-24 16:18:57 -05:00
Mike Blumenkrantz 27d505fb59 require [X-Gadget-Bugreport] entry for sandbox gadgets, integrate bug reporting 2018-01-22 17:03:45 -05:00
Mike Blumenkrantz 6f9b14b8ee print notifications to stderr if a notification handler doesn't exist 2018-01-22 16:52:00 -05:00
Mike Blumenkrantz 815391126e further protect against crashes when xwayland crashes 2018-01-22 16:51:40 -05:00
Mike Blumenkrantz 0e53e5aade xwayland popups don't require a parent surface on commit 2018-01-22 16:51:05 -05:00
Mike Blumenkrantz 8ffda5f23a don't do x11 window grab for fps counter when running in wayland mode
this crashes older efl
2018-01-22 16:21:28 -05:00
Mike Blumenkrantz efa9f4276a fix notification crashes when a callback isn't specified 2018-01-22 16:06:42 -05:00
Mike Blumenkrantz 69c570104a require X-Gadget-Version field for sandbox gadget .desktops 2018-01-22 15:59:09 -05:00
Mike Blumenkrantz 83041e4815 add menu item for reporting bugs
fix T6633
2018-01-22 15:35:58 -05:00
Mike Blumenkrantz 35f705a621 support gadget versions with [X-Gadget-Version] .desktop entry
fix T6397
2018-01-22 15:25:31 -05:00
Mike Blumenkrantz 9bba6e80e4 require [Type] = Application for sandbox gadget .desktop entries 2018-01-22 15:20:38 -05:00
Mike Blumenkrantz aa9ece4722 require [Name] entries for sandbox gadget .desktop files 2018-01-22 15:20:38 -05:00
Mike Blumenkrantz 83952a1708 add notification util function for more easily sending notifications
still need some kind of sticky notification for important things
2018-01-22 15:20:38 -05:00
Mike Blumenkrantz 109d7897b0 show title for gadget bar menus 2018-01-22 15:20:38 -05:00
Mike Blumenkrantz 0e14928811 add sandbox/runner gadget types to gadget menu as title 2018-01-22 15:20:35 -05:00
Mike Blumenkrantz d309a9c39b add gadget type to gadget menu header for internal gadgets 2018-01-22 14:39:53 -05:00
Mike Blumenkrantz 9a557876c2 use normal emotion function to determine playability of e_thumb files
ref 82f1b8a1c1
ref D4779
2018-01-22 14:16:26 -05:00
Mike Blumenkrantz adc3c5ac81 clamp large windows to desk's useful geometry if smart placement fails
in the case where a window does not place with the smart placement algorithm,
clamp position to the top-left available position within the useful geometry
so that the titlebar will always be visible
2018-01-22 13:41:45 -05:00
Mike Blumenkrantz 7f649d078b block gadget site layouts on moving gadgets which are not on the pointer site
these will be recalculated correctly once the move operation terminates

fix T6623
2018-01-22 11:17:54 -05:00
Mike Blumenkrantz e787a71048 clear visible gadget popups when triggering a gadget action 2018-01-18 15:33:11 -05:00
Mike Blumenkrantz 617735ca4c consider gadget ctxpopups as normal popups for callback purposes 2018-01-18 15:31:43 -05:00
Mike Blumenkrantz 265dd55163 sort gadgets alphabetically in gadget editor 2018-01-18 15:02:11 -05:00
Mike Blumenkrantz 037068112f flush injected gadget loader protocol connections after calling methods
ensure that gadget-specific methods trigger a flush instead of relying
on a render to occur
2018-01-17 17:31:09 -05:00
Carsten Haitzler d73d902292 init anim - fix sudden vanish of init splash in some cases
this seems to happen to @manmower in T6619. it may just be timing
changes that changed the start loop time to be at init of ecore maybe ...
but it was doing a forced hide and not a clean "done"
that animates/fades. so fix this along with deferring show until the
first render pre.

this fixes T6619
2018-01-17 18:14:29 +09:00
Mike Blumenkrantz 683f76beab add a lot of null checks to wayland egl init
fix T6617
2018-01-16 18:36:11 -05:00
Stephen Houston f4cff7229f Mark unused parameters as EINA_UNUSED and remove unused variables. 2018-01-12 16:58:16 -06:00
Mike Blumenkrantz 0fa5d3d0e3 rename Bryce -> Gadget Bar in ui elements
this was a joke that accidentally went on way longer than intended
2018-01-12 15:23:52 -05:00
Mike Blumenkrantz 7b31d05ff2 unset E_Client->changes.pos when attempting to maximize a new re_manage client
a remaining client from before a restart which is maximized does not need its
position adjusted; this will cause it to go offscreen when unmaximized

ref T6414
2018-01-12 12:26:21 -05:00
Mike Blumenkrantz 6c97716899 use e_zone_desk_useful_geometry_get() for all client maximize geometry fetching
fix T6414
2018-01-12 12:26:21 -05:00
Mike Blumenkrantz b95e28fd91 propagate sandboxed gadget tooltip sizes as aspects
xdg_popup does not have min size hints, so instead we can proxy aspect through
to mimic this behavior
2018-01-11 16:24:00 -05:00
Mike Blumenkrantz 94270ffd93 pass correct pointer to sandbox gadget tooltip destructor
fix crash when hiding tooltips
2018-01-11 16:24:00 -05:00
Mike Blumenkrantz 6b002d58a2 explicitly show sandbox gadget extracted surfaces
ensure that these surfaces are made visible if they have not yet been internally
mapped

ref T6443
2018-01-10 14:22:11 -05:00
Mike Blumenkrantz 0568e20ba5 use SIGTERM for closing all sandbox gadgets, SIGUSR2 for removing gadgets
this should be more usable
2018-01-09 14:41:14 -05:00
Mike Blumenkrantz 83f77b0156 use SIGINT when closing sandboxed gadgets 2018-01-09 10:01:32 -05:00
Mike Blumenkrantz d2c85e5471 Revert "add sandbox gadget event to indicate gadget removal"
This reverts commit 6549353b53.

I had forgotten that this is already handled by other means
2018-01-09 09:57:36 -05:00
Mike Blumenkrantz 6985df9058 throw unconfigured buffer error as necessary in wl_surface.commit 2018-01-08 11:53:52 -05:00
Mike Blumenkrantz beb6922a17 always throw error in wl_surface.commit for unparented popup surfaces 2018-01-08 11:52:58 -05:00
Mike Blumenkrantz 5cc08794ee handle passed output resource for xdg-shell fullscreen request 2018-01-08 11:14:05 -05:00
Mike Blumenkrantz f34c780db3 print error when failing to unlink efm/eeze mount point after unmount
CID 1382955
2018-01-08 10:46:25 -05:00
Mike Blumenkrantz 6ad75a5e85 protect against null deref when emitting efm/eeze error messages
CID 1382954
2018-01-08 10:46:25 -05:00
Mike Blumenkrantz b9a9bd1da9 refactor E_Storage finding for efm/eeze volumes in backend
CID 1382951
2018-01-08 10:46:25 -05:00
Mike Blumenkrantz c662eab434 add sandbox gadget event to indicate gadget configure
ref T6443
2018-01-05 12:33:39 -05:00
Mike Blumenkrantz 8bd02aca70 set runner gadget instance data to gadget object, not sandbox object
fixes crash when configuring gadget
2018-01-05 12:33:39 -05:00
Mike Blumenkrantz 6549353b53 add sandbox gadget event to indicate gadget removal
ref T6443
2018-01-05 12:33:39 -05:00
Mike Blumenkrantz 81891eeb8e explicitly tag sandbox gadget instances as such 2018-01-05 12:33:39 -05:00
Mike Blumenkrantz a8ebefcb68 use only required wayland protocol files for gadget loader build 2018-01-05 12:33:39 -05:00
Mike Blumenkrantz 99f1f21665 only use first-added window for gadget interfaces in sandboxing
popups and tooltips are not valid for gadget api use, only the base window
for a gadget should receive/use gadget methods
2018-01-05 12:33:39 -05:00
Mike Blumenkrantz e78c1843ae handle tooltips in sandboxed gadgets
fix T6335
2018-01-05 12:33:39 -05:00
Thanatermesis 3d9044a9fc improved default size for icons in menus that looks pixelated 2018-01-04 20:22:42 +00:00
Ross Vandegrift 629f7d41c8 clean up .desktop files and misc typos
Summary:
Drop deprecated Encoding key from desktop files

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

Fix various typos and misspellings

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

Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5585
2018-01-04 09:57:52 -05:00
Derek Foreman 2a7312d2bc Fix potential NULL pointer dereference
CID 1382953
2017-12-21 09:54:42 -06:00
Al Poole 481a4d6611 build: fix meson build on FreeBSD.
Summary: -Dsystemd=false and -Ddevice-udev=false with this.

Reviewers: raster, zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5648

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-12-15 11:32:20 -08:00
Carsten Haitzler 4f26b4b1dd e come client - actually set placed more generally...
previous fix... was not general enough. put this outside the if that
only places if props change or size pos hints need fetching.

@fix
2017-12-14 23:10:58 +09:00
Amitesh Singh 4d340f2114 Revert "re-enable building against latest efl git"
This reverts commit a782beba82.

the legacy API was missing. I added it in EFL now.
Refer 1264fb4af2 in EFL.

Fixes T6500
2017-12-13 13:45:35 +09:00
Chris Michael a782beba82 re-enable building against latest efl git
In EFL git head, this function has changed to be just
evas_object_coords_inside_get. This patch wraps the two different
function names around an #ifdef so we can check EFL version that we
are building against and call the correct function accordingly.

Fixes T6500

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-12-12 10:19:37 -05:00
Marcel Hollerbach 45aeda7843 build: enable -lintl if we find it
otherwise translations are not working
2017-12-11 15:47:33 +01:00
Carsten Haitzler a2740126f1 e client - fix initial placement of override redirect windows in x....
several override redirect windows are being forcibly re-placed by e.
they should not be. ever. this affects scim's IM panel i see and
chromium's menus. it probably affects more than this. this fixes both
of these cases for sure. probably more.

@fix
2017-11-26 00:28:31 +09:00
Mike Blumenkrantz bd88282047 remove autotools 2017-11-20 07:05:36 -05:00
Carsten Haitzler 9fe7343180 fix mouse hangs after unblank
this fixes T5883
2017-11-14 18:15:26 +09:00
Derek Foreman db9e70708a Make e_gadget_runner.c compile on efl 1.20
It won't work, but it won't fail to build.  Temporary hack until 1.21
is released.
2017-11-09 12:39:24 -06:00
Mike Blumenkrantz 8b798d9fb0 move x11 client re_manage code into corresponding NEW_CLIENT hook
setting desk after e_client_new() completes is too late, as a desk will have
been automatically set by this time and any existing positioning data will
have been mangled in the process

fix T6317
2017-11-08 09:29:35 -05:00
Mike Blumenkrantz f05b26c8a3 set zone/desk for clients after creating comp object
previously this resulted in attempting to move the comp object before it
was created, but evas does not throw any errors when null is passed and so
it was never noticed

fix T6317
ref T6326
2017-11-08 09:29:28 -05:00
Mike Blumenkrantz a7d5920ba6 unset E_Client->changes.pos for re_manage clients
I think this was unintentionally working around a placement bug?
2017-11-08 09:28:52 -05:00
Mike Blumenkrantz 99db9e2557 more E_BITFIELD conversions 2017-11-08 09:22:24 -05:00
Mike Blumenkrantz 791f70541d unify meson version requirements for efl 2017-11-07 10:41:45 -05:00
Mike Blumenkrantz 19a807bdb2 always emit E_EVENT_COMP_OBJECT_ADD events
fix T6322
2017-11-07 10:40:12 -05:00
Mike Blumenkrantz e7cfd06675 avoid performing client rescales during shutdown 2017-11-07 10:40:00 -05:00
Mike Blumenkrantz 59fa0e418d use E_BITFIELD define for bitfield struct members
on release builds this will be a bitfield, on devel builds it will make
bools a normal unsigned char for easier debugging
2017-11-07 10:39:56 -05:00
Mike Blumenkrantz f78eb3c108 requeue client for render if show animation completes and damages exist
attempt to catch clients which have a render queued prior to the image
becoming visible
2017-11-07 10:39:33 -05:00
Mike Blumenkrantz dde4bafd7f add field width limits to all fscanf params in e_intlc.
fix T6316
2017-11-07 10:39:17 -05:00
Carsten Haitzler 147bc7a6da e comp object - patch volume update case for propagating state signals
complete f161edc3f3 with missing update
case

@feature
2017-11-07 16:16:33 +09:00
Carsten Haitzler f161edc3f3 comp object -> propgate signals to the volume objects from the frame
if frame changes (eg by focus signals) the volume object cant adapt.
send signals to it too so it can adapt if it wants to.

@feat
2017-11-07 15:41:35 +09:00
Carsten Haitzler 4f5067dde9 hits: silence warnings about possible null string for strcmp 2017-11-06 11:19:39 +09:00
Carsten Haitzler dd9a6637e4 e sys - frix warning for less noise
though act will not be set unless mnt is also true... this means less
noise from compiler wanrings so we can focus on real errors.
2017-11-06 10:24:37 +09:00
Mike Blumenkrantz b40398ab30 make autotools build depend on protocol xml files to pull in changes 2017-11-03 14:01:17 -04:00
Mike Blumenkrantz aeee701b63 fix undefined symbols on autotools+wayland build 2017-11-03 14:01:14 -04:00
Mike Blumenkrantz ecb0370ea9 save sandbox gadget configs when saving normal gadget config 2017-11-03 13:51:41 -04:00
Mike Blumenkrantz 2e81e5f8de disable sandbox gadgets if loader cannot be found on startup 2017-11-03 13:51:12 -04:00
Mike Blumenkrantz b8f8c42aec make wl_pointer cursor handling state-based to correctly handle cursor visuals
this fixes a lot of corner cases such as apps which set their cursor before
receiving pointer.enter events
2017-11-03 13:21:57 -04:00
Mike Blumenkrantz 58e686caec show internal pointer cursor whenever resetting to internal cursor
don't rely on efl internals for this
2017-11-03 13:19:54 -04:00
Mike Blumenkrantz f4470e002e add gadget sandboxing
docs in progress, tasks https://phab.enlightenment.org/project/board/179/
2017-11-03 11:47:35 -04:00
Mike Blumenkrantz 9302f23a56 bump efl pc required version 2017-11-03 11:43:07 -04:00
Mike Blumenkrantz 3ddd090173 fix non-pam build with meson 2017-11-01 14:04:06 -04:00
Mike Blumenkrantz 577f62e9b1 pass key downs through xkbcommon
bad copy/paste in 984a1facd9
2017-11-01 13:20:19 -04:00
Mike Blumenkrantz b5320b6246 explicitly free client animation agent object during fullscreen operation
ensure that animations do not persist after fullscreen state has been set
2017-10-31 12:04:48 -04:00
Mike Blumenkrantz 0f216c7e95 handle more mouse buttons under wayland
this was incorrectly referenced from weston's x11 compositor, which directly
uses xcb events and sends them as wl_pointer events. efl translates all input
events to use the same button scheme numbering, coincidentally enabling the use
of this code for all backends
2017-10-30 10:51:20 -04:00
Mike Blumenkrantz 47df20207d block wl modal window destructor from intercepting xwl modal windows
failing to pass these to the xwl destructor breaks the xserver

ref T5593
2017-10-30 10:29:39 -04:00
Mike Blumenkrantz ac49e6de22 unset xwayland client changes.pos flag during xwl->wl switch if client is unplaced
fixes some initial client positioning issues
2017-10-30 10:29:39 -04:00
Carsten Haitzler 4f8e3acfcf nvidia driver workaround atexit handlers for pam auth
this works around an apparently atexit() handler in nvidia drivers
that if you fork() a parent and do NOT exec() then the child process
will end up messing with the parent processes access to the nvidia
devices/display/whatever i believe via an atexit() handler because
moving from exit() to _exit() solves the issue. fixes T6197

@fix
2017-10-30 13:11:06 +09:00
Carsten Haitzler 3daf3ac456 e main - xdg runtime dir fixup - dont overwrite same buffer
this path i never saw triggered before on linux because xdg runtime
dir is set... but if it isn't... dont mess up the runtime dir path

@fix
2017-10-28 23:43:50 +09:00
Mike Blumenkrantz 3d701839b6 send wl pointer leave for deleted clients if viable 2017-10-27 13:21:03 -04:00
Mike Blumenkrantz bbb3ec1fc5 unset client's mouse-in state on mouse out even while fullscreen or deleted
the state should always be updated regardless of these attributes
2017-10-27 13:21:03 -04:00
Carsten Haitzler 32be41d505 ptr grab/ungrab for blank/unblank - log stages and work done for debug
looking to get more info for what is going on...
2017-10-26 10:50:37 +09:00
Derek Foreman 930cf317d6 Clear stored root window id when shutting down X
Currently e_comp_util_has_x() will still return true after the X
machinery is shut down - this can lead to crashes on logout under
wayland when xwayland apps are running.  Clearing the root window
id resolves this.

@ref T5593
2017-10-25 10:45:05 -04:00
Mike Blumenkrantz c09b2f35dd add client refs for volume control sinks
ref T6150
2017-10-25 10:45:05 -04:00
Mike Blumenkrantz 40be5b9d45 move x11 compositor cleanup into shutdown function 2017-10-25 10:45:05 -04:00
Derek Foreman 680b7b485d Fix xwayland related crash when mousing out of a window
XWayland likes to set a buffer on the cursor surface then delete it before
we release it.  I'm pretty sure when a client does that we're within spec
to just kill it, but users will likely find this response ungratifying.

So, instead, just gracefully fail to render the undefined surface.

@ref T5593
2017-10-24 13:57:00 -05:00
Mike Blumenkrantz 02ea045ca7 cancel wl selections after removing destroy listener
cancel may destroy the selection source, resulting in invalid access

==10735== Invalid write of size 8
==10735==    at 0x87C8095: wl_list_remove (wayland-util.c:56)
==10735==    by 0x2EE745: _e_comp_wl_data_device_selection_set (e_comp_wl_data.c:506)
==10735==    by 0x2EF241: _e_comp_wl_data_device_cb_selection_set (e_comp_wl_data.c:714)
==10735==    by 0x1021F037: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x1021EA99: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x87C70C0: wl_closure_invoke (connection.c:935)
==10735==    by 0x87C13C8: wl_client_connection_data (wayland-server.c:406)
==10735==    by 0x87C4483: wl_event_source_fd_dispatch (event-loop.c:90)
==10735==    by 0x87C4DE4: wl_event_loop_dispatch (event-loop.c:423)
==10735==    by 0x85AE346: _cb_create_data (ecore_wl2_display.c:399)
==10735==    by 0x946857A: _ecore_call_fd_cb (ecore_private.h:347)
==10735==    by 0x946AE51: _ecore_main_fd_handlers_call (ecore_main.c:2015)
==10735==    by 0x946B823: _ecore_main_loop_iterate_internal (ecore_main.c:2403)
==10735==    by 0x946935E: ecore_main_loop_begin (ecore_main.c:1308)
==10735==    by 0x151139: main (e_main.c:1088)
==10735==  Address 0x222ca980 is 16 bytes inside a block of size 136 free'd
==10735==    at 0x4C2CE1B: free (vg_replace_malloc.c:530)
==10735==    by 0x2F076F: e_comp_wl_clipboard_source_unref (e_comp_wl_data.c:1291)
==10735==    by 0x214C6A09: _xwayland_send_cancelled (dnd.c:149)
==10735==    by 0x2EE71D: _e_comp_wl_data_device_selection_set (e_comp_wl_data.c:504)
==10735==    by 0x2EF241: _e_comp_wl_data_device_cb_selection_set (e_comp_wl_data.c:714)
==10735==    by 0x1021F037: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x1021EA99: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
==10735==    by 0x87C70C0: wl_closure_invoke (connection.c:935)
==10735==    by 0x87C13C8: wl_client_connection_data (wayland-server.c:406)
==10735==    by 0x87C4483: wl_event_source_fd_dispatch (event-loop.c:90)
==10735==    by 0x87C4DE4: wl_event_loop_dispatch (event-loop.c:423)
==10735==    by 0x85AE346: _cb_create_data (ecore_wl2_display.c:399)
==10735==    by 0x946857A: _ecore_call_fd_cb (ecore_private.h:347)
==10735==    by 0x946AE51: _ecore_main_fd_handlers_call (ecore_main.c:2015)
==10735==    by 0x946B823: _ecore_main_loop_iterate_internal (ecore_main.c:2403)
==10735==    by 0x946935E: ecore_main_loop_begin (ecore_main.c:1308)
==10735==    by 0x151139: main (e_main.c:1088)
==10735==  Block was alloc'd at
==10735==    at 0x4C2DC05: calloc (vg_replace_malloc.c:711)
==10735==    by 0x2F0520: e_comp_wl_clipboard_source_create (e_comp_wl_data.c:1231)
==10735==    by 0x214C71C9: _xwl_selection_notify (dnd.c:286)
==10735==    by 0x946130C: _ecore_call_handler_cb (ecore_private.h:331)
==10735==    by 0x94626BC: _ecore_event_call (ecore_events.c:629)
==10735==    by 0x946B83E: _ecore_main_loop_iterate_internal (ecore_main.c:2408)
==10735==    by 0x946935E: ecore_main_loop_begin (ecore_main.c:1308)
==10735==    by 0x151139: main (e_main.c:1088)
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz 160d6b91a0 null wl clipboard+selection source pointers when destroying clipboard source
fix T6242
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz b24b68df77 set null input regions for surfaces upon calling set_cursor or start_drag
these surfaces have no input region according to spec
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz 5cab9486f3 ignore set_input_region requests for wl surfaces which are cursors or drags
according to spec this is correct behavior
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz b3356a7e8f do not unqueue render when deleting a client's render update
a render loop may run for reasons other than rendering a specific client
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz ef69fabd47 add client refs for the nocomp client
this client may be referenced after deletion during render loop

fix T6151
2017-10-20 13:40:20 -04:00
Carsten Haitzler 0fada40917 smart suspend - honor suspend on ac or not flag as it should
so if you closed the lid ANd didn't have external screens ANd had ac
plugged in ... e would suspend even if youdidn't have "suspend on ac"
checked in blanking dialog. respect this and handle it properly.

@fix

side note... i've notced acpid no longer reporting lid events on one
of my systems. this is very sucky. you now have to open
/dev/input/event2 (this may vary from device to device) to get lid
events... it's an input device. this means elput needs to start doing
this as we cant get power button or lid events anymore .... and we may
have to do this for x11 too.
2017-10-18 13:33:47 +09:00
Mike Blumenkrantz f20765df67 add render update when showing clients if damages exist
ensure that these clients render as expected

ref T5593
2017-10-13 09:46:19 -04:00
Mike Blumenkrantz fd68c99b64 always use e cursor theme for canvas pointers
canvas pointer = wl compositor pointer = always use e theme since there is no
loader for x11 cursors
2017-10-09 07:09:38 -04:00
Mike Blumenkrantz caab810b39 check for non-wl compositor when forcing application cursors onto pointers
comp_type is not set during initial pointer creation on startup but will be set at
the point of xwl startup, so use a check which will succeed

fix T6157
ref 2b8c70fe98
2017-10-09 07:09:38 -04:00
Mike Blumenkrantz 03982a1408 Revert "do not apply enlightenment cursor theme for xwayland clients"
This reverts commit 80abcc5600.

sort of worked, sort of irrelevant
2017-10-09 07:09:38 -04:00
Carsten Haitzler b60ff200e9 e sys - handle phantom wakeups from sleep on some devices
this laptop wakes from suspend if you plug or unplug it while
suspended. this leads to bad things. fix nthis by checking lid state
and resuspending if this happens.

@fix
2017-10-07 20:28:24 +09:00
Mike Blumenkrantz d7a08ed74e block relative motion event sending when pointer is outside input area
stop sending events to xwl clients at all times
2017-10-05 12:26:19 -04:00
Mike Blumenkrantz 80abcc5600 do not apply enlightenment cursor theme for xwayland clients
wayland always uses the client's cursor, so maintain that consistency
2017-10-05 11:42:24 -04:00
Mike Blumenkrantz 2b8c70fe98 set default cursor on root window for xwl pointer
ref T5593

 #TheDisappointer
2017-10-04 14:09:35 -04:00
Mike Blumenkrantz 8121f20a03 handle x11 shaped input under xwayland 2017-10-03 14:59:47 -04:00
Mike Blumenkrantz b686f3871d add max size input rects for wl clients on creation
according to spec, surfaces begin with infinite input area
2017-10-03 14:40:36 -04:00
Mike Blumenkrantz 9983172f32 set comp object alpha state when applying native surface
ensure that alpha is set accurately for the native surface
2017-10-03 14:40:03 -04:00
Mike Blumenkrantz 4d76f409f8 block gadget configuration unconditionally while desklock is active 2017-10-03 13:52:44 -04:00
Mike Blumenkrantz 031b0bdc60 deduplicate global gadget handler variables
ref T6125, T4648
2017-10-03 13:50:16 -04:00
Mike Blumenkrantz d7060c7c6f redo bryce eventing
post events are way harder and I don't know why I didn't do this in the
first place?

fix T5974
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 6f186db24b clamp expanding gadget size to 0 to prevent sizing overflows
if the expanded size is negative then the size should be 0 and the gadget is
not visible
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 7c726172e4 handle gadget site layouts using accurate parent geometry 2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 42d707909e simplify focus on commit block for wl clients
none of this applies to popups
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 001085f349 do not set E_Client->take_focus for popup wl clients 2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 984a1facd9 pass keys through xkbcommon under wayland lockscreen
ensure that key states are retained when unlocking
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 4ae2145330 move gadget editor help text onto the editor popup
ref T4648
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 2d2ad13537 add comp object function to get the content of a util_add object 2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 129bb14d2d don't show xwayland clients unconditionally on commit
ensure that the client's desk is visible

fix T6024
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 1d5977c02a do not unnecessarily rescale clients
this function is mainly for rescaling maximized/fullscreen clients to fit new
dimensions, so don't call on other clients since this can trigger unwanted resize
 events
2017-09-28 13:03:37 -04:00
Mike Blumenkrantz 15ea006eb5 block client rescales during render updates
this guarantees misrenders
2017-09-28 13:03:37 -04:00
Mike Blumenkrantz 80349d417d Revert "do not perform client moves during comp updates"
This reverts commit def2b0c5fc.

breaks some resize directions
2017-09-28 13:03:37 -04:00
Stephen 'Okra' Houston bb4d69519f E Exe: Semi revert 2082bb51d3. The ref count was off to begin with. 2017-09-26 22:11:21 -05:00
Stephen 'Okra' Houston 2082bb51d3 E Exe: Since we no longer ref clients in the phony cb, don't free them after reffing them in instance_client_add. 2017-09-26 22:01:15 -05:00
Derek Foreman a85a602a39 Revert "Set close on exec for stdin"
This reverts commit 40e8bb044c.

EFL master solves this properly
EFL stable currently has a bug that solves this accidentally

so there's a window of about 3 commits in git where it's a problem,
and nobody should run those commits in production :)

This fix caused some problems when restarting E, as stdin would
cloexec and then the following startup would try to set cloexec
on an invalid fd and generate an err that generated a cri because
of an invalid log domain.

Someone should probably figure out the log domain thing.
2017-09-26 14:19:24 -05:00
Derek Foreman f4f08ee99a Stop queuing wl_buffer release events
Now we just kick them out immediately.
2017-09-26 11:41:19 -05:00
Mike Blumenkrantz 1f650605a0 emit E_EVENT_EXEC_NEW_CLIENT with phony exes
partially fix T6071
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz 576c8d0864 use client geometry for visibility effect geometry, not comp object geometry
clients may defer object geometry setting, resulting in unreliable values here
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz 3b319b5ef9 don't do full client rescale on x11 hint change if not maximized/fullscreen
regular windows don't get moved here, only resized if hints change

fix T6072
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz 8d55575bcf remove input-only client fastpath to resize crashes
ref T6023
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz def2b0c5fc do not perform client moves during comp updates
this can trigger zone changes, which triggers resizes, which is bad

ref T6023
2017-09-26 12:26:18 -04:00
Derek Foreman 51c492fcad use safer ecore_exe flags that close stdin/out/err more often
commit b9d166f804 introduced
safer exe functions that both prevent a child from having E's
stdin/stdout/stderr and ensure the child's fd 0 (and 1 and 2) are
"valid" file descriptors (to work around some buggy software that
assumes 0 is an invalid file descriptor)

This commit uses the safer functions when launching child programs from
the desktop menu as well.

ref T5606
@fix
2017-09-25 10:10:49 -05:00
Carsten Haitzler b9d166f804 use safer ecore_exe flags that close stdin/out/err if possible
this is specifically needed for wayland but is relevant to x with
startx too ... dont let processes that e runs like apps inherit
stdin/out/err as it may be a tty and thus allow apps to do nasty
things with that tty.

@fix
2017-09-23 23:10:35 +09:00
Derek Foreman 40e8bb044c Set close on exec for stdin
ref T5606
2017-09-22 21:02:32 -05:00
Derek Foreman 077ae06955 Fix wayland frame callback failure
Turns out ecore_animator_add() can randomly pick the wrong canvas to use as
a tick source.  Using EFL_EVENT_ANIMATOR_TICK on the compositor evas instead
will ensure we don't accidentally pick an internal window for a tick source.

Fix T6070
2017-09-22 17:00:25 -05:00
Mike Blumenkrantz 4d0ceeb02c add fd passing to aux hints protocol 2017-09-21 13:31:01 -04:00
Mike Blumenkrantz 5694d7af96 add action router action to route specific key presses to specified clients 2017-09-21 13:31:01 -04:00
Mike Blumenkrantz 5da5418873 add a client parameter to wl key down/up event processing functions
if passed, send the event to the specified client
2017-09-21 13:31:01 -04:00
Mike Blumenkrantz 92614d0c69 store the currently active key binding as an accessible variable 2017-09-21 13:31:01 -04:00
Mike Blumenkrantz 8cc46fb201 make e_bindings_modifiers_from_ecore() an externally usable function 2017-09-21 13:31:01 -04:00
Mike Blumenkrantz 11a08ebc30 don't perform zone updates on client resize
zone updates should probably only happen on client moves, not resizes

ref T6023
2017-09-21 13:31:01 -04:00
Chidambar Zinnoury 0666cd7249 e menu: Fix missing realize when using key-activation to the right.
See commit 474463ef6c, SVN r39698.
2017-09-19 12:50:39 +02:00
Chidambar Zinnoury 0adec92696 e about: Year++. 2017-09-18 22:57:06 +02:00
Mike Blumenkrantz 62acd53a96 avoid div by 0 in gadget layout
CID 1381165
2017-09-15 12:16:48 -04:00
Mike Blumenkrantz 98dbaa9090 fix clickable edge binding activation with other mouse buttons
check for the button specified in the binding, not whether the event
contains a click

fix T4510
2017-09-14 15:00:50 -04:00
Mike Blumenkrantz 00daafac10 flag zone/edge mouse binding activation with ON_HOLD
ensure multiple bindings aren't triggered by the same event
2017-09-14 14:59:14 -04:00
Mike Blumenkrantz 283a1cd620 handle unmovable gadgets in gadget move action
a gadget which refuses to create a duplicate of itself can be considered
immobile

fix T5998
2017-09-14 14:38:14 -04:00
Mike Blumenkrantz 49e2a31cfc block recursive mouse eventing in bryce action handlers
ensure that only the outermost event adds a post callback to avoid
triggering actions multiple times
2017-09-14 14:37:12 -04:00
Mike Blumenkrantz ccd374e6a2 add some hidden boxes to use as gadget popup hover parents
boxes get resized with zone useful geometry to ensure the content is always
on screen and visible

fix T5945
2017-09-14 14:00:39 -04:00
Mike Blumenkrantz 9727710647 hide clients again after show in idler if clients are on hidden desk
clients need initial show to correctly handle mirror visibility but should
then be hidden again

ref 0ee8cc896e
fix T6024
2017-09-14 12:45:45 -04:00
Mike Blumenkrantz b77e01e1dd use EC_CHANGED when setting changed flag in client idler 2017-09-14 12:43:15 -04:00
Carsten Haitzler 6972a97d5d e start - fix path prepend/append if already in path assuming clue
"
I have a directory at the head of my PATH that contains alternate
versions of command line utils like grep, ls, etc., but E puts
/usr/bin ahead of it, overriding my tools of choice with the system
defaults.

If my understanding is correct, the only way currently to have
directories that E prepends to your PATH appended instead is to use
-i-really-know-what-i-am-doing-and-accept-full-responsibility-for-it.
I'd like to see a more sane option if there isn't one already.
Alternatively, I wonder if it wouldn't be a better idea to only
prepend directories to PATH if they aren't already contained within
it--thereby preserving the user's desired search order.
"

this should fix T5953

@fix
2017-09-13 18:32:38 +09:00
Mike Blumenkrantz a5bb9932ee revert gadget ctxpopup autopositioning attempts
I don't think this method would ever have worked reliably

This reverts commit 6f1b75e87b.
This reverts commit 84e999f5f3.
2017-09-12 14:37:53 -04:00
Mike Blumenkrantz 6bd97ced9b handle gadget site layout when last gadget in site is a spacer 2017-09-12 13:36:39 -04:00
Mike Blumenkrantz 20ea0ed150 add/use helper function for rescaling individual clients
in any case where client needs to be rescaled to use new screen geometry
certain things must happen, such as handling shaded state and forcing the
new geometry to be applied
2017-09-12 13:21:04 -04:00
Mike Blumenkrantz 4f28e49f46 handle shade <-> unshade toggling in same frame
this should result in a no-op instead of a fail-op

fix T6006
2017-09-12 13:21:04 -04:00
Mike Blumenkrantz 500b9a2eb2 use animator del function to delete comp object animators 2017-09-12 13:21:04 -04:00
Mike Blumenkrantz 721eeb994e make spacer gadgets smarter when multiple spacers exist
* ignore consecutive spacers
* attempt to size/fill consistently based on occupied space

fix T5973
2017-09-12 13:21:04 -04:00
Carsten Haitzler 9eebe065c2 e powerszve - fix sleep timeout for select to be correct
bad inverse fmod and using int not double first before converting to
microseconds...
2017-09-12 11:03:50 +09:00
Al Poole b304e77f64 filepreview: unbreak netstar's changes.
The previous broke the video preview size. Was too complicated.
Generally just sucked. This is simpler. I don't want to touch
this again. Sorry!
2017-09-10 22:41:09 +01:00
Al Poole 12e0303e4b filepreview: show mime type icon when not video and no artwork.
This adds the icon associated with the file type to the preview.
If there's no artwork available the audio preview will no longer
be a large void, the mimetype icon will display.
2017-09-10 13:05:44 +01:00
Al Poole 8a9de1de69 filepreview: add support for album artwork in preview when applicable.
When available preview will display album artwork when previewing audio.
2017-09-09 22:23:14 +01:00
Carsten Haitzler 6502f030c9 fix nested wayland in x11 mode with getting canvas zone geometry
yup. was broken. fixes T5993

@fix
2017-09-09 11:56:16 +09:00
Carsten Haitzler 1d610fd609 fix up window+screen positioning fixup so it doesnt catch other clients
so some other clients like mpv also try to explicitly position their
windows (like centering on screen 0 ALWAYS) and this now gets caught
up in trying to detect libreoffice doing the same thing for
presentations. so only support this is the app has explicitly
requested initial positionin explicitly and then use pending configures.
2017-09-09 11:18:15 +09:00
Carsten Haitzler 041748b017 window focus - fix focus switch action next/prev walk dead code 2017-09-09 09:57:22 +09:00
Derek Foreman 9566b72e86 Fix crash when processing a wayland client cursor set after death
It looks like the only way we can get here with NULL resource data
is when we explicitly cleared it in the del hook, meaning the client
is dead to us.  In this case it's ok to ignore the cursor set request.

ref T4988
2017-09-08 14:38:08 -05:00
Mike Blumenkrantz 7fd3e2e798 restore 'application name' remember setting in dialog
broken in 6e8070d226

fix T5991
2017-09-07 14:13:01 -04:00
Mike Blumenkrantz 378e371e74 remove fullscreen clients from vdesk clients list when toggling sticky state
fix T5988
2017-09-07 13:37:20 -04:00
Mike Blumenkrantz 72b979ca2b handle first time desk setting for fullscreen clients without crashing
ref T5988
2017-09-07 13:37:20 -04:00
Mike Blumenkrantz 8f26d33d11 warp pointer to center of internal dialog on show if dialog has focus
ensure that pointer-based focus policies do not experience unexpected focus
changes when a dialog changes from basic<->advanced

ref T1931
2017-09-07 13:37:20 -04:00
Mike Blumenkrantz 739eb9b679 add more files to autotools dist 2017-09-06 13:32:25 -04:00
Mike Blumenkrantz 5dc267ec84 block all desk flips during window resize
this breaks *

fix T5984
2017-09-06 13:32:25 -04:00
Derek Foreman cc5eec5cc3 Remove bogus EINA_UNUSED
move along, nothing to see here.
2017-09-01 15:13:41 -05:00
Mike Blumenkrantz 6f1b75e87b disable auto positioning of gadget ctxpopups for now
ctxpopups 2hard4me atm
2017-09-01 15:39:33 -04:00
Mike Blumenkrantz df1e21b120 reset zone edge objects after comp canvas update
fix T5969
2017-09-01 13:54:54 -04:00
Mike Blumenkrantz ef6197b119 do not force client focus setting after calling e_desk_last_focused_focus()
in some cases focus setting must be deferred, and forcing focus in these cases
will create focus bugs

ref 9ae24a3a4a
2017-09-01 13:40:12 -04:00
Mike Blumenkrantz 8ea5cf9c47 add desklock gadget site event rect to event grabber while editor is visible
allow actions to trigger on gadgets during editing

ref T4648
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 46cd0090cd stack gadgets below site event rect when reparenting gadget 2017-09-01 13:40:11 -04:00
Mike Blumenkrantz e5dd1f12f3 set shaped client image alpha after setting image data
avoid triggering render sync with old image data

fix T5957
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz b492e87851 use correct string for randr screen fuzzy matching
using the full edid string results in infinite recursion
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 75a12a9461 check for matching '/' in screen edid before fuzzy matching in randr init
if no / exists then this function is pointless
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 6dd9205e0a rename E_EVENT_COMPOSITOR_RESIZE -> E_EVENT_COMPOSITOR_UPDATE 2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 1ca1201110 recalc desktop gadget sites on compositor update event 2017-09-01 13:40:11 -04:00
Mike Blumenkrantz f8a599d525 avoid adding render updates on client resize while shading the client
this results in a blank render

fix T5929
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 1a651f23af return during client pixel callback if pixmap is dirty and no updates exist
this probably indicates a client update is needed in order to complete the
render, so the existing data should be reused since nothing will render now
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 026ce1a43e move pending client render queue in pixel callback to before render call
no functional changes
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz a76e9aa8fe do not reset existing client damage on resize if tiler size matches pixmap size
this probably indicates a case where the client wasn't actually resized and the
compositor is doing something like shading a window
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 84e999f5f3 track gadget ctxpopups and reposition within zone on resize
this attempts to shift the ctxpopup content vertically and horizontally to
keep it on the same screen that the gadget is on

fix T5945
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 2afaea3b49 remove e_util_pointer_center()
this is yet another utility function which duplicates code from elsewhere and
does it incorrectly

fix T3164
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz 9076301213 use focus_set_with_pointer to focus from clients menu (middle click)
fixes pointer warping for this case
2017-09-01 13:40:11 -04:00
Carsten Haitzler 9ae24a3a4a e client focus - fix focus if moving focused window to new desk - long
fix client focus the very very very long way vs
418319fc94
2017-09-01 19:29:03 +09:00
Derek Foreman 42d3e30f5c Handle wayland frame commits with no surface damage better
Previously we immediately kicked back the frame callback when a client
sent a surface frame without damage.  This let clients that use frames
for timing proceed, but they generally just send another frame right
away and spin in this way until they reach their intended render time.

Now we use animators so the frame callbacks will be limited to the
animator tick source's frequency.

ref T5850
2017-08-31 14:44:58 -05:00
Carsten Haitzler 418319fc94 e client focus - fix focus if moving focused window to new desk
if the window being moved to a new desktop is focused, then ensure
after the move to restore focus to the last focused in the focus stack
for this desk to something stays focused.

@fix
2017-08-30 16:13:50 +09:00
Carsten Haitzler 5ec93f15ff e actions - add actions for moving focus around - feature request
was simple. winlist already had it. added action to focus next/prev or
up/down/left/right. useful for tiling... :)

@feature
2017-08-29 20:31:30 +09:00
Mike Blumenkrantz 1d72713dc0 use int array for client maximize hint state update
CID 1379946
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz e707576e81 check returns for read/write to powersave fds
CID 1379942
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 8717a4a020 initialize stack variables
CIDs 1379939, 1379943
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 43d837d681 don't pretend randr mode can be null when it can't
CID 1379945
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz c7c4470ae0 force client render on mirror show for clients which have not yet been rendered
this is the same mechanism in e_comp_object_dirty() which applies now if a
mirror is created for a previously-dirty client

fix T5937
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz a188c4751c Revert "handle updates_full when adding comp object update regions"
This reverts commit fac907e0c5.

this was already handled and I'm dumb.
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz fef7941083 set elm profile to match e profile during startup
this is actually broken, as is entire the concept of using mixed e+elm configs.
if a user manually changes the profile, e.g., for a single app, then this will
overwrite the global profile name. similarly, setting the profile in this manner
overwrites the global profile, causing all existing apps to switch to that profile
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 1902befc92 Revert "force recalc on bryce scroller when doing recalc on gadget site"
This reverts commit 87515abd2a.

this breaks scaling since the min size must be reset in order to trigger a
resize
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 175c614838 add spacer gadgets for bryces
this is a rectangle which dynamically resizes based on the available space
in the bar. it can only be added when autosize is disabled, and setting
autosize will remove all spacers

fix T5914
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 2e0638e87a check whether gadgets are elm objects before calling elm functions 2017-08-25 14:47:10 -04:00
Mike Blumenkrantz f806dae1e1 track setxkbmap processes and allow only one to run at a time
fix T5188
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 0f5b287866 add gadget api for determining if a gadget site is a desklock site
potentially this could be improved to use a vastly overengineered 'policy'
setup, but for now this fits the biggest use case

ref T4648
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz a72b88c0e7 handle bryce setup when theme is broken
fix T5889
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz db264cca49 simplify placed flag setting during wl surface commit
this should result in fewer cases of windows randomly warping around...

...

maybe
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 57176bf29d do not rescale override x11 clients during hint fetching 2017-08-25 14:47:10 -04:00
Mike Blumenkrantz ec047b1a98 perform client zone updates on canvas move/resize when not ignored
overrides still need zone updates here
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 00c01d0ae6 use client frame for internal win geometry setting on show
calling these functions on the elm_win has no effect here
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz e93f67e74a go back to image widget for video filepreviews
this still has some funkiness related to initial geometry but it looks
better and doesn't have weird resolution bugs

fix T4293
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 28783cfc23 use evas size hints for image widget internals if internal obj is not edje obj 2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 29b736257c destroy dropped gadgets after drop operation completes
the gadget object is used during the drop callback, so destroying it
before the callback breaks the drop operation
2017-08-25 14:47:09 -04:00
Mike Blumenkrantz 4d8e1d5e29 perform gadget site layout before calling drop callback
calling this inside the drop callback resets the dropped gadget's position
and causes the drop operation to fail
2017-08-25 14:47:09 -04:00
Mike Blumenkrantz feb17c898d set moving gadgets in pointer site to have moving state
prevent spurious resizes during layout
2017-08-25 14:47:09 -04:00
Mike Blumenkrantz 850f5b40f8 handle gadget ctxpopup placement for desktop gadgets
fix T5877
2017-08-25 14:47:09 -04:00
Mike Blumenkrantz 096f1084a5 always use client geometry for comp object centering functions
this should always be more accurate than the object geometry, which may
or may not have been applied at any given time
2017-08-21 10:16:35 -04:00
Mike Blumenkrantz 40df7bddc8 make grab dialog text read a bit more clearly 2017-08-21 10:16:35 -04:00
Mike Blumenkrantz c31cb51499 replace <br> with <ps/> for all text 2017-08-21 10:16:35 -04:00
Mike Blumenkrantz 37d1bf3ea0 force min size calc on dialog show
this resolves a number of dialog sizing issues where text or content could
be clipped due to deferred sizing
2017-08-21 10:16:35 -04:00
Carsten Haitzler 014b74bc74 e sys - add listening to prepare for shutdown/suspend from systemd
listen to the prepare and post signals... just print right now as not
really used... but knowing and logging is good.
2017-08-21 23:15:04 +09:00
Jean-Philippe Andre bc55beb638 config: Add env var to skip profile save
This only skips writing the profile name to
  ~/.e/e/config/profile.cfg

This allows easier testing of E with custom profiles.
Note that this goes together with another patch in elementary, but the
env var is different (note: we could use a single one). This is only
meant for debugging.

export E_CONF_PROFILE_NOSAVE=1
2017-08-21 19:04:02 +09:00
Carsten Haitzler 8da6aa4142 xsettings - fix warning for buffer that could be a bit small
warnings of buffer being a little small in theory. fix.
2017-08-21 12:16:27 +09:00
Carsten Haitzler da791a0bf5 e mixer - handle pulse exit/disconnect and not keep e client sinks
we keps e client sinks even if we were dicsonnected from pulse... this
caused fun crashes. fix

@fix
2017-08-20 01:02:03 +09:00
Carsten Haitzler d196f25a2b filepreview - properly set min size on cells not in a broken way
this should fix T5891
2017-08-20 01:02:03 +09:00
Carsten Haitzler 73e3ed1bb0 e x11 focus fixup - dont do the fixup if input grabbed
this actually fixes everything fully and has focus working nicely now
with the fixup
2017-08-20 01:02:03 +09:00
Mike Blumenkrantz 09a8888f76 batch x11 maximize state change requests
if an app wants to set both horizontal and vertical, set both at the same
time to improve performance and accuracy
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 5610c4cad0 locally store the backlight level when suspending/hibernating
ensure that the exact level which was set before suspend/hibernate is reapplied

fix T1420
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 5998f175b5 temporarily cache x11 configure requests which reposition hidden windows
when an app tries to position itself before being shown, attempt to store this
and apply it in order to effectively handle cases where an app attempts to show
on a specific screen, e.g., presentation apps which show a console on one monitor
and the presentation on a different monitor

fix T1571
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 5f87fbca2e only set new clients to current desk if desk has not yet been set
placement policies can override setting windows onto the current desk
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 3c31e67b05 use menu item geometry to determine whether menu item is onscreen
fix T2126
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz f64812122f lock menu eventing during menu idler positioning
ensure moving menus doesn't trigger menu item activation
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 121e7fab4b replace existing resize pointer mode for x11 client-initiated resizes
ensure there is no mismatch between pointer modes when pushing/popping modes

fix T4893
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz b246cc27ee handle focus reverting correctly when using desk flip all actions
perform the focus revert once the last desk has finished flipping and based
on all available visible windows

fix T3495
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 7402dc8eda only update wl client window size on commit if no pending resize exists
this breaks pending resizes

fix T4189
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz ac91f3b2c5 clamp xsettings font size to 12 when size is 0
font class config does not require the user to select a size, so do
extra clamping here when a size isn't set

fix T3093
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 2b984e68b9 add MISC client property event to be manually triggered whenever misc props change
there's too many properties to create flags/events for all of them, so just use this
if it's one of the many misc props

currently only used for skip_{pager,taskbar,winlist}
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz bda9bfb8c0 avoid hiding->showing->hiding->etc submenus for active menu items 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 6fa35c353d ensure client rescale picks up current geometry
in some cases this would restore the wrong geometry and windows could become oddly
sized
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 91dc28967a add separate desklock key up handler to correctly handle caps lock on wayland
x11 modifier handling in events is broken: the modifier state is the state from
before the event, meaning that pressing caps lock will never result in an event where
the modifier is not set in the corresponding event

wayland handles this more sensibly, though it should be detected on key up rather
than key down

fix T5737
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz a1e585862c use EC_CHANGED for client menu attr changes 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 528bad7252 block updating window remembers while applying them
some attrs (e.g., desk setting) change the position/size of a window before
another attr is set, changing the original value

fix T5295
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz b078599fdd send theme signal for dialogs when no buttons are present 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz d07408e76c do not center xwl clients on their parent during first commit
xwl clients are placed differently

ref b817db7f09

fix T5845
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz b80f0fce56 don't set focus attrs in wl surface commit for xwl clients
these should be getting set in other places...I think...
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 6ee841ecd5 use xwindow check to determine whether to check icccm accept/take focus attrs 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz ff8964a1c6 don't force xwl drag client motion for override drag clients
this should improve dnd visuals a bit

ref T5593
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz a12e9f954b end xdnd operations on window hide if no FINISHED event is received
fix T5886
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 6b2a9a0f7b set gadget ctxpopup priority based on anchor
fix T5877
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz a59328b34a add internal action for showing a menu using object geometry 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz abc70abbf0 make menu autoplacement more consistent by preferring DOWN placement 2017-08-18 15:52:50 -04:00
Mike Blumenkrantz 3271efaba4 capture zone for newly-added bryces based on name
the last number is always the zone number
2017-08-16 10:58:51 -04:00
Mike Blumenkrantz b6759a8c27 do not apply x11 pointer focus if key/mouse grabs exist
fix T5871
2017-08-16 10:42:14 -04:00
Mike Blumenkrantz b2c5c20cde manually get client under pointer for checking x11 pointer focus
e_client_under_pointer_get() ignores overrides.

ref 3ee5a0378d

fix T5878, T5871

IF ONLY THERE WERE SOME METHOD FOR TESTING COMMITS BEFORE THEY WERE PUSHED
2017-08-14 07:30:04 -04:00
Al Poole 16d23a628f Efm: file properties, fix widget sizing issue.
Summary: This fixes the erroneous sizing of labels in Efm preview dialogues.

Reviewers: zmike!

Subscribers: stephenmhouston, cedric, raster

Differential Revision: https://phab.enlightenment.org/D5093
2017-08-13 09:52:02 +09:00
Marcel Hollerbach 5b3f38efcf leave the E_Comp_Wl_Data define in e_comp.h
otherwise bulding without wayland breaks
2017-08-12 22:47:52 +02:00
Marcel Hollerbach fcd271dd1b e_comp_wl: move types into typedef section
WIth this we dont need a second define of the same type in e_comp.h

This fixes a duplicated definition warning
2017-08-12 15:17:03 +02:00
Marcel Hollerbach 8ef5a7c89d e_comp: stop including e_comp_x here without a reason 2017-08-12 15:17:03 +02:00
Mike Blumenkrantz 57c448739a add support for external gadget providers in the gadget editor
this allows external gadget managers to add their gadget types into
existing editor/layouts
2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 408128df95 handle destruction of demo gadgets without crashing
demo gadgets automatically call _gadget_free() on object delete, avoid
recursively calling it
2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 2d80ef091e further improve keyboard handling while gadget editor is active 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 92a0cb11d6 disallow demo gadget ids from counting towards wizard success 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 4e4f66fc2b prune gadgets from editor if destroyed while editor is active 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 2047ca3bfe handle case where eglBindWaylandDisplay fails during wl init 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 65fe42fdef avoid object hide animations during shutdown 2017-08-11 18:48:49 -04:00
Mike Blumenkrantz 31994d4876 don't center wl popups on their parents
ref b817db7f09
2017-08-11 18:48:49 -04:00
Carsten Haitzler fe7c39fa18 e_start - remove evas deps - don't need them.
e_start isnt really using evas atm - cserve2 env vars arent being set
so remove it - e_start can start a little faster with less linking...
good for startup time perhaps and mem footprint of e_start while it
babysits
2017-08-11 15:43:39 +09:00
Carsten Haitzler ead1be7bd6 meosn build - go back to requires_e it's uses in main meson.build 2017-08-11 14:35:24 +09:00
Cedric Bail 77e4b72d2b alert: protect use of drm code inside the proper ifdef. 2017-08-10 21:43:17 -07:00
Carsten Haitzler 2349a298f0 meson build - reformat and trim build files a bit to be more compact
working on it...
2017-08-11 08:28:23 +09:00
Derek Foreman 022dd52cd9 Remove more pre-ecore-drm2 stuff
We no longer need a HAVE_DRM2 define since it's become synonymous with
HAVE_WL_DRM.
2017-08-10 13:32:15 -05:00
Derek Foreman 1cdbcb0d94 Resynch with weston's dmabuf implementation
Weston's dmabuf implementation continues to be modular enough that we can
pull it in with minimal change.

This updates us to version 3 of the protocol - required by recent mesa to
use dmabuf buffers instead of wl_drm ones.

Currently only contains stubs for format query.
2017-08-10 11:32:45 -05:00
Marcel Hollerbach bcf0110277 meson: we need to link dl 2017-08-10 15:47:44 +02:00
Derek Foreman 15cb70f13a Remove ecore_drm support
ecore_drm2 supersedes this, ecore_drm is deprecated, and we depend on
an efl version newer than the deprecation, so none of this code should
ever be built.
2017-08-09 15:10:44 -05:00
Derek Foreman 0b26bdc2f8 Stop doing complicated things after a segfault
The chance of any of this succeeded is near zero, and it sometimes ends
up in a tight loop after a crash.
2017-08-09 15:10:41 -05:00
Derek Foreman 0fd23928f0 Add a compatibility layer to protect against ecore_drm2 api change
In case we roll an E release before the next EFL one, we need these
API changes to be hidden.

Later we can remove this...
2017-08-09 14:59:26 -05:00
Derek Foreman 50169af1db Update to recent ecore_drm2 changes 2017-08-09 14:59:25 -05:00
Mike Blumenkrantz fd6f9f1c14 destroy gadget configs when deleting a gadget site 2017-08-07 14:48:07 -04:00
Mike Blumenkrantz 08d70dd958 clamp internal win min/max size hints to 0
ref T5845
2017-08-07 11:04:23 -04:00
Mike Blumenkrantz 0bea40f4dd do not defer wl gl init 2017-08-07 10:29:00 -04:00
Carsten Haitzler 3ee5a0378d e - do workaround with in events due to flags to get ptr focus right
so we egnore some mouse in evets due to their flags (crossing events
thansk to grab changes or other stuff) that we want to ignore for
other reasons like when a popup menu happens and so on... so if we get
a mouse in... 0.1 sec later double check where the pointer is with a
poll then fix focus. this should patch over a long standing annoyance
here in x11.

@fix
2017-08-06 18:34:42 +09:00
Carsten Haitzler 4fe7827af2 fix fallthrough warnings and tag as fallthrough
this code was intending to do this.. so tag as such
2017-08-05 12:37:39 +09:00
Mike Blumenkrantz 1a622a68ed make mouse-activated menus function as expected with 0 passed as activate time 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 5cfc3c846e make menu_show action pop the menu in automatically-calculated direction 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 541e33fc73 don't arbitrarily bind version=1 for wl extension resources 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz c1cf0249a0 make action routes usable in subcompositors 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 862b02adc8 extend key action routing for general action contexts
this allows authorized clients to activate validated actions
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 8748b197fa implement action routing for wayland clients
this allows a wayland client to request that a given action name be bound
to the requested surface using a mode to restrict activation of the binding

modes include:
* shared
 - activated when any surface from the client has focus
* topmost
 - activated when the requested surface has focus and is the topmost client
* exclusive
 - activated when the requested surface has focus; blocks other action routes

 #SamsungFeatures

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz 01b7cf8227 add function to return a currently-active menu 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz fa3c7655c2 split out gadget enums into separate header 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz d5a1b30ab4 add gadget site as param for gadget wizard callbacks
it's important to be able to track this lifetime in order to cancel the
wizard if the site is deleted
2017-08-04 16:05:16 -04:00