Commit Graph

19837 Commits

Author SHA1 Message Date
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
Marcel Hollerbach d9737ddba5 tiling: change description
in one of the last commits i accedently just changed the title on
deletion not when we are creating the action.

fixes T4499
2017-08-14 10:13:49 +02:00
Marcel Hollerbach 430d7e0bb2 everything: use correct edje api
everything used here edje_object_part_swallow_get, which is somehow
wrong, since we dont really know if the everything theme gives the type
swallow, using the plain object_get of edje is the solution here. Its
returning a alias object that is hiding the internal edje object.
2017-08-13 21:18:49 +02:00
Davide Andreoli ac0e78201e pkit gadget: do not autoclose the popup
Like the majority of other gadgets
2017-08-13 20:08:49 +02:00
Marcel Hollerbach 2e5c9cbe71 tiling: show notification if a client cannot be tiled
this at least tells the user that the client could not be tiled and not
just mysterically putting it under floating.
2017-08-13 19:06:07 +02:00
Davide Andreoli 0d5bc403c6 pkit gadget: popup title in bold 2017-08-13 08:41:16 +02: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
Davide Andreoli 8a5b878443 pkit gadget: show the button only if a packager manager is configured 2017-08-13 00:33:40 +02:00
Davide Andreoli dfcf6d960f pkit gadget: a new help "mode" that show the icon meanings 2017-08-13 00:21:03 +02: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 de21e6ddb8 tiling: fix insertion in the tree
the problem here was that in the initial case the function got the
previous state of the tree wrong, so the insertion of a second client
ended up in a unpossible state of the tree, this should not happen
anymore now.

The insertion is now also way more stable, since in a errorcase the
client is not just not placed in the tree but associated with a window
tree, its just not placing the client in the window tree at all.
2017-08-12 22:30:33 +02:00
Marcel Hollerbach f1fb4a0c83 tiling: only use the insert function
this brings all possible bugs due to insertion to one single function
2017-08-12 22:30:33 +02:00
Davide Andreoli 1e2fa5649e pkit gadget: show a nice progress bar while working 2017-08-12 22:30:00 +02:00
Davide Andreoli 5fa85726ee pkit gadget: cosmetics, no functional changes 2017-08-12 19:52:16 +02:00
Davide Andreoli ef8cc77790 pkit gadget: add ability to install updated directly from the gadget !
You can install all updates or select the packages you like.

The update work without asking any password, if it doesn't works check the
org.freedesktop.packagekit.system-update Polkit permission

(work out-of-the-box on Arch Linux, just install packagekit)
2017-08-12 19:28:59 +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
Carsten Haitzler 7660a6aabc meson build - simplify and cleanup evrything module
all done now! :)
2017-08-12 13:40:49 +09:00
Carsten Haitzler 5e59869a62 meson build - mixer - simplify for module build setup
it's still complex anyway... :( but a little smaller
2017-08-12 13:40:44 +09:00
Carsten Haitzler 397e21d0de meson build - simplify wizard module build like others 2017-08-12 12:25:53 +09:00
Carsten Haitzler 1d90c87334 meson build - minimize teamwork meson build too like other modules
also simplify build if's...
2017-08-12 12:00:53 +09:00
Carsten Haitzler 94f3cc4a2a meson - wl module builds - make them all consistent 2017-08-12 11:11:32 +09:00
Al Poole 7df7b1f5fa FreeBSD: fix broken build.
Reviewers: zmike!, raster

Reviewed By: raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5092
2017-08-12 10:49:38 +09: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
Marcel Hollerbach 3aa126a90d meson: build again without wayland 2017-08-11 19:29:36 +02:00
Carsten Haitzler 4b6e25d6c4 meson - remove uneeded array definition for files
files is alrteady an array of file objects...
2017-08-11 20:47:21 +09:00
Carsten Haitzler e464449511 meson build - simplify 3 more wl modules to use generic parent harness
this makes wl_text_input wl_desktop_shell and wl_weekeyboard use the
generic build, add to the src list the generated files
2017-08-11 20:44:38 +09:00
Carsten Haitzler 16a702ac73 meson - make modules with helper binaries simpelr to build
this makes modules with a binary helper simpler to build using the
parent module build harness as much as possible. i probably could
simplify this down to a single binary only and it is either setuid or
not... define the deps and flags ... it could be a bit simpler. not
much. i also removed the if's in the build for battery and ifdefs in
src handle it instead (imho simpler to maintain in src). sysinfo still
uses the if's there.
2017-08-11 19:50:48 +09: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
Davide Andreoli ee412d8913 pkit gadget: a better initial config 2017-08-11 05:53:15 +02:00
Davide Andreoli 2222ba2081 pkit gadget: use genlist instead of list
* feature a double-label version with more info for packages
* swapped icon placement, much better for space usage now
2017-08-11 05:53:15 +02: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
Cedric BAIL d8b9ea9f9b wl_drm: do not say you have wl_drm backend in config.h when you have not. 2017-08-10 10:27:49 -07: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
Carsten Haitzler c80766dfa2 e meson build - refactor and clean up config and some module only cfg
config that is only needed fro modules only needs to be don in the
modules subdir meson.build... i tried doing what modules do but output
files cant have paths.
2017-08-10 23:14:12 +09:00
Marcel Hollerbach bcf0110277 meson: we need to link dl 2017-08-10 15:47:44 +02:00
Marcel Hollerbach 4af2976a54 meson: add HAVE_DRM2 and HAVE_WL_DRM
for now i just added HAVE_WL_DRM but its just the same as
USE_MODULE_WL_DRM, maybe we can replace HAVE_WL_DRM once autotools is
gone, so we have a clear pattern.
2017-08-10 15:31:33 +02:00
Davide Andreoli 016b432793 pkit gadget: use elm widgets directly 2017-08-10 10:36:25 +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
Carsten Haitzler dc9879c6ef meson build - fix use module defines to be upper case again 2017-08-09 09:24:55 +09:00
Carsten Haitzler 24cf739b2c meson build - geolocation - indent the same as other files 2017-08-09 09:22:26 +09:00
Carsten Haitzler 71e1744147 e - conf_display - fix meson build break which dropped a src file 2017-08-09 09:17:36 +09:00
Marcel Hollerbach 5b03bfabc3 pager: do not define Config twice 2017-08-08 18:46:45 +02:00
Marcel Hollerbach 2888072547 meson: underscrorify the module name
otherwise we could confuse the prepocessor of c
2017-08-08 18:38:37 +02:00
Marcel Hollerbach c0e6628651 meson: port geolocation 2017-08-08 18:38:37 +02:00
Marcel Hollerbach 1caa140503 meson: port music-control 2017-08-08 18:38:37 +02:00
Marcel Hollerbach 29901d67b2 meson: use file instead of doing the relative path by hand
a reason for doing that is that you can just pack together targets into
a array and pass them to our helper, and the helper will just handle
them, so even module with eldbus codegen etc is now supported.

This also means that we are just passing the src object directly into
the shared_module call, which means the user of our helper can just pack
everything he needs into the src var and the helper does not need to
know about it.
2017-08-08 18:38:37 +02:00
Mike Blumenkrantz fd6f9f1c14 destroy gadget configs when deleting a gadget site 2017-08-07 14:48:07 -04:00
Mike Blumenkrantz 795d8de8c7 set clock gadget id on creation
fix T5851
2017-08-07 14:43:37 -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
Al Poole 6bd2d74cdc sysinfo: fix single-core OpenBSD results.
Summary:
Basically missed this one. CPU_STATES is 6 as it's still supposedly a work-in-progress. But we only need 5 for all
queries (for now).

Reviewers: stephenmhouston, zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5070
2017-08-04 17:22:32 -04: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
Mike Blumenkrantz 09aee20e3c save config automatically when removing gadgets 2017-08-04 16:05:16 -04:00
Mike Blumenkrantz cb3911cc3a make client size hints apply more accurately
* clamp min/max first
* only apply step adjustments when obeying min/max sizes
* make aspect calculations more accurate
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz c804650482 rescale x11 clients after fetching hints
ensure that clients initially respect useful geometry after size hints
have been fetched
2017-08-04 16:05:16 -04:00
Mike Blumenkrantz f892b360fe optimize setting zone useful geometry as dirty
if this would result in a no-op then don't emit event or trigger client
rescaling
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 2c3f65d6f8 apply client hints when rescaling a client
ensure rescales obey hints
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz daedf48a4b add module file to E_Module struct 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz cb80d5157c more accurately determine gadget editor visibility
ref 2675422e9d
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 81fe0b4d49 set gadgets in the editor's pointer site as moving
prevent random resizes during gadget layout
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 2f97cb69db finish wl window stacks
fix T5350
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 29617bf80b move Ecore_X_Stack_Type member from client to x11 comp_data
no functional changes
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz b817db7f09 center wl clients on their parent when doing first commit
this resolves some bizarro pointer warping
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 1814080164 do not add delete/kill request smart callbacks for non-internal wl clients
this is not functional for other windows
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 4e86fb57e1 restack child windows on parent_set() even if child is ignored
ensure that this happens as expected since it may not occur elsewhere for
some cases
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 0ada5a03bb remove wizards from time module gadgets
these were added mostly for the purpose of testing the wizard functionality,
but a wizard should only be used when a gadget cannot function without being
configured

ref T5796
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 6d5bb4ac5c use explicit rounding for bryce scaling 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 7eba1a99ed track zone states and modify bryces accordingly 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz d66ee1a729 mark zone useful geometry as dirty when applying move/resize 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 519cf154fa deduplicate zone move/resize code 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz e5f60c6aee rescale clients on useful geometry dirty 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz d2c2f48bec break out client rescaling into separate function 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 7a3876ffc9 add and use new event for zone useful geometry changing
many times it's useful to have an event for actual zone geometry change
vs useful geomtry change, so split this out and use the right handler where appropriate
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz fe95a5841f do not immediately rescale windows when changing zone geometry
this is already handled later in e_comp_canvas_update()
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 4ced6d8591 clamp vertical bryce size to useful zone geometry
this should improve layouts when vertical and horizontal layouts are mixed
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz ea57b06863 check for desk/zone mismatch in e_zone_desk_useful_geometry_get() 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz c4a75a0272 do not reposition new bryces after using editor
this is now handled more accurately by bryce internals
2017-08-04 16:05:15 -04:00
Carsten Haitzler 694c628ce3 mouse cinbings config dialog - fix warnings
use slightly bigger buffer to silence warnins (we'll never use i large
or negative enough to matter...) but enough warning noise anyway.
2017-08-04 14:58:33 +09:00
Carsten Haitzler 650d7aa82c mod filemane - remove ancient instance theme path code not used...
this also removes warnings. too many anyway
2017-08-04 14:56:45 +09:00
Carsten Haitzler 3fd90549b4 batget - fix warnings about buffer sizes
not an actual bug but too much warning noise.
2017-08-04 14:53:30 +09:00
Carsten Haitzler 011bb9711c e bindings - fix warning about uninitialized val
was not an actual bug, but compiler doesn't know better and we have
enough noise in warnings...
2017-08-04 14:51:50 +09:00
Carsten Haitzler ec37c5e7eb batman - fix buffer warning by hanving big enough stack buffer
makes gcc warnings happy but otherwise doesn't hurt us as the buffer
should be at the top of the stack (last pushed) and only bytes used
will be allocated.
2017-08-04 14:09:25 +09:00
Carsten Haitzler 03aeb1d463 fix fallthrough warnings 2017-08-04 12:35:27 +09:00
Carsten Haitzler a2afa0afd2 xwayland module - fix fallthrough annotation 2017-08-04 10:37:46 +09:00
Mike Blumenkrantz 30ada88a34 reject gadget site layout attempts only when it would be impossible
a site with orient set is expected to fill using only one axis, so a size
of 0xH or Wx0 is valid in some cases

fix T5806
2017-08-03 11:52:24 -04:00
Mike Blumenkrantz 541c30b3c4 set gadget recalc immediately when not in canvas smart calc 2017-08-03 11:52:18 -04:00
Mike Blumenkrantz a9f6017209 Revert "reset comp object update regions when a render occurs"
This reverts commit e6ab84ffd5.

fix T5817
2017-08-03 11:39:02 -04:00
Marcel Hollerbach 5820015f77 e_startup: check for efreet errors
for the case efreet does not come up with any event, give a error to the
  user
2017-08-01 22:55:46 +02:00
Carsten Haitzler 3051df7fee gadget recalc - if you add a job...del and add again
if you add a job to do things like defer a calc till later in the loop
(or if later in size calc - it'd be the next loop run after rendering)
... then del the previous job and add a new one. why? order of
operation. if you add job a... because of event a, then add job b,
because of event b ... if for whatever reason, event a happens again
and you skip adding job a... job a will run before jbo b, even though
the LAST event is later and that 2nd event a may relay on event b
state/calculations. so always del then add to ensure then that job a
happens ater b if this scenario happens. it just leads to fewer
surprises and weird issues.
2017-07-31 17:41:35 +09:00
Carsten Haitzler be41ac3de0 fix autofoo build to match renaming scheme used for meson 2017-07-30 23:20:27 +09:00
Carsten Haitzler c078a6df1d connman module - lower err's to warns as this actually happens
and... it's not an errort as such - it's the other end not supporting
something. that's ok with this ipc api i would say.

@fix
2017-07-30 22:59:53 +09:00
Carsten Haitzler d870549c0f e - fix eet image format test to actually use key when loading
fix complaint from eet format test ... was failing because we didnt
use a key

@fix
2017-07-30 22:55:19 +09:00
Carsten Haitzler 6ab9c576df meosn build modules - more modules build with the generic builder harness
module build files are so much simpler now...
2017-07-30 17:07:57 +09:00
Carsten Haitzler a70b683ffd wireless module - dont segv e if connman daemon restarts
so i get a new service of type WIRELESS_SERVICE_TYPE_NONE that's going
to suck when accessing arrays by type like wireless does like
array[cs->type] ... so check type value and if its invalid kill off
the cs as we can't do much useful with it. this fixes an actual segv e
gets if you restart the connamn daemon while e runs.
2017-07-29 08:55:36 +09:00
Carsten Haitzler 69290dd7f4 e module build - make build files far more generic and far smaller
now mdoule build files that fllow one pattern (the most common by far)
all JUSt list their souce files and nothing else. this really cuts
down on build size/complexity.

there are other patterns too (no icons at all) that i'll do next, then
we're down into "weird" land where i'll have to think of some more
interesting ways to deal with this.
2017-07-29 08:55:36 +09:00
Carsten Haitzler 380739756c move option if further out in generic module build foreach
do less work if module not enabled... also make it a bit simpler and
cleaner in the generic foreach
2017-07-29 08:55:36 +09:00
Mike Blumenkrantz ab328c6512 implement support for wl aux hints
this is a direct copy of a feature from tizen git with no modifications other
than what was required for compilation and functionality

https://git.tizen.org/cgit/platform/upstream/enlightenment/commit/?id=8ea090222cee86b57e54f1444c5b63252380fba5
https://git.tizen.org/cgit/platform/upstream/enlightenment/commit/?id=2c5593325c3f32efa92da3c371a780e434a30efd

fix T5780
2017-07-28 15:45:01 -04:00
Mike Blumenkrantz 0b887245cc remove left/right maximize before removing vertical maximize
ensure maximize states are removed accurately and in the right order

ref b48419c577
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 23613b3ded set client opacity any time netwm hint has changed in fetch
fix T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 096c6b4090 continue to fetch netwm opacity hint if it changed since the last fetch
some apps (e.g., wine) do not trigger any event when changing this property,
and they use the property in order to simulate window fade in/out

ref T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 5702f0975e reset comp object update regions when a render occurs
allow saving the current update regions in case evas decides not to render
this object
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz fac907e0c5 handle updates_full when adding comp object update regions
this flag means that the entire surface should be redrawn

ref T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 596e48d066 use ecore_x_netwm_opacity_get() for x11 opacity checking
this makes the check for opacity more accurate since it returns a bool
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz ae748e6487 return updates_full state from e_comp_object_damage_exists() 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz a1e9b9bf0f show clients immediately after pixmap refresh if visibility is pending 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz a0619c5481 partially revert "add new powersave features for supporting a live sleep mode"
ref 7caf5c8ff4

this makes the cpufreq gadget consume >100% cpu at all times when anything above
normal polling speed is selected
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 2f2075f588 remove tooltips from desktop gadget editors
this looks bad?
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz d2cdde01d1 set max size hint on desktop gadget editor gadgets when editor is resized
ensure that the gadgets size based on grid item size
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 4ce460525c return immediately when setting a null gadget style if current style is null 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz d216cce6eb use zone size for un-oriented new gadgets
this is a relative size which I set based on zone size, so avoid the
possibility of using unsized site geometry
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 9eed5f49a8 abort gadget site layouts if the gadget site has not been sized
this triggers infinite loops, and a resize on the site will trigger a layout
automatically
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 3e982446ec trigger gadget site recalc job if gadget object hints change 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz cd6fc802e9 defer setting recalc on gadget sites
if this is set during a smart_calculate() call then it will potentially
loop forever
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz c648ae4048 make gadget resize anchoring able to omit axes
when grabbing e.g., the top center of a gadget, it feels better to just
have that resize perform vertical adjustments instead of also allowing
horizontal changes
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz b3c6a4e184 position desktop gadgets more accurately during resize
do resize before altering position to ensure positioning feels smooth
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 39b1e09662 apply gadget aspects with greater precision
aspect ratio is not an integer, rounding it prematurely loses precision
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 13cf6f638d handle time gadget removals for unconfigured gadgets without crashing 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz aae2f42726 break out gadget aspecting into separate function 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 2675422e9d ignore desktop gadget editor keybinds while editor is hidden 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 3bda41f895 reject invalid comp object resizes
interceptors are called before any of the normal evas object geometry
validations, so ensure that invalid sizes are not applied
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 403819fc21 fix mixer logging to use mixer log domain 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 37014499b1 don't create xwl receive pipe for SelectionRequest when getting the selection
this seems to sneak in sometimes even though it's totally wrong?
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 36c3a90689 add text/plain;charset=utf-8 to xwl-created wl clipboard data source
UTF8_STRING is not an accepted mime type, use wl equivalent
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz fcd7332378 set xwl-originating data source dnd actions during source creation 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz c0e8585cce free xwl selection atom names after creating selection source 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 5a13ab0385 handle xwl data source cleanup more effectively
ensure source is freed and references to it are unset when changing selection
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 5ddb8779e2 focus x11 root window on init when starting with xwayland
comp canvas does not have a valid xwindow and is unfocusable
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 04ef45f55d add special case for xwl-originating drags to set dnd actions
there are no protocol methods received for setting actions, so fill them
in from the xwl source
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz def1b28174 save xwindow of x11 selection owner, not client
gtk uses non-application xwindows for managing selections, so this would always
fail when bridging selections from gtk apps
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz d33351e653 remove wl focus check function
idk what this was for but it was wrong
2017-07-28 15:44:55 -04:00
Derek Foreman fbceceff5a Fix geometry for drm outputs
It appears that config.geom.x and config.geom.y specify the corner of
an output in global space, but ecore_drm2_output_mode_set's x and y
are offsets into the framebuffer for the corner of the display.

Just pass 0, 0 and everything will be ok.
2017-07-27 15:20:32 -05:00
Carsten Haitzler 3932a069f7 build - remove policy mobile module
this module is not loaded by any other (dependency) nor is it loadable
via the gui - no module/desktop there thus will be hidden... so it's
useless/unused... thus remove it as its not usable by users.
2017-07-27 20:23:59 +09:00
Carsten Haitzler 669604d1cd meson generic module build - dashify the option string
thanks marcel for the split.
2017-07-27 18:37:56 +09:00
Carsten Haitzler ce3b72e371 meson build generics - ooops. missed files. add now 2017-07-27 18:32:43 +09:00
Carsten Haitzler 822a0bcacb e module build - make ibar and clock really simple and generic
now their build fiels are super easy to maintan. we should expand this
kind of ptterning aross the e build and then expand it to handle new
patters where needed like custom binaries (setuid or not), etc etc.
2017-07-27 18:30:11 +09:00
Carsten Haitzler f6d9eeb99a meson - clock and ibar - use same template as most modules now 2017-07-27 17:50:37 +09:00
Carsten Haitzler 30ed7e5f45 e build - make 2 modules (music contrl and pager plain) consistent
icon name was not consistent with other patterns, so fix that so we
dont have exceptions.
2017-07-27 14:47:21 +09:00
Carsten Haitzler d7b2d6c496 randr - discovered new output names that are display panels in laptops
add to the list like lvds, edp etc. ... adding DSI/dsi
2017-07-27 14:30:53 +09:00
Carsten Haitzler 84bf48b3ed module build - clean up and fix meson install of pretty much all modules
so we';re missing installing desktop files. edj icon files, wizard
data files in the wrong place, and much more. this also cleans up the
module meson build of pretty much all modules and make their build
files cimple and consistent so it's far easier to re-use things from
one module to the next. we should aim for simplicity, consistency
between as much as possible so we can refactor and turn into maybe
functions later. imho that starts with consistency though. until i can
see all the common patterns clearly, i don't want to write functions
yet. it's easier to see if all the files are consistently using the
same vars and formatting etc. etc. etc.

but either way the installation needs fixing so it installs all files
in the right places with the right permissions etc. etc. etc.

this doesn't fix all module build files bt all the ones i found that
were broken installs and they use what i think is a cleaner/simpler
template, BUT there is far too much copy & pastage here... far too
much.i need to find a cleaner way to automate this.
2017-07-27 14:29:30 +09:00
Stephen 'Okra' Houston 59a6892984 Netstatus - Fix dupclicate Receiving labels. 2017-07-24 13:53:53 -05:00
Mike Blumenkrantz 2b50b69448 Revert "only do configure for wl clients in commit when a buffer is attached"
This reverts commit 9dcc4f632f.

this breaks some corner cases, must investigate further...
2017-07-24 13:24:56 -04:00
Mike Blumenkrantz 9dcc4f632f only do configure for wl clients in commit when a buffer is attached
a null attach does not require a resize, only a hide
2017-07-24 08:26:59 -04:00
Mike Blumenkrantz b472a11f84 ignore wl client ssd mouse events for windows without ssd
ref T5770
2017-07-24 08:12:54 -04:00
Mike Blumenkrantz 4a766e9e2f Revert "e comp - stop trying to set size again and again to the same"
This reverts commit 6e882d2e4f.

this is identical to cd3490f35c which was
also reverted.
2017-07-24 08:12:51 -04:00
Carsten Haitzler 358f154b83 e powerrsave sleep - add fd get
i could have sworn i added this... i swear i remember adding the fd
get line... how did it not make it? this is odd. well add it and fix
my spining cpu issue after moving to select to fix pipe wait not being
threadsafe.
2017-07-23 17:28:53 +09:00
Marcel Hollerbach 29ef798c26 meson: also install the tiling-theme 2017-07-22 21:25:47 +02:00
Carsten Haitzler 6e882d2e4f e comp - stop trying to set size again and again to the same
i found e spinning at 100% just with 1 windows in wayland... open 2
terminology wins and move mouse form one to the other... 100% cpu. e
was moving seemingly a cursor client window? to the same coord again
and again as it was hidden...

this fixes that. no more spinning cpu
2017-07-23 00:19:51 +09:00
Carsten Haitzler 70d08a770e powersave sleep - use fd's and seletc. ecore pipe cant be used 2017-07-22 22:43:51 +09:00
Marcel Hollerbach 3c106c6b81 meson: we need -rdynamic here not -export-dynamic
this is passed to the compiler not linker, so we need to tell the
compiler to pass that to the linker.
2017-07-22 10:43:13 +02:00
Carsten Haitzler b976006bb5 meson build - fix mixer build because the defines are only for existence
we use these defines with

ifdef xxxx

not #if xxxx

and so they should ne undefed when not there and otherwise value when
defined is irrelevant as long as they are defined.

so use set not set10
2017-07-22 17:00:25 +09:00
Carsten Haitzler 5d7db1cb89 fix meson build for appmenu module - missing src files 2017-07-22 11:28:37 +09:00
Mike Blumenkrantz 263ee54545 rename bg_blank_object -> resize_object for a more accurate name 2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 35b1d20b81 destroy desktop gadgets when the parent zone is removed 2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 23c473db7b resize comp bg_blank_object on zone update
various things hook this to check when the compositor is resized
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 0d85c2c5a1 rework internal win centering
call resize before attempting to center to ensure accurate positioning
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz e184ffd49f do not use elm api to unset centered flag during resize
this triggers a full eval which resizes the window and breaks the compositor
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz 24ae5b53fb perform immediate move on bryce during autosize
ensure that positioning doesn't animate across zones and break config

fix T5666
2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 7a020fbcb6 use e_util env functions in time module
ref T4648
2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 213618b762 do not set e_comp log level 2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 6928ca8ce4 pass screen id when opening config dialog with ASK hotplug policy 2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 48a7181089 add a configurable default policy (default: extend) for screen hotplugging
make an effort to "just work" instead of the classic enlightenment ux of being
as annoying as possible

ref T5707
2017-07-21 14:42:29 -04:00
Mike Blumenkrantz e65c64ff63 use 1 second for screen config apply delay
I want my life back from all this time spent waiting...
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 580233b256 use real sizing for screen config mode list, not 1xheight 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 411d407b86 use more descriptive label than '???' for unconfigured outputs in scren config 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 449f12e62f move x11 randr defines to e_comp_x_randr.c 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz e8dc71cd48 meson. 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 4d3e157b30 hide pointer cursor clients when unsetting them
ensure the pointer remains hidden even if the client does not unmap its surface

 #TheDisappointer
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 66e95311ff only map wl pointer clients if they are the active cursor
ensure cursors which are randomly committed when not being used as
a cursor (e.g., all efl wayland cursors) are not shown

 #TheDisappointer
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 3055c0ecae remove wl screenshooter protocol
this should never have existed, as it makes no sense for a compositor to
use protocol in order to allow itself to take screenshots
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz f605dd6441 use snapshot object for shot module
now this is the same under all display servers
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 4ec22df15f check for different types of load errors during startup image load tests
in the case where files are not found (possibly not installed/corrupted),
attempt to continue starting and not brick a running session
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz b0e13c8ca4 do not include e.h in batget.c 2017-07-20 17:18:33 -04:00
Al Poole b57802b2c4 sysinfo: Fix BSD build.
Reviewers: stephenmhouston, zmike!, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5027
2017-07-19 08:55:09 -04:00
Carsten Haitzler e38ac79a3c pointer freeze - delay by 10 sec... because anim is used for hiding
this broke pointer hiding entirely... fix
2017-07-19 10:31:29 +09:00
Carsten Haitzler e7eaef62f3 powersave usage - dont use usleep at all. pwoersave sleep replaces it
also... there isn't realy a need to track the screensaver state...
powersave sleep will drop back to an hour between sleeps if we're in
freeze mode (it could be longer or even be indefinite). it will be
woken up if powersave state changes...
2017-07-19 10:31:20 +09:00
Derek Foreman 4077b3ce59 Don't block wayland client updates during screen saver fade out
We stop allowing client updates when the screensaver is on to save power,
however this happens at the start of the fade-out.  On wayland this stops
any visible client change.

If we wait until after the canvas is set to manual render instead then
we get similar benefit but don't lose display updates while they're
still visible.

Fix T5714
2017-07-18 15:17:05 -05:00
Mike Blumenkrantz 859d129edd fix E_API definition
last of the bad refs I think?

ref f8de1a3f88
2017-07-17 11:05:15 -04:00
Mike Blumenkrantz ea502c5e2b reduce include deps for enlightenment_thumb binary 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz f8de1a3f88 reduce include deps for enlightenment_imc binary 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz 4b4b003245 toggle NOGRAB on client input rects during move operations 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz a1d62d01e8 handle multiple input regions for csd clients 2017-07-17 08:14:24 -04:00
Mike Blumenkrantz 0912906ea1 Revert "handle multiple input regions for csd clients"
This reverts commit 950bee7ce4.

accidentally pushed wrong ref, multiple incomplete broken commits were
merged

:(

fix T5739
2017-07-17 08:14:24 -04:00
Mike Blumenkrantz 219b25aff4 Revert "toggle NOGRAB on client input rects during move operations"
This reverts commit 8af555cae0.
2017-07-17 08:14:24 -04:00
Stephen 'Okra' Houston 5370793399 Sysinfo Gadget: More thread vs object lifetime work: Make threads no longer dependent on the main loop objects and vice versa. 2017-07-15 21:32:38 -05:00
Stephen 'Okra' Houston 139045c120 Sysinfo Gadget: Unify define macro checking. 2017-07-15 21:32:11 -05:00
Al 'netstar' Poole d7538011ec Modules: Fix compilation and remove warnings for BSD 2017-07-15 21:32:11 -05:00
Carsten Haitzler e130557be7 Revert "reduce include deps for enlightenment_imc binary"
This reverts commit ee71ea63ec.

Revert "reduce include deps for enlightenment_thumb binary"
This reverts commit cce14fa839.

both of these i reverted.... because they both CHANGE the define of
E_API like:

and this is wrong. e.h defines this so that these symbols are exposed.
E_API, EAPI and friends are desighned to explicitly expose symbols.
because if you try and make STRICTER binaries that only have symbols
for what was EXPLICTLY exposed like the CFLAG -fvisibility=hidden ...
then any api not explicitly marked with the attribute of visible which
that E_API macro is intended for... will be invisible. it will not
exist. this means a whole MOUNTAIN of modules stop loading as they
can't find these symbols. E_API isn't just source sugar tagging. it's
actually functional. i'd suggest using -fvisibility=hidden in your
CFLAGS by default. it's also not always portable between all compilers
so beware... (it was introduced years ago in gcc... i think clang
offers it. i don't know about icc or any others).

so since E_API is defined in e.h ... we may as well keep the e.h
include there instead of hand re-writing a list of includes. does
reducing the include deps really have an impact worth talking about on
compile time? the commit logs didn't say. but it does break module
loading and does it by adding lots of lines of code that are far mroe
easily broken now (this is an examplt). :)
2017-07-15 10:13:21 +09:00
Mike Blumenkrantz b7e8e886e9 do not generate module.desktop files
the purpose of this is to allow variable substitutions, but no desktop
files do this so it's a waste of build time for no reason
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 327b69015b make efm build without elm includes 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz c809f8b72d split macros out of e.h into separate file 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4b656d59c9 bump E_VERSION_MAJOR
should have been done a while ago
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz bc294e9bce remove unused Evas.h include from e_fm_ipc.c 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 55e1640261 don't free x11 clipboard source immediately
ref T5738
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz ad56e78872 only store the compositor's own data manager resource to e_comp_wl->mgr.resource 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz cce14fa839 reduce include deps for enlightenment_thumb binary 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz ee71ea63ec reduce include deps for enlightenment_imc binary 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz a57e39a5ea fix e_alert build with wayland only 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 94633fbde1 fix wayland-only build 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 16378acfd2 remove unused defines 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 9173deb1fc remove egl from build
not needed
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz a8869a14e9 update date for time gadgets when day timer ticks
ref T5700
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 6630e602a9 save config after clearing desktop gadget site 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4a12f5c3f2 use correct key name for BackSpace in desktop gadget key handler 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 03325b0195 always check for autoclose object when adding gadget objs to edit grabber
ensure popups can be closed as expected during editor operations
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 02b3755828 hide gadget editor if gadget triggers a popup
show again when popup is hidden
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 35f4bc1cdc add better handling for interacting with gadget popups while editor is up
includes gadget wizards

ref T4648
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 5e7e38d2c4 don't close gadget editor if ON_HOLD is set or click is not button 1 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 4e8836e591 prune unconfigured gadgets from comp object sites upon site del
automatically created sites shouldn't trigger wizards upon show
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 3da7e0d1e0 freeze pointer animations while screensaver is active 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 2290657f36 disable clock+time gadget updating during dpms 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz c895a7fae5 freeze edje during dpms 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz b283e95d1e rename clock+time module event handler lists
this is no longer what it used to be...
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 74613ff0fd only set qt theme override env vars if option to do theme matching is enabled 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz b7776798c7 don't attempt desk flips from client move handler
this should be handled by normal zone handlers now
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 8af555cae0 toggle NOGRAB on client input rects during move operations 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 950bee7ce4 handle multiple input regions for csd clients 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz b8bfd9e7af update time gadget date string during clock timer
fix T5700
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 664c3dc468 move gadget del callbacks to AFTER priority
ensure gadget internals have longer lifetime than external callbacks on
gadget objects

ref 27091c510c

fix T5601, T5693
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 8e54684a2e delete gadget editor site when editor is deleted
leak--
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 415a94b987 unpack gadget from site editor box on content_item del
the gadget should be deleted by the site, not by the gen(list|grid)

ref T5693
2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 59b14a4ace unset gadget site's layout pointer after destroying gadgets
ensure this persists through gadget del callbacks

ref T5693
2017-07-14 18:40:50 -04:00
Derek Foreman 27f72e76a4 Fix xwayland selection crash
When creating the data manager source, passing an id of 1 overwrites
the wl_display's id in the map, causing crashes the next time the
client tries to interact with that object.  The client in this case
is Xwayland.  Bad things happen.

Instead pass 0 which just chooses an available map slot.

Fix T5738
2017-07-14 16:56:36 -05:00
Derek Foreman 98f4336fcd Fix clamping on screen blanker timeout
commit f43d2b881c
added the ability to set screen blanker timeouts as low as 6 seconds,
but E still clamped to 30 seconds when loading config.
2017-07-14 11:10:06 -05:00
Carsten Haitzler f43d2b881c e blanking - add new special "locked timeout" that can be shorter
this allows you to have a different timeout when locked thats much
shorter to save screen/power more unless you log in.

@feature
2017-07-14 09:43:29 +09:00
Stephen 'Okra' Houston 804f038f71 Sysinfo Gadget: Thread Lifetime vs Object Lifetime management.
This cleans up how sysinfo manages object vs thread lifetimes.  If thread is still alive dependent on aspects that need to be freed in the gadget removal process, it defers that cleanup from the remove callback to the thread end callback.  As for the combination sysinfo gadget, each gadget inside of sysinfo will set a done flag alerting that the cleanup of the combination gadget can happen once all threads are done.
This fixes T5694
2017-07-13 19:21:49 -05:00
Stephen 'Okra' Houston 739c1aa4b8 Sysinfo Gadgets: Thread handling improvement. Pause on Screensaver. Follow powersave. 2017-07-13 14:36:09 -05:00
Stephen 'Okra' Houston abfc0e8210 Gitignore the sysfs frequency bin. 2017-07-13 14:24:02 -05:00
Stephen 'Okra' Houston 0b6c8a4d91 Backlight Gadget: No need for a settings button as the uniform right click does the same. 2017-07-13 11:12:58 -05:00
Stephen 'Okra' Houston 392d12bafd Cpuclock: Don't debug print the exec string. 2017-07-12 16:07:58 -05:00
Stephen 'Okra' Houston 9e7b78ffab Gadgets: Make sure to avoid conflicts with functions and globals. 2017-07-12 16:03:06 -05:00
Stephen 'Okra' Houston b93849072a Thermal: Add units. 2017-07-12 15:44:01 -05:00
Stephen 'Okra' Houston 731590ee76 Luncher: Remove useless and dangerous global. 2017-07-12 15:43:39 -05:00
Stephen 'Okra' Houston ada1fdb71a CPUClock: Allow setting of governors. 2017-07-12 15:42:56 -05:00
Stephen 'Okra' Houston d4bc101866 Cpuclock: Clean up some governor handling code. 2017-07-12 13:32:56 -05:00
Stephen 'Okra' Houston 2fa8df456a Thermal: Add left click info popup 2017-07-12 13:31:22 -05:00
Stephen 'Okra' Houston 2bbdd999ed Sysinfo: Update Cpuclock and Thermal to the powersave api. 2017-07-12 01:24:03 -05:00
Stephen 'Okra' Houston d03c254f5e Sysinfo - Cpuclock: Add the left click info and right click config popup. 2017-07-12 01:08:34 -05:00
Stephen 'Okra' Houston ae26e913ca Thermal config: Fix rounding and math issues when switching between units. 2017-07-11 21:41:05 -05:00
Carsten Haitzler c58bf393e0 mouse hiding - only grab pointer not pointer and keyboard - simple
dont need kbd grabbed at all. just pointer.
2017-07-12 10:45:50 +09:00
Mike Blumenkrantz 76484915e2 always perform initial input ungrab when waking screen
in the case where the desklock timer was longer than the blank timer,
this would permanently break input

input is still broken for the duration of the screen blank animation and
any time the screen is blanked
2017-07-11 15:04:22 -04:00
Mike Blumenkrantz 05a8df3d1a do not perform input grabbing during (un)blank if pointer will not animate
if the pointer will not animate, input will never ungrab

this commit still breaks input. do not use.
2017-07-11 15:03:55 -04:00
Mike Blumenkrantz 031d64c2ec Revert "Revert "move x11 suspend window grabbing to comp_x, ungrab on resume""
This reverts commit e90f63b25b.

move back to comp_x, put back grab on resume.

input is still broken with this commit, do not use.
2017-07-11 15:03:55 -04:00
Carsten Haitzler c13fa73866 e - make some comment notes on broken lock display on saver etc.
we have some visual glitches i'm on a mission to fix... and the above
is one of those. timeout for lock should begin after screen has gone
black first.
2017-07-11 16:57:14 +09:00
Carsten Haitzler 3fc786413c e - fix desklock + grabs with hiding pointer on screen powerdown/up 2017-07-11 16:57:14 +09:00
Jean-Philippe Andre b173ed7be6 pulse: do not leak strbuf
See also ac92ff5256.
- eina_strbuf_string_get() returns the internally stored string as
  a const char *, and does not free the strbuf itself
- eina_strbuf_string_steal() returns the internal string as a
  char *, giving ownership to the caller, and frees the strbuf
  itself
- eina_stringshare_add() takes a const char * as input and makes a
  copy of the string

As a consequence, ss_add(sb_string_steal()) leaks the internal
string from the strbuf, while ss_add(sb_string_get()) leaks the
strbuf structure.

A one liner here would require either an eina_slstr based API or
an API in stringshare to take ownership of a given string. Both
would be useful APIs :)
2017-07-11 10:49:03 +09:00
Carsten Haitzler e90f63b25b Revert "move x11 suspend window grabbing to comp_x, ungrab on resume"
This reverts commit 7bc179da5a.

this now totally broke the glitch fix and it now animates in reverse
on suspend and does nothng on resume... testing might be a good idea
beforehand...
2017-07-11 09:00:05 +09:00
Mike Blumenkrantz 7bc179da5a move x11 suspend window grabbing to comp_x, ungrab on resume
ref d0c5fb465b
2017-07-10 09:49:34 -04:00
Marcel Hollerbach ac92ff5256 mixer: do not leak a allocated string
this fixes a leak, thank you jp!

@fix
2017-07-10 15:29:27 +02:00
Carsten Haitzler d0c5fb465b support connected standby (non-s3 sleep/freeze) that new lpatops sport
this requires we have to force dpms on to reduce power. to avoid
glitches with the pointer staying around in x we need to support
suspending it too so it hides cleanly like the screen dims or undims.
also use the new powersave freeze mode to do this.

note that i've tested this on s3 supporting laptops and non-s3 and it
"works for me". it may require more testing and work. there is more to
power saving than just this as well but for now that's out of scope as
you have to mess with linux device autosuspend timeouts and a bunch
more (wowlan ... blahblah).

i need to find the source of the intermittent wakeups too in e. there
is a long lived timeout (8-ish seconds?) but more specifically e keeps
waking up from fd's and then reading /sys stuff about battery - some
event is causing us to do this... maybe to suspend this or make
battery checking very rare when in freeze mode (or screen off) etc.

so this fixes some glitches as well as supports a new way of sleeping
"alive" when hardware literally doesnt support normal s3 sleep... so
kind of a fix with a feature.
2017-07-10 10:18:50 +09:00
Carsten Haitzler 7caf5c8ff4 add new powersave features for supporting a live sleep mode
so new laptops now seem to no longer support S3 sleep. sleeping is
done basically by going as idle as possible. you can ask the kernel to
freeze execution BUT this seems to use about the same power as staying
alive in my tests. to support this add 2 things:

1. a FREEZE powersave mode which implies we're alive but want to
really stay as idle as absolutely possible.
2. powersave aware sleep functions that replace the usleeps in threads
so they can switch from being super sleepy when in freeze mode to
normal.
2017-07-10 10:18:50 +09:00
Amitesh Singh b88059b91a e widget entry: fix the compilation warning
src/bin/e_widget_entry.c:269:16: warning:
unused variable ‘text’ [-Wunused-variable]
2017-07-08 22:23:22 +09:00
Mike Blumenkrantz ac8a9fc2f0 don't set E_Client->want_focus for wl overrides with parents
all input for these goes to the xwl resource anyway, let parent get focus

ref 69c85fc1aa
2017-07-07 16:26:28 -04:00
Mike Blumenkrantz 4d92808e65 use kbd focus resource's client instead of "focused" client in data device 2017-07-07 16:26:28 -04:00
Mike Blumenkrantz 9fc9fce9a7 unset DISPLAY in mixer when performing pulseaudio operations under wl 2017-07-07 16:26:28 -04:00
Mike Blumenkrantz 84e9118c9f don't reject internal wl selections based on serial value 2017-07-07 16:26:28 -04:00
Mike Blumenkrantz a142a7eb80 focus comp canvas's client when no real client is focused 2017-07-07 16:26:28 -04:00
Mike Blumenkrantz 1b6ccd5aa8 add handler to catch (new) fake elm win wl2 window client
now the compositor canvas has a wl2 window
2017-07-07 16:26:28 -04:00
Mike Blumenkrantz b008dce0a0 add "focus" mode for render debug 2017-07-07 16:26:28 -04:00
Stephen 'Okra' Houston a1b2771496 Cpuclock: Fix sysinfo cpuclock theme name. 2017-07-07 14:52:16 -05:00
Stephen 'Okra' Houston 557a060c78 Thermal Gadget: Add configuration popup.
Choose temp units, update poll time, and min/max temps.
2017-07-07 14:38:57 -05:00
Stephen 'Okra' Houston 480eb2a04f Luncher: Hint the preview popup to have the same min size as the preview windows.
This fixes T5669
2017-07-07 10:30:38 -05:00
Stephen Houston 28da1ff339 Nothing to see here. debug-- 2017-07-06 21:12:53 -05:00
Stephen 'Okra' Houston bac93b1bb5 Wireless Gadget: Make the network list popup and right click popup work correctly.
This fixes an issue where layering was off for the popup network list and when the right click settings window would not open.
2017-07-06 16:29:19 -05:00
Derek Foreman c0751ef3eb Make wayland clients render when only visible from mirrors
Under some circumstances we can defer frame callbacks forever for clients
that are only visible on desk mirrors.

I'm not certain those circumstances should actually occur (Ref T5678) but
at least for now this is a trivial and harmless workaround.

Fix T5654
2017-07-06 15:40:59 -05:00
Stephen 'Okra' Houston 9894726039 Gadgets: Clamp aspect sets to a minimum of width and height minimum of 1.
This fixes T5600
2017-07-06 14:16:00 -05:00
Stephen 'Okra' Houston 202bf770f4 Gadgets: Follow gadget theme naming conventions. 2017-07-06 12:20:53 -05:00
Derek Foreman 19a9f4ed29 also apply xdg-shell v6 client del hooks to external clients
partially reverts 7e05eff3e3

This was causing problems when destroying some xdg v6 clients.

if weston-simple-shm was killed while not on the current desktop
it would remain on deskmirrors.
2017-07-06 11:40:30 -05:00
Marcel Hollerbach d2d3d9976b mixer: the name has to be a stringshare 2017-07-04 16:49:54 +02:00
Marcel Hollerbach b32086d402 emixer: use a better name for the sink inputs
it seems applications are using a higher quality name with the property
PA_PROP_APPLICATION_NAME.

ref T5664
2017-07-04 10:12:01 +02:00
Carsten Haitzler ea89d44ef4 e - fix entry wrapper - e entry was plain. elm is markup. do it properly
convert to/from utf8 plain/markup in e widget entry wrapper.... this
fixes broken results if you enter escapable text like " or < or > or &
... etc.

@fix
2017-07-03 19:19:55 +09:00
Mike Blumenkrantz 02d8da9cd9 remove "gadget_removed" smart callback from gadgets which use it upon deletion
ensure that this isn't called in a use-after-free scenario
2017-06-30 17:03:24 -04:00
Mike Blumenkrantz af60915713 add function for a gadget to remove itself 2017-06-30 17:03:24 -04:00
Mike Blumenkrantz c109e2d6a6 save gadget site config when deleting gadget after wizard failure 2017-06-30 17:03:24 -04:00
Derek Foreman 034211051b Remove some duplicate dmabuf validity checks
These have been moved into EFL where they belong.
2017-06-30 14:51:05 -05:00
Derek Foreman cb83120863 Remove old test for dmabuf validity
EFL now sets image load error for native surface set, so this hack is
no longer required.
2017-06-30 14:51:05 -05:00
Mike Blumenkrantz 5df53cec7b process screen events in wl when using fake screens 2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 75b473c4ef don't crash in randr module when using fake xinerama screens 2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 43dea93969 handle rotations with fake xinerama screens 2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 789eccf12f try redirecting failed clients again during resize
it seems like this is a good place to try, and this seems to resolve
some render updating issues on restart, such as with maximized chrome
windows

ref T5599
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 44693a1852 only unredirect clients during comp update after 3 failures
tfw your conditional is backwards
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 07d4f3bcf6 don't call comp object cleanup functions for clients without comp objects 2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 1f0bed7e0b check ec pointer before deref in luncher's E_EVENT_EXEC_DEL handler
a deleted exe is unlikely to have clients

fix T5599
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 9357ecc443 don't force shm for xwayland launch and enable gl
fix T5606
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz fea11b1621 don't run x11 focus (un)set callbacks for override clients
this is unnecessary in x11 and broken in xwayland
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 836845a615 use xwayland check for clients when checking whether to reset focus to root
checking base pixmap returns false for xwayland clients
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 69c85fc1aa only set E_Client->want_focus for wl override clients if not popup client
do not attempt to focus popups as they are already child windows and thus
do not require keyboard focus
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz b183e001a1 make e_comp_object_frame_allowed() return false for ignored clients 2017-06-30 10:25:17 -04:00
Mike Blumenkrantz d0accb8e52 block pointer warping on override clients
this is never okay
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz 3fdcc92ab0 check exit status from auth subprocess
if the process doesn't exit then auth didn't succeed and this is a system issue

ref T5604
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz 42523d27f0 multiply pointer axis values by 10 for wl clients
wayland clients expect this multiplier, so now scrolling speed should be
back to normal
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz 89aa89f3a6 use event grabber for gadget editors to improve event detection
fixes some cases where clicking the background didn't dismiss the editor
and allows for clicking on non-gadget parts of the editor
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz 1fe4555d7b remove eeze init/shutdown calls from modules
this is unnecessary and was done with mismatched init/shutdowns in some cases
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz 809a3492ae unset gadget editor pointer on editor delete 2017-06-30 10:25:17 -04:00
Mike Blumenkrantz 4f77573e6c perform move after resize during comp object show
in the case where an object is being shown before it has been moved or
resized, a move operation will trigger a series of callbacks which force the
compositor to attempt an illegal operation (recursive show before resize)

fix T5521
2017-06-30 10:25:17 -04:00
Derek Foreman e26f2a12f5 Test dmabuf via native_surface_set even in software render
This is necessary to verify the the attributes struct is the same
version EFL can process, before we commit to displaying it.

@fix
2017-06-29 16:01:56 -05:00
Mike Blumenkrantz bb1d7790b0 force shape queue when adding/deleting action client event grabber
ensure that this is normalized to provide consistent behavior before
and after actions begin/terminate
2017-06-26 14:48:03 -04:00
Mike Blumenkrantz 63f3fe949c block "user" client resizes during comp client updating phase
resizing objects triggers clip resizes and further event feeding which
can propagate mouse events such that clients try to resize themselves
during the update phase, resulting in illegal compositor behavior
2017-06-24 12:34:12 -04:00
Mike Blumenkrantz 0a67a96df3 Revert "block client mouse move calls from comp object during move/resize"
This reverts commit 4464c681fd.

on the right track but not 100%...
2017-06-24 12:10:43 -04:00
Mike Blumenkrantz 4464c681fd block client mouse move calls from comp object during move/resize
this is now handled by the event grabber. many callbacks on this
object are due to clip changes instead of genuine mouse movements,
meaning that processing events can lead to further resizes during a
render cycle
2017-06-24 11:57:15 -04:00
Carsten Haitzler a9cd60fb90 e - remove doofus-like code from mike with regards to making e crash or not 2017-06-24 13:27:16 +09:00
Mike Blumenkrantz aad74ea341 do not enable abort on critical in development builds for raster only
let's dispense with the new environment variables and workarounds and
avoid future conflicts with this efl-style problem solving
2017-06-23 18:23:42 -04:00
Mike Blumenkrantz 46fc9c0988 freeze client action event grabber stacking
ensure event stacking does not get modified by external handlers
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 8b8703cfa6 use safe list iterating when clearing a gadget site during shutdown
demo gadgets are immediately removed when deleted, leading to list
corruption unless a safe iterator is used
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 9fa3fdfc78 always grab input when showing a gadget wizard 2017-06-23 17:49:44 -04:00
Mike Blumenkrantz be0015a283 hide gadget editor when dragging/wizarding a new gadget 2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 11a6d7ae35 Revert "e - allow env var to turn off aborting at any CRI issue"
This reverts commit 62feb358e6.

set EINA_LOG_LEVELS=e:0 or comment out code locally if you aren't interested
in helping to de-bug development builds

this is meant to be as convenient for users as disabling "core"
features in efl builds in order to deter them from disregarding bug
reporting
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz fd2817df4a use seat0 as default seat name instead of default 2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 7e6a2a9064 update gadget position during a resize from top/left edge 2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 099e6e019d reset demo gadget id before deleting gadget object during drop operation
ref 75224784bd
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 446860b68a if gadget wizard returns a zero id, remove gadget from site and destroy 2017-06-23 17:49:44 -04:00
Mike Blumenkrantz 4c58940291 force horizontal orient for all gadget editors with orientation
vertical orient does not fit well into any list/grid widgets, not sure
if this can be further improved yet
2017-06-23 17:49:44 -04:00
Mike Blumenkrantz ebfb925a11 redo the gadget editor (again)
the list implementation had some issues with sizing and was also
inflexible and prevented a good display for desktop gadget sites
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz 0180cef47d do not attempt to pack cpumonitor into box in sysinfo mode
this causes an eo error
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz a441d4d22a do not advertise luncher grid or sysinfo for gadget sites with orient
these are only feasible for non-bar sites
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz 6a1d0226ed allow gadgets to return a null object for demo objects
this indicates the gadget should not be advertised for the given demo
purpose
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz 97c3db5ab1 ensure flag to preserve gadget editor is unset after setup
the first click on the desktop should always dismiss the editor if
a gadget is not being dragged
2017-06-23 17:49:43 -04:00
Mike Blumenkrantz 1b15a85d74 print object type if name is null during shape debug 2017-06-23 17:49:43 -04:00
Mike Blumenkrantz 2716802ec9 set pass events on shape debug rects 2017-06-23 17:49:43 -04:00
Mike Blumenkrantz 62e1027509 try only 1 reconnect to pulse when mixer fails to init
this causes huge lag on failure with no termination case. if it fails
on the reconnect attempt then odds are it's never going to succeed
2017-06-23 17:49:43 -04:00
Derek Foreman 4879b340a2 Initialize the Evas_Native_Surface to 0 for dmabuf tests
ref e6f17dee5d

Should probably clear this one too, though the recent native surface api
changes won't cause any breakage here, future ones might.
2017-06-23 11:55:37 -05:00
Derek Foreman 5de9f0f8a3 Allow enabling experimental hardware plane support
Hardware plane support is inactive unless a scanout handler is set, this
patch adds a scanout handler and uses it when the env var
E_USE_HARDWARE_PLANES is set.

In the future this env var will go away when hardware plane support is
stable enough to enable it everywhere.
2017-06-23 11:54:08 -05:00
Derek Foreman 18fbd1da32 Don't delete busy E_Comp_Wl_Buffers
Hardware planes are going to make E_Comp_Wl_Buffer lifetimes harder to
manage, so we need to let the E_Comp_Wl_Buffer object outlive the
resource attached to it.

We already track a busy count, so we just have to use it to prevent
deleting a busy buffer.
2017-06-23 11:52:04 -05:00
Derek Foreman acd0e4b036 Refactor wayland buffer releasing
This code should've been common but wasn't, so this might fix some
resource leaks.
2017-06-23 11:52:01 -05:00
Derek Foreman e6f17dee5d Clear the native surface structure before initializing it
Since the native surface "API" is isomorphic with pain and suffering, we
should be extra careful when we touch it.
2017-06-22 14:05:24 -05:00
Carsten Haitzler 62feb358e6 e - allow env var to turn off aborting at any CRI issue
some of these CRI logs are not wirth an abort... but mike seems to
think so... so i'm going to turn it off for me...
2017-06-22 10:34:16 +09:00
Carsten Haitzler 3e3b48478b Revert "e comp object - stop being cricical where pixmap and win size dont match"
This reverts commit e288852393.

Mike likes e to crash. :)
2017-06-22 09:23:14 +09:00