Commit Graph

12595 Commits

Author SHA1 Message Date
Carsten Haitzler e69a27a81c e comp - tell user about invalid env var options
it seems people are using these env vars so we should tell them if
they have invalid options.
2019-09-24 01:17:08 +01:00
Carsten Haitzler 2c91a2c24d backlight - update timer on power plug/unplug
this ensures a different timeout can be applied if you plug or unplug
power.
2019-09-21 23:04:09 +01:00
Carsten Haitzler c16a58d75f warn - silence invalid alignment warning
these potrs are to structs we malloc thus will be universally aligned
for all data so... not valid. throw in a void * cast to do that.
2019-09-20 10:54:12 +01:00
Carsten Haitzler 6cb25300f1 e desk - remove unused vars 2019-09-20 10:47:23 +01:00
Carsten Haitzler 822680869f e comp - remove the disable/fast effects
for fast we probably should look at something like having a multiplier
on edj transitions and set it to 0 to make it instant. this would be
much better and able to apply to ALL effects... so let's remove this
way for now. as for no shaodws and other stuff - moving to wl cant
control CSD and even then it's a theme look ant feel - a "flat theme
withotu any shadows" would just not have them. probably not a checkbox
to have here.
2019-09-20 10:47:18 +01:00
Carsten Haitzler f89cb93829 e - bump config version properly in src
this doesnt resulti n a looping of wiz - but does result in a "version
too new of config" complaint and issues... so fix.
2019-09-19 19:29:28 +01:00
Carsten Haitzler 11c0fb01bd pager/desks - stop using numeric N,M if no name is set - be blank 2019-09-19 18:37:52 +01:00
Carsten Haitzler 1783c32839 backlight - add battery timeout in addition to regular dim timeout
this allows for a shorter timeout when on battery vs when on ac for
backlight dimming. this is actually important so when on ac dimming
can interrupt minimally bur when on battery it can be much more
aggressive.
2019-09-18 18:59:54 +01:00
Carsten Haitzler b8afba1e49 startup smoothing - smoothen startup with preload and defer to loop start
this moves a bunch of things that were being don after loop starts to
before so they don't interrupt framerate as well as launch a thread
that preloads file(s) - for now just edj theme files so stuff is
pre-cached by the time loop starts later so we don't stall s much
leading to smoother startup/fade in and better framerate. it's really
visible (especially on my rpi3).
2019-09-14 18:47:20 +01:00
Carsten Haitzler 0d00264ca6 e desklock - only stay locked first restart after crash if locked 2019-09-11 15:22:55 +01:00
Carsten Haitzler d961e31436 blanking - special timeout immediately and force dpms todo
make special timeout universal and in all cases. cleaner with better
power management as we turn off bakclights earlier in some cases etc.
2019-09-11 10:56:21 +01:00
Carsten Haitzler 14a30c74b0 blue4 - remove. obsolete now and bluez5 has replaced it 2019-09-11 09:50:05 +01:00
Carsten Haitzler b4cfada8e8 module and config - remove pointless config vars that have no use
we dont need to delay module loading anymore so remove allof this -
priority too shouldn't be necessary as well and was just a workaround.
this remvoes all of that removing some e module api's and module
struct members as well as some global config fields. it also ensures
all config files are up to date as well.
2019-09-10 17:58:30 +01:00
Carsten Haitzler 48c4ea17f2 e - fix up resize/move by kbd to work again
this used to work years ago ... it seems tihave broken. this fixes it
all up to work again so you can bind a move/resize of a window tothe
kbd and then use arrow keys etc. like you used to....

@fix
2019-09-04 19:17:12 +01:00
Carsten Haitzler 2430b36b84 e comp object - fix null comp win access on move begin
don't crash.

@fix
2019-09-04 13:34:05 +01:00
Alastair Poole 38ee777a1c e_xsettings: Set appropriate font sizes.
This sets GTK+/Qt font sizes appropriately by converting
from pixels to point.
2019-08-27 23:09:51 +01:00
Carsten Haitzler e49f4f8de1 e menu - fix type for setting fill to wrong obj... 2019-08-22 19:50:14 +01:00
Carsten Haitzler 02957edfe9 e gadgcon popup - actually for reals smooth out show
now it actually does look smooth. i oopsed in my last attempt.
2019-08-22 08:21:39 +01:00
Carsten Haitzler b7d2ac57b0 freeze/that - use a bit more to cut out unwanted events 2019-08-20 08:42:55 +01:00
Carsten Haitzler 9f5fa6d00f gadcon popup - smooth out show just a little by deferring to next loop
so this is kind of a hack, but a neat one - defer the object show
until the next loop to skip the time involved in object creation thus
starting nay animation after this has happened.
2019-08-18 09:45:08 +01:00
Carsten Haitzler 67da43ee36 e hints - fix beyond end of array fetch and segv
asan found this one.

@fix
2019-08-10 13:34:32 +01:00
Carsten Haitzler 2aae421d7a any dialog - nicety - emot focusd/unfocused sigs to base
makes for nicer themes... simple.
2019-08-10 00:48:39 +01:00
Carsten Haitzler 2158d46dba e comp obj - edje messages - also send on size change
so sned only if bx/y/xx/yy or size changed
2019-08-09 10:01:21 +01:00
Carsten Haitzler fdd472879b xkb - make basic variant null now and handle in wl too the same as x
now russian works for me. :)

fixes T7979

@fix
2019-08-09 09:50:33 +01:00
Carsten Haitzler 855c7028c4 xkb core - make layotu set safer by udp before we free
this should fix another possible crash vector.

@fix
2019-08-09 00:40:18 +01:00
Carsten Haitzler ac6ceb0b99 reduce getenv calls by only getting once
we do egetvn's quite frequently and this is more costly than
remembering once and getting it once... fix that in some cases.
2019-08-08 23:54:09 +01:00
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