Commit Graph

21033 Commits

Author SHA1 Message Date
Mike Blumenkrantz 6bedbfc235 create comp object updates tiler in helper function from either show or damage
it's possible for damage to occur before the show interceptor is triggered,
and in this case damages would be lost despite it being a valid usage

ref T3011
2016-01-18 15:43:40 -05:00
Marcel Hollerbach d093fc8e33 e_grabinput: do not pass a faulty time
Summary:
currently there is ecore_x_current_time passed, which is the time of the
last event. if this is passed to ecore_x_window_focus_at_time the request can be
ignored because the last event can be in the past. Instead using
ecore_x_window_focus fixes this, because current time is passed, which
means that x is just using this event at the time it is called.

@fix T2948

Test Plan: Try to run spotify and try to trigger the bug, I cannot anymore.

Reviewers: zmike, raster

Subscribers: raster, abyomi0, cedric, billiob

Maniphest Tasks: T2948

Differential Revision: https://phab.enlightenment.org/D3471
2016-01-18 15:43:33 -05:00
Mike Blumenkrantz b8a5f960b9 enforce border_fix_on_shelf_toggle config option in shelf
shelf overlap can only take effect based on the state of this option:
specifically, overlap can only be enabled if border_fix_on_shelf_toggle
is enabled
2016-01-18 15:40:03 -05:00
Mike Blumenkrantz 8246999681 make E_DESK_TYPE an int define
this was causing unsigned vs signed comparison warnings
2016-01-18 15:39:41 -05:00
Mike Blumenkrantz 7212db0fc5 improve menu hiding and autoclose
remove menu object from autoclose (if set) and ensure that only the
intended menu is deactivated in the autoclose callback

this fixes some cases where the wrong menu could be closed (or not closed)
due to race conditions with ecore and evas events
2016-01-18 15:39:35 -05:00
Mike Blumenkrantz b978485453 allow NULL object in e_comp_object_util_autoclose()
this can be used to unset the current autoclose object in the case
where the object is known to evade normal autoclose detection
mechanisms
2016-01-18 15:39:30 -05:00
Mike Blumenkrantz a707cc3be6 remove configs for illume modules
these have been out of the tree for years but I forgot to remove the
corresponding configs, leading to error messages when the mobile profile
attempts to load them
2016-01-18 15:38:25 -05:00
Mike Blumenkrantz d2db215201 do full cleanup when overriding existing comp autoclose object
failing to trigger delete on existing autoclose object would result
in the object never closing and being "leaked"
2016-01-18 15:38:21 -05:00
Mike Blumenkrantz 6434d2b354 make ibar config pointer EINTERN 2016-01-18 15:38:14 -05:00
Carsten Haitzler 29ebcc890e e randr - fix randr dialog to do restore right again
post e20 commit that allowe dradnr dialog to come up for a specifci
streen broke restore option - now this fixes it.
2016-01-18 15:37:56 -05:00
Mike Blumenkrantz 06aa313e09 optimize zoomap recalc during recursion
in most cases, zoomap recalcs will trigger recursive calls to zoomap
recalc. these inner calls can be optimized to just do the object move,
allowing the outer-most call to perform the remainder of the recalc
operation
2016-01-18 15:37:47 -05:00
Mike Blumenkrantz d143145f8e select mixer popup sink after popup has been fully initialized
attempting to select too early results in callbacks being triggered
before various widgets are available
2016-01-18 15:37:40 -05:00
Mike Blumenkrantz dd03e4ea5a disable custom logging when eina backtrace is active
ref 2df0404226
2016-01-18 15:36:57 -05:00
Mike Blumenkrantz d1fdf0077c check all corners of an object in e_comp_object_util_zone_get()
if the top left corner is offscreen, checking other corners is still
valid for returning a useful zone
2016-01-18 15:36:43 -05:00
Mike Blumenkrantz 99335628a8 simplify and clarify winlist directional selection action code
in the case where no prev/next direction is specified a navigational
direction will always be specified

CID 1347403
2016-01-18 15:34:51 -05:00
Mike Blumenkrantz 11cc32b7a6 remove wayland function usage from grabinput methods
these never did anythng useful and no longer even compile
2016-01-18 15:34:39 -05:00
Seunghun Lee 354ea1ba0f configure.ac: Remove ecore-x from wayland only build.
Reviewers: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3538
2016-01-18 15:26:09 -05:00
Jean-Philippe Andre fa6db81ef9 Fix spelling in .pc file 2016-01-18 15:25:59 -05:00
Yomi 60eacf06c4 Update copyright year.
Summary: update copyright year.

Test Plan: none.

Reviewers: zmike

Subscribers: cedric

Projects: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D3516
2016-01-18 15:25:27 -05:00
Tom Hacohen 410b76e646 Tiling: tile windows with "Static" gravity.
I can't find anything in the specs that would imply those shouldn't be
tiled. This may cause placement bugs, but I don't think that'd be the
case, as we ignore application placement when tiling anyway.

@fix
2016-01-18 15:25:21 -05:00
Mike Blumenkrantz fa7222ac4c test given coordinates in smart window placement algorithm
the coordinates passed to this function were never used or tested for
being a valid placement location, resulting in any clients which started
with a given position being moved to a pre-existing smart placement test
case, usually the upper-left or lower-right corners of the screen

fix T1106
2016-01-18 15:25:15 -05:00
Mike Blumenkrantz 19b9770291 add special case for frame adjustment during first recalc of new clients
in the case where a new client already has coordinates from creation event,
the frame was never adjusted which resulted in the window being positioned
incorrectly

ref T1106
2016-01-18 15:25:10 -05:00
Mike Blumenkrantz 840e40ac46 un-defer comp util object hiding if second hide occurs during animation
this should match expected behavior of normal comp objects
2016-01-18 15:25:02 -05:00
Mike Blumenkrantz 2ffce2c32b add shelf callback for hidden state and trigger extra hide-on-show if hiding
if shown while a hide animation is running, evas will prevent further show
intercept callbacks from being reached, resulting in a permanently hidden
shelf

this shortcuts the (current) hide animation in order to begin showing the object
2016-01-18 15:24:56 -05:00
Mike Blumenkrantz fbf1019f65 unpopulate all gadcons during shutdown
failing to unpopulate at this time leaves gadcon clients alive until
a time after module shutdown has occurred, resulting in crashes when
gadcon clients destroy themselves and attempt to access module-global
data

ref T2811
2016-01-18 15:24:49 -05:00
Mike Blumenkrantz 5160ca5ddc block input devices from backlight list
I guess this is a thing in newer kernel versions?

ref T1497
2016-01-18 15:24:44 -05:00
Chris Michael 7c79202771 Fix xbl_avail variable being used when it could be undefined
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-18 15:24:39 -05:00
Mike Blumenkrantz 5e7f500ad9 20.2 NEWS updates 2015-12-28 13:48:34 -05:00
Mike Blumenkrantz 1f7f22db68 20.2 release 2015-12-28 13:48:34 -05:00
Simon Lees 2757ddb4df Set QT_QPA_PLATFORM theme to gtk2
Summary:
@fix the display / customisation of KDE5 apps.
KDE5 applications don't understand anything other then gnome or kde
They expect everyone else to set QT_QPA_PLATFORMTHEME to tell them how
to theme there apps otherwise they use a fallback mode which results in
missing icons and a inability to change the appearance of applications
see https://bugzilla.suse.com/show_bug.cgi?id=920792 for more info.
There are two sensible defaults for this variable, "kde" which will
make apps appear the same as they do if they are run in kde. and gtk2
which will make kde applications follow the gtk/gnome theme, we have
decided on choosing gtk2 as it means that kde/qt apps will follow the
app and icon theme set in the enlightenment settings dialog. Some users
who wish to use Qt apps without any gnome or gtk usage may choose to
install qt5ct and overwrite this variable with qt5ct and use that to
configure there Qt5 applications.

Reviewers: raster, zmike

Subscribers: jeffhoogland, cedric

Differential Revision: https://phab.enlightenment.org/D3498
2015-12-28 13:48:34 -05:00
Chris Michael fbeb88d6a9 Add missing function prototype for e_winlist_direction_select
This function is being used inside e_mod_main, but the function
prototype was never exposed which lead to implicit declaration
warnings when building winlist module

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-28 13:48:34 -05:00
Toan Pham bb6a045587 enhance winlist next window selection
Summary:
The original next window selection of winlist is weak.  It searches the next window with the following conditions:

1.  Next non-overlaped window in the direction of user's selection (up,down,right,left).
2.  The next window has to be the closest window from the currently selected window (calculated from shortest distance from each window's border, in the direction of selection)
3.  the second distant requirement is this:
      delta2_next = abs(ec_orig->x - ec_orig->w / 2 - ec->x + ec->w/2);
    * Which I believe is a mistake, should be:
      delta2_next = abs(ec_orig->x + ec_orig->w / 2 - ec->x + ec->w/2);

These two conditions are weak, and they sometimes can result in unexpected selection to the user.

The enclosed patch enhances the next window selection: 1) A next window selection can be the window that's overlapping with the in-focused window.  2)  calculates the next window from the center of the currently focused window to the next window, and it also takes into account directionality (a window that's farther in the direction of selection has a better chance of being selected then a window that's closer in the direction of selection, but offset-ed in the lateral direction.)

Test Plan:
1.  Create 4 key binds for "next window to left, right, up, down".
2.  Open up 4 different windows and position them in odd/random positions.
3.  Try to navigate to each window (with the winlist shortcut keys) before this patch.
4.  Try with this patch, and evaluate if the window selection is more **PREDICTABLE**.

Reviewers: zmike

Subscribers: cedric

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

I fixed the weridness and it behaves much more reliably now with
"tall" or "wide" windows. also fixed some formatting etc. etc. - this
now works better and now if u alt+tab AND then use arrow keys while
holding alt... it'll navigate around geometrically rather nicely.

so big fixes and good for pointing out the simpleness of the original
code. :)

  - raster

@feat
2015-12-28 13:48:34 -05:00
Derek Foreman c5e4a0ac81 wayland: Add support for wl_surface.damage_buffer
Summary:
damage_buffer posts damage in buffer co-ordinates instead of surface
co-ordinates.  For us currently these are always the same co-ordinate
spaces.  This will change when we start supporting viewports and
transforms.

Note: this is currently conditional on the macro
WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION which isn't in any
released wayland, but will be in the next.  We can remove
the ifdefs and change our wayland version dependency when
it's released

 #NefariousHiddenAgenda

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3468
2015-12-28 13:48:34 -05:00
Derek Foreman ecb529197d emix: Rename parameter bool to mute
Summary: Broke my wayland build because something included stdbool.h

Reviewers: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3467
2015-12-28 13:48:34 -05:00
Mike Blumenkrantz 75fbc4361d ignore withdrawn state for x11 override clients during show
these windows are already visible
2015-12-28 13:48:34 -05:00
Mike Blumenkrantz 5f323aa1f9 show non-new x11 clients immediately when changing Withdrawn -> Normal
ref T2950
2015-12-28 13:48:34 -05:00
Mike Blumenkrantz 3ce74544fd only show x11 clients during MapNotify/Request if they have Normal state 2015-12-28 13:48:34 -05:00
Mike Blumenkrantz c0860135ac simplify e_mouse_update() code for x11 compositors
ref D3433
2015-12-28 13:48:34 -05:00
Marcel Hollerbach 52c1de5e7b mixer: only save state if not in init
If we are calling emix_config_save_state_get while in init, we are
freeing the list emix_config_save_state_restore is iterating over.
This leads to crashes.

@fix T2942
@fix T2906
2015-12-18 13:41:44 +01:00
Marcel Hollerbach c30e0137fc alsa: fix a valgrind warning
Valgrind was warning about the values not initialized
2015-12-18 13:41:34 +01:00
Mike Blumenkrantz 2570a5d1e1 20.1 NEWS updates 2015-12-14 13:35:16 -05:00
Mike Blumenkrantz 631d671ce5 20.1 release 2015-12-14 13:33:38 -05:00
maxerba 729030bff0 Updating italian translation 2015-12-14 13:32:18 -05:00
Mike Blumenkrantz d066020bea use current box geometry for calculating desktop ibar/ibox sizing
desktop gadgets don't have minimum size set from parent objects, so
it's necessary to use the current object geometry in order to correctly
size these gadgets since the top-most widget is from elm

fix T2907
2015-12-11 16:49:22 -05:00
Mike Blumenkrantz 7c98372656 never set withdrawn state on x11 clients
icccm 4.1.4:
Only the client can effect a transition into or out of the Withdrawn state.

fix T2901
2015-12-11 16:49:22 -05:00
Mike Blumenkrantz 4cd32def25 do not reapply x11 icccm state during fetch
this is the value which has just been obtained, so don't create potential
race conditions by sending it back to the client
2015-12-11 16:49:22 -05:00
Lukasz Stanislawski 1a9ff2b841 conf_apps: fix add/remove screen lock applications.
Summary:
Fix missmatched paths between desklock and conf_applications module to
enable adding/removing screen lock applications with a dialog.

Test Plan:
Settings=>Apps=>Screen lock/unlock application
           Veryfy if apps are correctly added to config.

Reviewers: zmike, cedric

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3436
2015-12-11 16:49:22 -05:00
Mike Blumenkrantz bbc81b90bd use canvas RENDER_PRE callback to trigger compositor pre-render callbacks
this should probably be removed entirely...
2015-12-11 16:48:54 -05:00
Mike Blumenkrantz ab0d5de40c set wayland new client focus based on accepts_focus and !override
seems to resolve some cases where focus is not applied to new clients
2015-12-11 16:48:46 -05:00
Mike Blumenkrantz cdd8d86abe make e_comp_wl_surface_attach static and take a surface state
when attaching a buffer, it's necessary to have the state available
in order to pull the buffer data into the state for use during commit

fixes subsurface frame callbacks
2015-12-11 16:48:40 -05:00