Commit Graph

19211 Commits

Author SHA1 Message Date
Mike Blumenkrantz 5ae61c954e clamp client geometry to zone during geometry calc
somehow it was possible for client sizes to overflow the zone geometry here
which would end up breaking maximization limits and result in clients
not respecting various geometry boundaries
2015-09-22 12:44:27 -04:00
Mike Blumenkrantz ff1408c040 only unpopulate a shelf when applying new settings if the shelf won't be recreated 2015-09-22 12:44:24 -04:00
Mike Blumenkrantz 8a1634266c block gadcon thaw on unpopulate when gadcon is deleted
saves a huge amount of unnecessary calc time
2015-09-22 12:44:19 -04:00
Mike Blumenkrantz e2dfd33496 unset E_Client->want/take_focus flags during client eval
ref 4a33cd7ba0
2015-09-22 12:06:49 -04:00
Carsten Haitzler 8f69b497b2 e - fm - flush all evas caches to get rid of open file handles b4 umount
this should fix open file handles on unmount by flushing caches first.
not great, but works. long-term have evas not keep file handles open
for 0 refcount cached items.
2015-09-22 12:06:44 -04:00
Mike Blumenkrantz 615fd46224 apply vertical maximize algorithm for LEFT/RIGHT maximized windows 2015-09-21 20:06:40 -04:00
Mike Blumenkrantz e4d065370b move focus setting on restart into desk restore function
the focused client on restart needs to be set after desk states
have been restored in order to avoid focusing the wrong client
2015-09-21 20:06:31 -04:00
Mike Blumenkrantz c34e693614 only set focus on clients which are visible during client eval
focusing a client will automatically uniconify and desk flip, so
setting focus on a hidden client should be avoided during eval since
these focus-sets are not "user triggered"

this fixes issues where clients could randomly grab focus from other
desks and also restores expected behavior when restarting e on an
empty vdesk
2015-09-21 20:05:18 -04:00
Mike Blumenkrantz 8b544ca830 do not return non-visible clients for e_client_under_pointer_get()
a hidden client should not be considered "under the mouse" since its
geometry is undefined until it becomes visible again

fix T1069
2015-09-21 17:52:34 -04:00
Mike Blumenkrantz 4606d34c54 add efl versioning for eeze backlight monitoring 2015-09-21 17:26:05 -04:00
Mike Blumenkrantz 033c3c32f0 remove backlight update calls from backlight module
these are no longer necessary since the backlight value should be
kept up-to-date by the core backlight infra
2015-09-21 17:23:55 -04:00
Mike Blumenkrantz b6d243ce1a add eeze watch for backlight events
when using "system" backlight mode, ensure that events are processed
as they occur so that the available backlight level is in sync with
the actual backlight level

fix T2255
2015-09-21 17:23:54 -04:00
Mike Blumenkrantz a108d8ec6a only lower x11 layer windows for layers which have windows during init 2015-09-21 16:55:03 -04:00
Mike Blumenkrantz 67524ac921 re-set internal ee win after applying alpha
changing a window's alpha causes it to be recreated in the engine
2015-09-21 16:51:41 -04:00
Mike Blumenkrantz 404bbd8e51 decode .desktop link and directory uris in fileman menus
fix T1922
2015-09-21 16:16:13 -04:00
Mike Blumenkrantz ba84edbdb7 always set alpha for internal wins
due to the presence of color classes on internal windows, e must
ensure that users who set translucent colors for window base objects
get transparency as expected on those parts of the window. it's impossible
to determine in advance whether alpha is needed, so it's best to just
set alpha in all cases

fix T2050
2015-09-21 15:20:22 -04:00
Mike Blumenkrantz 7925bb3923 make bgpreview widget work with panoramic wallpapers 2015-09-21 15:07:04 -04:00
Mike Blumenkrantz d01f036833 send FLOAT_SET edje messages during desk flip
panoramic wallpapers are created to expect this type of message

ref T2219
2015-09-21 15:04:10 -04:00
Mike Blumenkrantz 2ff25a32d8 remove unused variables in ilist widget 2015-09-17 19:12:19 -04:00
Marcel Hollerbach 614e3ff99e deskmirror: check if ec is not null before accessing it
Summary: ec can be NULL

Reviewers: devilhorns, zmike

Projects: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D3023
2015-09-16 13:06:59 -04:00
Mike Blumenkrantz 3a0ed0b1c3 add ilist method for setting disabled state
ilist widget adds items in a deferred queue, resulting in attempts to
immediately toggle the disabled state having no effect. now there is
a flag so that items added after the disabled flag have been set will
have the correct state

fix T2730
2015-09-15 13:06:57 -04:00
Mike Blumenkrantz 05a1864b10 unset client hidden flag on config dialogs when activating from another vdesk
fix T2731
2015-09-15 12:47:31 -04:00
Mike Blumenkrantz 5b9723dd88 delete notification mirror objects upon deleting original popup
fix T2722
2015-09-14 13:15:53 -04:00
Mike Blumenkrantz 80c1e367b8 19.10 NEWS updates 2015-09-11 13:11:35 -04:00
Mike Blumenkrantz 439a2c914c 19.10 release 2015-09-11 13:10:17 -04:00
Mike Blumenkrantz e7176b5104 ensure that non-fullscreen nocomp clients have their layers re-set
in the case where a window is fullscreen without having the 'fullscreen'
flag set, the previously-used layer must be reapplied upon nocomp end
in order to avoid breaking the compositor
2015-09-11 13:08:18 -04:00
Mike Blumenkrantz 2f3c0c2930 set 'starting' flag for desk show in e_zone_desk_count_set()
as a result of earlier changes which prevented recursive desk flips,
e_desk_show() now rejects some desk show calls which are invalid such as
a show where the "current" desk does not have the visible flag set. this
behavior is overridden in the case of startup, which is functionally the
same effect as changing the desk count

fix T2717
2015-09-11 13:01:17 -04:00
Carsten Haitzler b79fde5de7 e comp - set rects to null to silence compiler warning
even though n is 0 and we don't use rects, compiler doesn't know, so
to avoid noise - set to null so we can focus on warnings of real errors.
2015-09-11 13:01:16 -04:00
Mike Blumenkrantz 714353be47 add extreme hacks to enforce nocomp stacking policies
if windows set to "Always on Top" exist while the option to allow
windows over fullscreen windows is enabled, enabling nocomp will
result in the above windows being stuck over the nocomp window

instead, force the nocomp window to be the top-most window in all cases,
and then put it back if another object appears on the screen over it

fix T2703
2015-09-08 18:44:55 -04:00
Mike Blumenkrantz 2c77b0591a ensure that normal clients are stacked below overrides when raising
when a client is set to "Always on Top", it will be on the same layer
as override clients. this can cause strange stacking and mouse eventing
in cases where these windows occupy the same space and the normal client
is stacked over the override
2015-09-08 17:51:21 -04:00
Mike Blumenkrantz b23f3cabd8 unshade clients when activating
fixes issue where an activated client on another vdesk which was shaded
would appear to be unshaded but was, in fact, shaded
2015-09-08 17:02:42 -04:00
Mike Blumenkrantz 579b5dcb76 force-disable refocus during desk flip on client activation
this prevents an infinite focus loop where focus will be constantly
reapplied between multiple windows if the activated window is not the
refocus window
2015-09-08 17:02:40 -04:00
Mike Blumenkrantz c2b9008f11 explicitly show the client object of internal window during show
fix T2690
2015-09-07 12:06:53 -04:00
Mike Blumenkrantz 258680e60c fix x11 compositor to use damage events
it seems that since the first version of the enlightenment compositor
in e17, damage events in x11 have never been used correctly. using
the event struct members will only give the bounding box/area instead
of the damaged regions; the real regions must be explicitly fetched
from the server

this removes the need for a lot of hacks which were added over the years
to make override windows render correctly, and also probably reduces
rendering overhead slightly
2015-09-07 11:17:17 -04:00
Simon Lees 193a8d5b8a Wizard: Update icon theme search list
Summary:
@fix The list of icon themes in the search list is quite out of date
it doesn't include the icon themes used by gnome3 or kde4/5 this means
for a lot of users at first boot e has alot of missing icons.

The Icon sets that have been added are as follows
      "Oxygen",            /* KDE 4 */
      "Adwaita",           /* Gnome 3 */
      "Breeze",            /* KDE 5 */
      "HighContrast"

This change will cause T1732 and T1923 to not occur for almost all users
but it does not fix them properly the code should be modified to fall back
to pick up icons from fallback locations such as the hicolor theme if no
icon theme is set.

It would be nice if someone could backport this to e19 I don't know how to

Reviewers: bu5hm4n, zmike, raster

Reviewed By: raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2377
2015-09-06 13:21:54 +09:00
Mike Blumenkrantz 068497017b 19.9 NEWS updates 2015-08-21 17:54:27 -04:00
Mike Blumenkrantz bbade3286a 19.9 release 2015-08-21 17:49:55 -04:00
Mike Blumenkrantz edc5ff9f7b remove bz2 from dist
apparently people don't use this anymore or something
2015-08-21 17:49:55 -04:00
Carsten Haitzler 46eadb3c16 e - systray - add more sizes to icon hunt to fix missing icons
some systray indicator icons are not found because the sizes are not
in the list. fix this. this SHOULD actually use our existing efreet
icon theme finding to auto-switch file based on size changes.
2015-08-21 17:46:55 -04:00
Mike Blumenkrantz ea64775132 remove dirty callback for deskmirror clients upon creating visual
if another callback triggered the creation of a deskmirror visual while
the dirty callback was in place, a second mirror object would be created
leading to an orphaned mirror object which retained references to the dm
client and eventually resulting in a crash
2015-08-21 17:16:48 -04:00
Mike Blumenkrantz 44b7790cce simplify e_desk_show visibility unsetting, reject recursive desk flips
the currently visible desk for a zone is stored on the zone struct, so
iterating here is unnecessary. furthermore, at the time when a desk is hidden,
a client may begin receiving mouse events which could trigger a focus-set and
lead to another desk flip. at this time and only this time, the "current" desk
will be marked as not visible, and so this sort of desk show must be rejected

fix T2676
2015-08-21 16:46:21 -04:00
Mike Blumenkrantz a8f301748c track focus time for x11 canvas focus, unset client focus on x11 canvas focus-in
in the case that the canvas window has just had focus set on it, apply this focus
and ensure that no client retains focus

this resolves a race condition where focusing the compositor canvas <-> client
extremely quickly would result in a client trying to steal focus when it was
not actually focused

a notable (but trivial) side effect is that now when flipping desks at high speed while using
mouse-based focus policies, the user is almost guaranteed to end on a desk which
has open windows on it
2015-08-21 16:45:57 -04:00
Mike Blumenkrantz 625088f296 reject focus-set attempt if desk flip to client's desk was rejected
in the case of recursive desk flips, toggling a desk's visibility may
erroneously send queued evas events to the client's frame object, leading
to a focus-set (mouse-based focus models) which triggers a desk flip
inside the original desk flip. this "inner" desk flip is spurious and
should be ignored
2015-08-21 16:43:59 -04:00
Mike Blumenkrantz 094fc3c15c add full damage for x11 override clients on resize configure event
it seems that the reported damage events upon resizing an override window
are not accurate, and so we must force a full damage here while avoiding a
render queue in order to ensure that the full contents of the override will
be rendered in the next frame

fix T2045
2015-08-21 16:43:44 -04:00
Mike Blumenkrantz 83351e34dc don't watch dirty smart cb for desmirror clients with unusable pixmaps
this seems to fix an extremely rare issue related to both deskmirror artifacts
and crashes in deskmirror during restart; I was only able to reproduce the crash
twice in the span of over an hour of testing and it seemed to disappear after
this change
2015-08-21 16:43:36 -04:00
Mike Blumenkrantz c5f1932dc2 only check dirty smart callbacks on non-new_client deskmirror clients 2015-08-20 22:03:46 -04:00
Mike Blumenkrantz 77d82a7d87 remove dirty smart callback from deskmirror clients during client delete 2015-08-20 22:03:38 -04:00
Mike Blumenkrantz 50606411cc remove pager mirror delete callback during pager win delete 2015-08-20 22:03:31 -04:00
Mike Blumenkrantz 1ffe765fda watch dirty smart cb for currently unredirected clients in deskmirror
these clients will be unable to create a comp mirror until this callback
is triggered

fix T2585
2015-08-20 15:58:44 -04:00
Mike Blumenkrantz b85005f672 return false when failing to create a mirror during deskmirror obj check 2015-08-20 15:58:37 -04:00