Commit Graph

21160 Commits

Author SHA1 Message Date
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
Mike Blumenkrantz 7836d58030 do not drop subsurface buffer early after commit from cache
this should work the same way as a normal surface
2015-12-11 16:48:34 -05:00
Mike Blumenkrantz 09d5ca9e25 add wayland shell private data for managing shell-specific data
also cache xdg configure infos and avoid sending duplicate events
2015-12-11 16:48:29 -05:00
Mike Blumenkrantz c4925b3246 do not apply x11 randr iface in wl-x11 if running nested in x11
http://i.imgur.com/S7G0O96.gif
2015-12-11 16:48:21 -05:00
Mike Blumenkrantz ac2249d152 move comp canvas resize callback to monitor elm win geometry
elm win intercepts this callback in order to maintain internal sizing
for use with elm widgets on the compositor canvas, so it's necessary to
get the callback from this object in order to accurately update the canvas
during resizes
2015-12-11 16:48:13 -05:00
Mike Blumenkrantz 0502cc947f init ecore-x during wl-x11 init to ensure DISPLAY is set 2015-12-11 16:48:08 -05:00
Mike Blumenkrantz c520000c33 apply already-committed wayland subsurface positioning after parent surface move 2015-12-11 16:48:02 -05:00
Mike Blumenkrantz 8239622d1b enforce wayland subsurface stacking order when parent surface is restacked 2015-12-11 16:47:53 -05:00
Marcel Hollerbach ceea32a633 e_randr2: Add NULL check
e crashed for me when starting the screen configure tool.
Adding the NULL check here fixes that.
2015-12-11 16:47:53 -05:00
Carsten Haitzler b36e68bcef e - fix leak added by previous fix for icon theme
fixes leak added by a885c8c040

though this is basically unlikely to happen and happens likely just
once for an app... so not a big deal

@fix
2015-12-11 16:47:53 -05:00
Mike Blumenkrantz edfbc7e8af fix wl-x11 make/install rules to not include nonexistent DATA files 2015-12-11 16:47:53 -05:00
Carsten Haitzler 65af14d095 e - fix using an invalid icon theme - fall back to hicolor if not exists
this should fix D2036 on the e side by checking validity of an icon
theme once efreet has finished scanning for stuff and if its invalid,
going back to hicolor.

@fix
2015-12-11 16:47:08 -05:00
Mike Blumenkrantz 5ee63bb201 disable redirection toggling for the nocomp client
#ThisBreaksTheCompositor!
2015-12-11 16:47:08 -05:00
Mike Blumenkrantz 2bff9611c3 reshuffle all notifications on a notification merge
improves layout when a notification's size changes due to merged text
being larger than original text
2015-12-11 16:47:08 -05:00
Carsten Haitzler 31157dadcc e randr - fix leak of modes list in randr code
this fixes a leak of the modes list in randr

@fix
2015-12-11 16:47:08 -05:00
Carsten Haitzler a77d23055c e randr2 - remove auto-clone and now make randr dialog come up instead
some odd things happen with auto-clone, so give the user manual
intervention automatically with the randr conf dilaog coming up on an
unconfigured screen being detected.

@fix
2015-12-11 16:47:08 -05:00
Carsten Haitzler fb7fce8935 e comp randr support - fix leak of randr info
this fixes case where randr info is not freed

@fix
2015-12-11 16:47:08 -05:00
Carsten Haitzler ca3e4460e5 e randr - fix silent free of data behind randr's back
this fixes a bizarrre issue that valgrind reported that has the
strings we malloc and fill somehow being freed by xlib. totally didn't
make sense. either way, a workaround here is to strdup them
immediately and free the tmp copy and oddly the bug doesn't happen.
this is very odd.

@fix
2015-12-11 16:47:08 -05:00
Carsten Haitzler 47ae1ac843 e exec - fix missing ref and unref for instance event
this fixes a crash on shutdown when freeing up stuff because an exec
instance wasnt ref++'d and ref--'d when adding an event on the event
queue that pointed to it.

@fix
2015-12-11 16:47:07 -05:00
Carsten Haitzler 6037523032 e randr - feature fix that allows config to jump to specific screen
as part of another fix for having e just pop up the screen config
dialog when a new screen is detected that isn't configured, allow
config dialog for randr to get screen output name via input params

@fix
2015-12-11 16:44:29 -05:00
Carsten Haitzler e0e7af80bb e zone - handle null e_comp if comp is already shut down
this came from backlight shutdown that got current zone... and getting
zone relied on e_comp being valid.

@fix
2015-12-11 16:44:29 -05:00
Carsten Haitzler 7f5d75e737 e comp - set e_comp to null on shutdown so others dont access junk
e backlight was accessing e_comp implicitly during shutdown and comp
is shut down before backlight (that is correct as comp relies on
backlight). this fixes that

@fix
2015-12-11 16:44:29 -05:00
Carsten Haitzler ae27fa9b7a e backlight - avoid seg when comp is shut down and backlight updated
if comp is already shut down, then backlight can't do shutdown things
assuming comp is around, thus handle null e_comp. this fixes segv's
waiting to happen as backlight is shut down after comp and thus e_comp
is a garbage pointer of course

@fix
2015-12-11 16:44:29 -05:00
Mike Blumenkrantz 70f053cd76 use client geometry for calculations in x11 ConfigureRequest handler
the values requested by the client will be based on its geometry and not
the geometry of the frame. using the frame geometry here results in windows
moving ↘ based on the top/left frame sizes

fix T2912
2015-12-03 14:13:07 -05:00