Commit Graph

17334 Commits

Author SHA1 Message Date
Mike Blumenkrantz 72377fd255 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:56:34 -04:00
Mike Blumenkrantz 41f4bbf663 return false when failing to create a mirror during deskmirror obj check 2015-08-20 15:56:02 -04:00
Mike Blumenkrantz 218064ffe0 add some smart callbacks for comp objects on redirect/dirty state change 2015-08-20 15:55:35 -04:00
Mike Blumenkrantz 5b4ef00d56 force render queue and check for redirection on clients with 0x0 pixmaps
fixes an issue where resizing the current nocomp client could result in a
broken compositor until a render queue was triggered
2015-08-20 15:39:22 -04:00
Mike Blumenkrantz aaac966226 add compile warning and block load of wl_text_input module
needs vkbd module merge
2015-08-20 15:02:23 -04:00
Seunghun Lee 26d352f219 Add module "wl_text_input" for supporting *wl_text_input* and *wl_input_method* protocol in wayland.
Summary:
this patch allow to use virtual keyboard such as weston-keyboard.
it was tested in wayland verion 1.6.

Test Plan:
<prerequisite>
- Configure with --enable-wl-text-input
- edit configuration file, e.cfg to enable module wl_text_input.

1. run enlightenment as a wayland display server.
2. run weston-keyboard.
3. run weston-editor.

Reviewers: raster, Sergeant_Whitespace, devilhorns, zmike

Reviewed By: zmike

Subscribers: ManMower, Sergeant_Whitespace, cedric, jihoon

Differential Revision: https://phab.enlightenment.org/D2275
2015-08-20 14:55:55 -04:00
Mike Blumenkrantz 38d5746977 check compositor screen iface existence before deref in dpms
fixes crash in compositors lacking screen ifaces
2015-08-19 15:32:24 -04:00
Mike Blumenkrantz 77e76582b1 disable xkbswitch module loading under wayland
NYI
2015-08-19 15:20:45 -04:00
Mike Blumenkrantz 2cdb5a3b3f feed mouse-up event during mouse down on menus
this fixes the case where the mouse is moved while the mouse is pressed
so that the selected menu item will continue to follow the mouse

fix T2127
2015-08-19 15:03:50 -04:00
Mike Blumenkrantz 1b2cceafbb redo fileman menus to only scan the first 100 items found
this was meant to be a quick way to navigate directories, not a fully
operational filemanager in a menu

fix T2462
2015-08-19 15:03:47 -04:00
Mike Blumenkrantz 08cb4826ad do not relaunch relaunchable quickaccess windows during logout
fix T2492
2015-08-19 14:36:20 -04:00
Mike Blumenkrantz d631bef3eb set 'stopping' during logout action
this flag is used in some cases to determine whether to behave as
though enlightenment is stopping. in the case of logout, we are stopping.
2015-08-19 14:35:16 -04:00
Mike Blumenkrantz 21ee21bc1f end wl xdnd drags on the compositor canvas using the full dnd end codepath
fix T2652
2015-08-19 14:35:04 -04:00
Mike Blumenkrantz fb79fff70d don't set E_Client->changes.visible on successful show/hide
iirc this was a fix for something else that was going on early in
e19 development, now it creates issues when attempting to hide clients
2015-08-19 14:00:52 -04:00
Chris Michael f53fd254aa enlightenment: Remove commented out reference to wl_screenshot Makefile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-08-19 12:37:39 -04:00
Chris Michael 63b96bbb5b enlightenment: Remove wl_screenshot module from whitelist
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-08-19 12:30:36 -04:00
Mike Blumenkrantz 44193b665e only use deferred focus-setting on desk flip focus if client is not visible 2015-08-18 21:06:59 -04:00
Mike Blumenkrantz 0730e3853a unset E_Client->want/take_focus flags in hide callback
deferred focus should no longer be valid if a client has been hidden
before the focus-set could be triggered

fixes super fun infinite loop with desk flips
2015-08-18 18:18:12 -04:00
Mike Blumenkrantz 68da56b430 do not modify E_Client->visible value in show/hide callbacks 2015-08-18 18:17:51 -04:00
Mike Blumenkrantz 7b7dbbc249 reject x11 NotifyVirtual and NotifyInferior mouse in events more accurately
these events are valid when moving from parent<->child window

fix T2674
2015-08-18 17:23:07 -04:00
Cedric BAIL 74dd6e8eee temperature: let's finally allow the temp process to rest also when enlightenment die. 2015-08-17 22:30:26 +02:00
Cedric BAIL 4d30a3bf35 battery: let's finally allow the battery process to rest also when enlightenment die. 2015-08-17 22:30:26 +02:00
Mike Blumenkrantz f4e07cd8f0 add event rect for deskmirror in pager/taskbar modes
ensures that events are properly triggered and consumed when this
widget is clicked on

fix T2645
2015-08-17 14:56:17 -04:00
Mike Blumenkrantz 79345485dd simplify ibar focus function 2015-08-17 14:56:17 -04:00
Mike Blumenkrantz e9de478b03 explicitly grab compositor on ibar focus 2015-08-17 14:56:17 -04:00
Mike Blumenkrantz 2edd687800 make pager kbd/mouse grabs more effective in wayland compositors
use the same codepaths as x11 compositors, but explicitly grab the
compositor canvas
2015-08-17 14:56:17 -04:00
Mike Blumenkrantz 86d5d318fa handle winlist kbd events more accurately in wayland compositors
key handlers here will pick up both wayland and drm engine type events,
so ensure that we only handle events matching the compositor canvas
window to prevent unexpected behavior

fix T2637
2015-08-17 14:56:17 -04:00
Mike Blumenkrantz a364dbb0c8 force xwl client to retain original x11 client's placed flag during swap
fixes race condition where xwl clients would sometimes erroneously place
at 0,0
2015-08-13 17:10:54 -04:00
Mike Blumenkrantz 76fb106129 enable shape cutting for xwl clients during flip
fixes xwl<->xwl dnd
2015-08-13 16:20:39 -04:00
Mike Blumenkrantz 91ed3995f0 remove some local aliasing of e_comp_wl global 2015-08-13 16:08:55 -04:00
Mike Blumenkrantz 3f13b6889d replace existing usage of x/wl_comp_data with corresponding globals 2015-08-13 16:05:57 -04:00
Mike Blumenkrantz 32adc0e901 add e_comp_x and e_comp_wl globals
constantly typing e_comp->x/wl_comp_data-> is tiring
2015-08-13 16:01:08 -04:00
Mike Blumenkrantz 4956fe3304 delete data device resources from hash using client
fixes crash when currently-entered wl surface is destroyed
2015-08-13 14:21:56 -04:00
Chris Michael e31441bb48 enlightenment: Replace old comp_type conditionals
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-08-13 10:33:48 -04:00
Chris Michael 2f1d32a081 enlightenment: Replace old comp_type conditionals
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-08-13 10:31:54 -04:00
Mike Blumenkrantz 83f49bf44c redo wayland shot init to account for async+slow global loading
previously it was possible for the shot module to init in a wayland
compositor and fail to grab the necessary globals, resulting in black
rects for all shots
2015-08-12 20:19:18 -04:00
Mike Blumenkrantz 97f131582e add local event for wl_wl output to use when a global has been received 2015-08-12 20:18:43 -04:00
Mike Blumenkrantz 725890f105 emit randr change event on randr init
wayland compositors have been failing to create any outputs for some
time as a result of not getting any randr events on init
2015-08-12 20:17:25 -04:00
Mike Blumenkrantz 7986b084f8 enforce compositor canvas resizing/updating when emitting randr events
all compositors will want this to occur, so make it automatic
2015-08-12 19:27:53 -04:00
Mike Blumenkrantz a08a1434c1 move x11 ee resize callback to comp_canvas, simplify x11 randr event handler
this should ensure that all compositors accurately perform resize-related
canvas operations
2015-08-12 19:26:19 -04:00
Mike Blumenkrantz 7f3d59f6f2 init null wl mime types array when new type is offered 2015-08-12 18:42:42 -04:00
Mike Blumenkrantz 3b785403b6 reject xwl selection notify events which do not match our xwl property atom 2015-08-12 17:59:16 -04:00
Mike Blumenkrantz 466ceca59b don't toggle screensaver twice on x11 xdnd selection owner change 2015-08-12 17:45:34 -04:00
Mike Blumenkrantz ce6703e979 only delete current drag on x11 xdnd selection loss if x11 owned selection 2015-08-12 17:45:01 -04:00
Mike Blumenkrantz ecffe370d1 convert E_Comp_Wl_Data_Source->mime_types to Eina_Array
this data struct fits the usage of the data more effectively
2015-08-12 17:39:15 -04:00
Mike Blumenkrantz 442d63d8d6 track button mask for all drags, only end drag when mask has depopulated
previously, beginning a drag with the left button, then pressing and
releasing another button would result in the drag terminating without
the original button being released
2015-08-12 15:39:42 -04:00
Mike Blumenkrantz d1ed90d160 force sending of mouse button release on xwl drag end
seems to be necessary for the client to end its drag
2015-08-12 15:12:03 -04:00
Mike Blumenkrantz 48be7016ad make wl client mouse button handler fn external 2015-08-12 15:12:03 -04:00
Mike Blumenkrantz 5bc8376fb5 break out wl client motion sending, force motion events during x11 drags
weird, but fixes xwl drag positioning
2015-08-12 15:11:59 -04:00
Mike Blumenkrantz ba1077fb42 fix xwl pixmap unaliasing during client deletion
no more crashing, hooray!
2015-08-12 14:32:21 -04:00
Chris Michael cb622b8a7a enlightenment: Remove legacy unused e_pixmap_image_draw_done function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-08-12 14:20:05 -04:00
Mike Blumenkrantz 28c84f92dc don't iterate damage rects during render in wayland compositor mode
this is a no-op that spins for no reason
2015-08-12 14:13:21 -04:00
Mike Blumenkrantz f29410b084 force copy rendering for argb wayland clients
wayland protocol for shm handling is broken for now and I can't fix
real issues because of the constant crashing when buffers disappear
randomly
2015-08-12 14:12:04 -04:00
Mike Blumenkrantz edc2de32c1 use unmodified client geometry for new xwl clients during first surface commit
fixes a race condition where a configure request occurring before the xwl
client swap could fail to take effect due to xwayland bug where buffer size
is reported incorrectly
2015-08-12 13:45:19 -04:00
Mike Blumenkrantz 9613b1faff do not add render update on resize fail due to unusable pixmap in wl
this will not have any effect
2015-08-12 13:45:19 -04:00
Stefan Schmidt c588867c1f modules/battery: Remove assign without effect
CID: 1316024
2015-08-12 09:26:19 +02:00
Stefan Schmidt be97356eaa e_widget_filepreview: Remove assign without effect
CID: 1316023
2015-08-12 09:25:16 +02:00
Mike Blumenkrantz dcc22aa27c finish xwl dnd operation immediately if drop occurred somehow 2015-08-11 16:04:54 -04:00
Mike Blumenkrantz 8ea4b9b4e9 don't create pipe for x11->wl clipboard selections
this is never used
2015-08-11 16:04:36 -04:00
Mike Blumenkrantz 11e374ce13 only create fd handler for wl clipboard data source if fd is passed 2015-08-11 16:04:36 -04:00
Mike Blumenkrantz ebc6c0ee35 don't remove wl data source listener when xwl owns the selection
crash-- since xwl has no listener
2015-08-11 16:04:36 -04:00
Mike Blumenkrantz 04b6514c51 add separate log domain for xwayland 2015-08-11 16:04:36 -04:00
Chris Michael ae9ef1a542 xwayland: Add missing EINA_UNUSED for unused function parameters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-08-11 09:50:41 -04:00
Simon Lees 70226ceedf Fix copy-paste error in comment, This page is tasks not connman
Summary: No functional change

Reviewers: zmike, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2930
2015-08-11 10:00:03 +02:00
Mike Blumenkrantz 335f9c4324 finish off x11<->wl clipboard support
a lot of this functionality is reused from dnd. basic selection owner
management in x11 and slapping bytes down a pipe to the wl client;
a bit laggy when pasting to wl clients sometimes, need to spend more time
debugging that...

 #Kansas
2015-08-10 18:59:03 -04:00
Mike Blumenkrantz cb363eb9b8 close xwl dnd pipe on operation end 2015-08-10 18:59:03 -04:00
Mike Blumenkrantz 0ee67a1e52 make e_comp_wl_data_device_keyboard_focus_set() external 2015-08-10 18:59:03 -04:00
Mike Blumenkrantz 495a14ea17 make wl clipboard source create/unref external 2015-08-10 18:59:02 -04:00
Mike Blumenkrantz 0a690c7d17 don't crash in wl compositor when data resource is destroyed in multiple listeners 2015-08-10 18:59:02 -04:00
Mike Blumenkrantz 263794f42f only update wl dnd surface client if a wl drag is active 2015-08-10 18:59:02 -04:00
Mike Blumenkrantz bf4c5452f3 track xwl clipboard owner 2015-08-10 18:59:02 -04:00
Mike Blumenkrantz 2e000a45dc use current ecore-x time when setting selection owner for xwl dnd operations
according to icccm spec, it is not recommented to use currenttime here
2015-08-10 18:59:02 -04:00
Mike Blumenkrantz 5c14b4a17b add comp util function for determining whether xwayland is active 2015-08-10 18:59:02 -04:00
Mike Blumenkrantz 1ca8c9eb36 account for state in xwl property change handler
we only care about events where the property was deleted here
2015-08-10 18:59:02 -04:00
Marcel Hollerbach c61320ce72 Merge branch 'devs/bu5hm4n/mixer'
This merge fixes problems which where discovered by the mail "[e-users] alsa NOT mixer?"
2015-08-10 19:48:23 +02:00
Marcel Hollerbach 5675ed26cd mixer: Fix segfault when backend does not have any sink 2015-08-10 19:25:27 +02:00
Marcel Hollerbach 81e8a349bb mixer: only list playbackdevices if they are _real_ playbackdevices 2015-08-10 19:23:31 +02:00
Marcel Hollerbach d6833f0749 mixer: update internal volume and call the changed event 2015-08-10 19:17:43 +02:00
Marcel Hollerbach 91f34cb1f7 mixer: get volume after setting channels 2015-08-10 19:15:59 +02:00
Marcel Hollerbach 0a26246848 mixer: this if does not make much sense 2015-08-10 19:14:51 +02:00
Carsten Haitzler 019b6641a3 e - randr - handle lid close screen turnoff correctly again
this USED to work until i made things like auto-clone work without
config and so on and that broke turning off closed lid screens. it
also works when i suspend while lid is closed and resume (i can only
test with lid open as i need to open lid to unsuspend).
2015-08-09 00:22:16 +09:00
Mike Blumenkrantz 8e211f1950 implement wl->x11 dnd operations
seems to work fine, large selection data (ref T2330) still untested
2015-08-07 21:07:34 -04:00
Mike Blumenkrantz c696fa7088 do not send wl dnd positioning updates to xwl clients 2015-08-07 21:07:34 -04:00
Derek Foreman f124f1bf6e wayland: force wl surface frame callbacks on commit for undamaged surfaces
Summary:
Doing it just for bufferless surfaces wasn't quite enough, sometimes
we get a sequence like: attach, commit, frame, commit

And we need to respond to the frame.

 #Kansas

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2934
2015-08-07 17:20:05 -04:00
Flavio Ceolin 7c195e383c modules:mixer:pulse Update default sink
Update the default sink when it changes (for instance when it is changed
on pavucontrol).
2015-08-07 16:53:51 -03:00
Derek Foreman 15d13dad16 wayland: Always add frame callbacks to current state on commit
Summary: Previously we ignored it for unmapped surfaces.

Reviewers: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2932
2015-08-07 14:52:33 -04:00
Mike Blumenkrantz cae58cea9f force wl surface frame callbacks on commit for bufferless surfaces
#Kansas
2015-08-07 13:48:21 -04:00
Mike Blumenkrantz 262598a126 print DBG infos for unhandled x11 client messages 2015-08-07 13:48:21 -04:00
Mike Blumenkrantz 004383a52e block screensaver activation during xwl dnd operations 2015-08-07 13:48:21 -04:00
Mike Blumenkrantz f9bd731087 track xwl dnd event handlers 2015-08-07 13:48:21 -04:00
Stefan Schmidt 5e5fcc4828 wl_drm: No need to init orient to 0 as it will never be read. 2015-08-07 15:55:49 +02:00
Mike Blumenkrantz a579c2ec36 force render update on wayland clients during commit
an unmapped wayland client must still run post-render code to execute
frame callbacks

fixes terminology initial render with efl from git
2015-08-06 19:40:10 -04:00
Mike Blumenkrantz 5bde1a8648 implement x11->wayland dnd operations
still a little rough, but the basics are functional. works by showing
the x11 compositor selection window, which has rects to exclude geometries
of xwl clients, for getting x11 xdnd events, and then manually sending
all the related client messages in order to inform the x11 client that
enlightenment is, in fact, an extremely credible xdnd drop site and not
a rogue compositor which will mangle/destroy the dnd data.

still render crashes after the operation completes, so possibly not the
most useful thing to be using now
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz 3c722ac7f2 alias xwl client pixmaps -> wl surface pixmaps
it's now possible to retrieve the xwl client using the xwl xwindow
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz 6aa9a9477e add pixmap aliasing
this provides the ability to alias one pixmap id as another pixmap
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz 8557da360c make dummy e_drag rect invisible 2015-08-06 19:31:20 -04:00
Mike Blumenkrantz e37f5d8c28 set pass events on DND type windows
these are the actual drag windows from external apps and will be stuck
under the cursor, ideally not blocking/intercepting all motion events
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz 000c97659f reject xwl clients from wayland data device enter/leave functions
NYI
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz 550cc56e59 make most wayland data device functions external 2015-08-06 19:31:20 -04:00
Mike Blumenkrantz 106dfe4e21 only attempt to provide wayland drag motion data if drag exists 2015-08-06 19:31:20 -04:00