Commit Graph

19311 Commits

Author SHA1 Message Date
Mike Blumenkrantz ab751d1e73 19.13 NEWS updates 2015-11-12 12:46:55 -05:00
Mike Blumenkrantz 06692431f9 19.13 release 2015-11-12 12:44:30 -05:00
Mike Blumenkrantz 26ccdd3907 null efm icon eio handle in error callback
ref T2829
2015-11-11 13:18:00 -05:00
Mike Blumenkrantz bc2d090572 use unsigned int for client focus tracking freeze state
there's no reason why this should ever be negative
2015-11-10 14:50:34 -05:00
Carsten Haitzler 87edcc861b e deskmirror - fix loss of mirror object from deskmirror
this fixes T2830

@fix
2015-11-10 14:50:25 -05:00
Carsten Haitzler a7b5a06640 ibar - fix shutdown if ibar client menu is up
valgrind pointed out a referencing issue with the ibar client menu on
hover and if e is shut down while this is up. it ends up referencing
an already deleted ibar icon, so delete the menu objects that
reference the icon if icon is deleted.

@fix
2015-11-10 14:50:13 -05:00
Mike Blumenkrantz 014d700f91 check client comp data existence in x11 mirror visibility callbacks 2015-11-09 14:35:22 -05:00
Mike Blumenkrantz 245bb97922 enforce fullscreen client stacking during nocomp end IFF client is fullscreen
previous behavior would result in the nocomp window becoming stuck at a fullscreen
layer when ending nocomp, even if the client was no longer fullscreen

fix T2827
2015-11-09 14:34:09 -05:00
Mike Blumenkrantz eefba09456 disable client menu stacking functions for unstackable windows
any client stacked higher than E_LAYER_CLIENT_ABOVE should never be
user-stacked
2015-11-09 14:32:50 -05:00
Mike Blumenkrantz 755073b5fc Revert "force a software render in all cases when finalizing x11 client iconify"
This reverts commit 280e7e959d.
2015-11-09 14:32:50 -05:00
Mike Blumenkrantz 3e5d970c2f toggle x11 client iconic/mapped state based on mirror visibility
in order to continue rendering an iconic client without breaking icccm,
it's necessary to map the client's window again and unset iconic state
whenever rendering is needed, then re-set states when rendering
stops

ref T2788
2015-11-09 14:32:47 -05:00
Mike Blumenkrantz e8c7f5686c add e_comp_object_mirror_visibility_check()
can be used to check whether visible mirrors exist for a comp object
2015-11-09 14:25:25 -05:00
Mike Blumenkrantz a372c31b84 add counter and smart callbacks for comp object visible mirrors
ref T2788
2015-11-09 14:25:16 -05:00
Mike Blumenkrantz 71b113f44c emit ibox icon signals to the internal edje object of the e_icon 2015-11-09 14:23:43 -05:00
Mike Blumenkrantz c31824c2ef move client iconic hint setting into x11 hide function
e_hints should probably be merged into the x11 compositor entirely
at some point
2015-11-09 14:23:23 -05:00
Mike Blumenkrantz 3a16a86ea3 break out x11 client visibility setting into util functions 2015-11-09 14:23:11 -05:00
Stafford Horne cd2ebfe532 e/ilist: Fix issue with multiselect returning wrong index
Summary:
I noticed this because the description dialog in "Apps > Startup Application"
was never getting properly populated.

Test Plan:
When selecting items in the "Apps > Startup Applications" config the
description should update if a "Comment" field is available in the
.desktop file.

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3297
2015-11-09 14:23:11 -05:00
Stafford Horne 27a798c4f1 e/conf_apps: Fix resizing of "Startup Application" dialog
Summary:
Currently the config dialog in Apps > Startup Applications does not properly
resized as one of the objects is not set to horizontal fill.

Test Plan: 1. Resize "Apps > Startup Applications", it should resize the list with the window

Reviewers: zmike

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3296
2015-11-09 14:23:11 -05:00
Mike Blumenkrantz 88726e8df3 adjust efm multi-icon drag positioning by the current pan coords
fixes positioning when dragging multiple icons after scrolling
2015-11-09 14:23:11 -05:00
shorne c7cd4178a7 e/win_config: allow content of some dialogs to resize with the window
Summary:
Currently the dialogs in Winows > Window List Menu and Window Display are
resizable the their content does not resize.  This patch fixes that.

Test Plan: Open windows in window config dialog and ensure they can resize propertly

Reviewers: zmike

Subscribers: raster, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3275
2015-11-09 14:23:11 -05:00
Mike Blumenkrantz 8589289ff5 add native surface (gl) clients to post render list
forgot to add this when I was redoing it for sw

ref 4d30674ab8
2015-11-09 14:23:08 -05:00
Carsten Haitzler 82e2e93fd2 e exec tracker - fix tracking to update desktop files on efreet change
efreet will send change events meaning out desktop file icons are
invalid now. we have refs but content is junk. update these to new
desktop ptr handles by using the exec key to look up new ones on the
change event. this fixes ibar gainign a bunch of blank unknown icons
when any desktop files are touched on the system or user dirs

@fix
2015-11-09 14:14:42 -05:00
Mike Blumenkrantz ff1ef7281b simplify client SMART/EXPAND maximize
calling e_client_resize_limit() here was misleading since the values
were never used
2015-11-09 14:05:17 -05:00
Carsten Haitzler e311bc2372 e - ibar - fix clash when 2 icons of the same path get added somehow
i encontered a situation where the icon_hash contained a garbage entry
- had been freed already. the only way i can see this happening is if
the desktop file changed path during runtime thus the icon was never
removed from hash on free as string didnt match. store string used
when adding to hash so removal is guarannteed to work and also for
good measure protect against double-adding (and generate a new string
for storage using timestamp which should be unique).

so this fixes a crash i was just looping on.

@fix
2015-11-09 14:04:37 -05:00
Mike Blumenkrantz 9324313948 reject frame theme changes for clients which have CSD 2015-11-09 14:04:29 -05:00
Mike Blumenkrantz dfa3b4060c only apply frame geometry deltas for CSD if the CSD region exists
ref e931e86161
2015-11-09 14:04:24 -05:00
Mike Blumenkrantz 90b0708fb1 remove dead modules from whitelist 2015-11-09 14:04:03 -05:00
Mike Blumenkrantz ffc1f2604a make comp config unresizable...again
ref 5178197f60
2015-11-09 14:03:51 -05:00
Mike Blumenkrantz 1529bebcb0 update csd using deltas of previous values
when applying new csd to a window which already has csd, the previous
csd must be removed in order to apply any new csd offsets in order to
avoid unwanted moving/resizing
2015-11-09 14:03:35 -05:00
Thierry bc09dfeefe mouse_config: fix accel threshold and numerator limits.
man xset =>  If the `threshold' parameter is provided and 0, the
`acceleration' parameter will be used in the exponent of a more
natural and continuous formula, giving precise control for slow motion
but big reach for fast motion, and a progressive transition for motions
in between.  Recommended `acceleration' value in this case is 3/2 to 3,
but not limited to that range.
2015-10-17 12:00:40 -04:00
Mike Blumenkrantz 280e7e959d force a software render in all cases when finalizing x11 client iconify
since ICCCM requires that clients be unmapped while iconified, it's necessary
for the compositor to perform one last render prior to the unmap in order to
ensure that mirror objects will still appear as expected. this render must use
the pixmap buffer data in order to avoid timing issues due to async/deferred
rendering, and it is only necessary for the case of clients rendering with a
native surface

fix T2788
2015-10-15 17:05:15 -04:00
Mike Blumenkrantz 979937cc20 clear x11 client pixmap when returning from iconic
ensure pixmap remains usable during the entire hide process
2015-10-15 17:04:02 -04:00
Mike Blumenkrantz 988df882ea reject deleted clients from x11 sync alarm event callback
E_Client->comp_data is null after a client has been deleted, so
attempting to handle events which require the dereferencing of this
pointer after a client has been deleted will result in a crash

these events should be rejected after delete regardless, since at this
time the compositor has stopped handling events for the client

ref f42c6aa187
2015-10-15 14:02:17 -04:00
Mike Blumenkrantz 72b7860cf6 trap shaped x11 clients and prevent compositor blocking with high rect count
in the case where a shaped window with many rects exists, there is a high
probability of the damage rect count being huge, leading to massive blocking for
each frame as the compositor attempts to fetch all of these rects from the xserver.

instead, the compositor can shortcut this by forcing a full-window damage any time
the rect count is sufficiently high, trading a blocking socket operation for some
amount of (potential) overdraw.

testing in affected scenarios has shown huge improvements: where previously the entire
compositor would lock up, things work as expected now

see https://bugzilla.mozilla.org/show_bug.cgi?id=1214746 for a sample case
2015-10-14 13:05:53 -04:00
Mike Blumenkrantz 8c95402fd9 do not return when x11 damage event returns no rects
ensure first_damage flag is set in all cases
2015-10-14 13:03:49 -04:00
Mike Blumenkrantz 0cec30df72 fix typo in previous damage rect commit 2015-10-14 13:03:49 -04:00
Mike Blumenkrantz 61d51eda56 subtract x11 client damage region even when forcing full override damage
fix T2785
2015-10-13 22:40:55 -04:00
Mike Blumenkrantz 21d2a84c2e force full damage for first frame of x11 override clients
it seems that damages for popup windows in some applications,
namely blink-based browsers, are reported incorrectly, resulting
in sometimes having a blank window
2015-10-13 17:11:53 -04:00
Mike Blumenkrantz f53e85e44c make wake-on-urgent apply for all cases of window urgency
in the case that an urgent window is set as urgent again, wakeup should
still occur
2015-10-09 15:24:37 -04:00
Mike Blumenkrantz eab9d00bb8 don't crash desktop gadget systrays when adjusting image sizing
desktop gadgets (gadman) do not have a shelf, so derefing that pointer
without checking will guarantee a crash
2015-10-08 12:23:22 -04:00
Mike Blumenkrantz 24c2d5fb95 when removing VERTICAL maximize state, also remove LEFT and RIGHT states
LEFT and RIGHT are supersets of VERTICAL which serve no purpose on their own,
so remove them when removing VERTICAL

fix T2770
2015-10-07 15:47:41 -04:00
Mike Blumenkrantz e473715ee5 19.12 NEWS updates 2015-10-06 13:53:24 -04:00
Mike Blumenkrantz 7c1b0d9467 19.12 release 2015-10-06 13:49:24 -04:00
Mike Blumenkrantz 16f20ff336 only use fast-path pixmap size updating after a resize for x11 clients
updating these values after other operations will result in the pixmap size
being set inaccurately, leading to rendering inconsistencies
2015-10-05 17:30:54 -04:00
Mike Blumenkrantz 1bfbff09de repopulate app list dialogs when efreet deskop cache updates
should improve usage when installing/uninstalling apps
2015-10-05 16:02:48 -04:00
Mike Blumenkrantz 3733cb039b attempt to load default e_bindings if initial load fails 2015-10-05 16:02:43 -04:00
Mike Blumenkrantz 89387f8cb8 clear menu cache when saving a menu file
force regeneration of menus after editing them

ref T2271
2015-10-05 16:02:37 -04:00
Mike Blumenkrantz c6e79c0ddc make icon selection dialog resizable in .desktop editor
ref T2271
2015-10-05 16:02:32 -04:00
Mike Blumenkrantz adc5572a1f move configure init after intl init has completed
gettext calls will not return the correct language string until after
setup has completed, leading to untranslatable strings

fix T2760
2015-10-05 13:10:57 -04:00
Peter Kjellerstedt 5dc6d333a3 Add "(drag only)" to title for drag only edge bindings
Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3128
2015-10-04 11:56:35 -04:00