Commit Graph

7474 Commits

Author SHA1 Message Date
Mike Blumenkrantz 55fc7f4961 use strbuf instead of strcat in edgebinding string synthesis
CID 1039800
2016-03-09 12:11:23 -05:00
Mike Blumenkrantz 02c0612faf use strbuf instead of strcat in keybinding string synthesis
CIDs 1039798, 1039799
2016-03-09 12:11:19 -05:00
Mike Blumenkrantz 7a7c57c2b8 strcpy -> strncpy in evry files plugin 2016-03-09 12:11:15 -05:00
Mike Blumenkrantz a04a93e5ef use strbufs instead of strcat in fwin navbars
CIDs 1039794, 1039795, 1039796
2016-03-09 12:10:51 -05:00
Mike Blumenkrantz 0de37612bb force changed when adding or removing keyboard layouts in config
fix T3208
2016-03-09 12:10:41 -05:00
Mike Blumenkrantz d3d36092c7 update winlist ui when using directional window selection
fix T3152
ref b1378ce77b
2016-03-09 12:10:27 -05:00
Derek Foreman e8c3320712 Fix xdg-shell destructors
_e_shell_surface_destroy() is already the implementation's destructor, so
it'll be called when the surface is destroyed anyway.  What we have to do
here is just call wl_resource_destroy(resource) - which will call that
function for us.

It'll also do us the favor of actually destroying the resource and
removing it from the client's resource list so we won't get a SECOND call
to _e_shell_surface_destroy() on client exit.
2016-03-09 12:08:27 -05:00
Mike Blumenkrantz 820a70e71d do not shortcut access of Efreet_Desktop->x hash in fileman
this subverts thread safety and also (now) avoids return data validation

fix T3096
2016-02-02 13:38:29 -05:00
Mike Blumenkrantz a372e5ba1b disable bindings during wayland screenshot operations
recursive action activation is very bad.
2016-02-02 13:37:40 -05:00
Mike Blumenkrantz e5e2a7cca4 defer screenshot action execution using a job
the drm screenshot action forcefully iterates the main loop, causing
the current loop (which triggered the action) to return after the screenshot
action has ended. during this time, it's possible for other actions to also
trigger, including triggering subsequent screenshot actions, so it's necessary
to defer the execution of the action until after the initial loop which triggered
the action has returned

 #Recursion
2016-02-02 13:37:35 -05:00
Mike Blumenkrantz a28eae0ca9 allocate E_Shell_Data for all xdg surfaces (popups)
this crashes if the shell surface does not have shell data
2016-02-02 13:36:24 -05:00
Mike Blumenkrantz da2af2de23 more correctly handle evry mouse detection on wayland
in this case, mouse events which are not originating from the internal
window are for the screen, and these coords can be used for determining
"mouse out". if the mouse event comes from the window, it is inside the window.

ref 7c661b54a9
2016-02-02 13:34:21 -05:00
Mike Blumenkrantz 7b4b823758 set want_focus for xdg popup surfaces on creation
these types of surfaces should grab focus as early as possible, and
setting the flag at this time ensures that it will be handled during
the next client eval
2016-02-02 13:34:09 -05:00
Mike Blumenkrantz f63ebeb939 call xdg surface map when creating a surface for visible internal windows
if windows are created during startup, they will attempt to show themselves
before xdg surface operations are available, leading to a scenario where they
will never successfully map themselves. if the elm win object is visible, this
indicates a mapped internal window, so directly call the map function at this
time to make the window visible
2016-02-02 13:34:05 -05:00
Mike Blumenkrantz bd8a804718 remove defines for various beta api in other places 2016-02-02 13:32:31 -05:00
Mike Blumenkrantz dfa9b45044 create wl client connection during compositor init, use in shot module
fixes shot module

ref T2919
2016-02-02 13:32:31 -05:00
Chris Michael 641fb52c62 Update wl_weekeyboard for ecore_evas_wayland_window_get2 function rename
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-02 13:32:31 -05:00
Chris Michael 9400e33bab Fix issue of nested compositors not working with Ecore_Wl2 library
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-02 13:32:31 -05:00
Chris Michael 59762676a8 Fix type of size fields for E_Shell_Data
In the xdg_surface_configure_send function, the size params
(width/height) come in as int32_t. This patch makes the E_Shell_Data
fields for width & height match those (else we end up with compiler
warnings when comparing int32_t to uint32_t).

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-02 13:32:31 -05:00
Chris Michael 96b55ce441 Fix using global ewd variable by making it part of e_comp_wl
ref T2919

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:31 -05:00
Chris Michael 5ea81d10fd Port wl_fb module to use Ecore_Wl2 Library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 6e743567e6 Port wl_weekeyboard to use Ecore_Wl2 library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael 58c7122aaf Don't leak eina_iterator in shot module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael bdc41d238d Fix formatting of wl_weekeyboard module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -05:00
Chris Michael cf51751347 Port shot module to use ecore_wl2 library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -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 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 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
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
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 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
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 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
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 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 0502cc947f init ecore-x during wl-x11 init to ensure DISPLAY is set 2015-12-11 16:48:08 -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
Mike Blumenkrantz edfbc7e8af fix wl-x11 make/install rules to not include nonexistent DATA files 2015-12-11 16:47:53 -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 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
Derek Foreman 81ff082e0d Stop using MIN macros when choosing versions for wayland resources
Summary:
libwayland-server.so will post an error if the requested version
is higher than the supported one anyway, so there's no point in
doing this.

Using MIN() to pick versions is a client side idiom.

 #kansas

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3385
2015-11-26 20:12:47 -05:00
Stefan Schmidt 7ed2381722 pulse backend: correct declaration of function with no parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.

Thanks for the sparse semantic parser for pointing this out.
2015-11-26 18:10:47 +01:00
Mike Blumenkrantz 913e04bda7 declare xwayland functions prior to using them
#CompileFail
2015-11-24 15:46:10 -05:00
Mike Blumenkrantz 70c6dc30d1 use separate handler for x11 fatal errors when using xwayland
a fatal error with xwayland is not a fatal error for the compositor,
so this should not result in a dead session
2015-11-24 15:34:42 -05:00
Mike Blumenkrantz ba53e6937b fix all shadow warnings in msgbus module
ref cdb436ee86
2015-11-24 12:01:01 -05:00
Carsten Haitzler 255d227ac8 e - efm - rate limit dbus requests to open dirs or files to avoid dos
in a wayland wold we dont want to trust clients on the other side of a
dbus connection - so rate limit what you can do with efm dbus requests

@fix
2015-11-24 22:07:53 +09:00