Commit graph

209 commits

Author SHA1 Message Date
emersion
c55ad11d96
xwayland: add _NET_WM_WINDOW_TYPE_MENU support 2018-04-08 12:02:52 -04:00
emersion
8b07a4d055
Emit xwayland unmap signal before unmapping
This allows compositors to access the surface being unmapped. This
is also more consistent with the destroy signal.
2018-04-06 14:13:52 -04:00
emersion
591ea27cf9
xwayland: refactor selection code 2018-04-03 12:56:54 -04:00
emersion
67dec2da2b
xwayland: fix incoming incr transfers 2018-04-03 11:26:55 -04:00
emersion
58ac05c276
Merge branch 'master' into xwayland-dnd 2018-04-03 10:38:46 -04:00
emersion
1cd7ff7d3a
xwayland: use strndup in xwm_get_atom_name 2018-04-03 10:36:22 -04:00
emersion
d7e03c7adc
xwayland: fix outgoing incr transfers 2018-04-03 10:25:50 -04:00
emersion
8f84c5b05f
xwayland: only send one target at a time 2018-04-03 00:44:04 -04:00
emersion
103e59703f
xwayland: improve xwm_selection_send_notify 2018-04-02 21:55:09 -04:00
Drew DeVault
506acbdecd Missed a spot 2018-04-02 20:57:09 -04:00
emersion
92b74071d0
xwayland: support multiple wayland → xwayland selection transfers
This fixes drag'n'drop support for Chromium.
2018-04-02 19:56:41 -04:00
emersion
8836b4f024
Merge branch 'master' into xwayland-dnd 2018-04-02 15:57:04 -04:00
emersion
692f1746cf
xwayland: specify xwm cursor stride in bytes 2018-03-31 00:22:58 -04:00
emersion
865b0aa123
xwayland: rename map_notify to map for consistency 2018-03-30 11:01:23 -04:00
emersion
cadfccf1fd
xwayland: use a separate window for drag'n'drop 2018-03-29 17:53:47 -04:00
emersion
79dd4a0ff9
xwayland: receive DND_FINISHED 2018-03-29 12:11:30 -04:00
emersion
ca2a73b90d
xwayland: allow drag data source transfer after drag ends 2018-03-29 11:40:19 -04:00
emersion
5dc5f446a8
xwayland: send drag'n'drop action to data source 2018-03-29 11:19:42 -04:00
emersion
6fd50947bd
xwayland: improve error handling 2018-03-28 21:36:53 -04:00
emersion
3effe153bc
xwayland: make wayland → xwayland work 2018-03-28 17:32:52 -04:00
emersion
30babb3865
xwayland: send DND_LEAVE 2018-03-28 16:26:45 -04:00
emersion
e208f8dd8c
xwayland: fixes events not flushed causing issues with GTK apps 2018-03-28 16:06:49 -04:00
emersion
bde859452d
xwayland: print names of unsupported properties and client messages 2018-03-28 15:45:15 -04:00
emersion
2a34b154e6
xwayland: send DND_DROP 2018-03-28 15:33:23 -04:00
emersion
73394deb76
xwayland: send DND_POSITION 2018-03-28 14:16:14 -04:00
emersion
0d7a81ccdf
xwayland: send DND_ENTER 2018-03-28 12:59:11 -04:00
emersion
b6c1760de5
xwayland: create DND window, add DND atom helpers 2018-03-27 12:04:37 -04:00
emersion
e78252adab
Fix segfault in xwm_read_data_source 2018-03-25 18:18:26 -04:00
Dominique Martinet
2910972b25 xwm.h: fix guard ifdef and remove wlr_ prefix from xwm_atoms_contains 2018-03-04 11:16:18 +01:00
Dominique Martinet
d9a724c4a2 xcb errors: init errors context at start
`xcb_errors_context_new` is more than just a malloc, it does a few
xcb requests so we benefit from not generating a new context everytime
2018-03-03 17:06:30 +01:00
Dominique Martinet
7d1870c6f1 move xwm.h out of include/wlr
xwm.h was meant to be private, so move it to include/xwayland/xwm.h
We had an ifdef WLR_HAS_XCB_ICCCM in xwayland.h which was easy to move
to xwm, it is not safe to use the WLR_HAS_* in the public headers.

I checked a few of our current users and none rely on xwm.h being
public as expected (rootston, sway, hsroots)
2018-03-03 17:03:21 +01:00
Dominique Martinet
f481791669 xcb error: get unhandled events names
This provides more friendly debug messages for unhandled events,
for example:
[xwayland/xwm.c:1033] unhandled X11 event: FocusOut (10)
[xwayland/xwm.c:1033] unhandled X11 event: MappingNotify (34)
2018-03-03 16:27:29 +01:00
Dominique Martinet
8026cd2a06 xcb error: always log sequence 2018-03-03 16:13:45 +01:00
Dominique Martinet
6f9da97565 xcb errors: address declare-assign style 2018-03-03 12:00:32 +01:00
Dominique Martinet
f8428d1063 xcb errors: optional dependency with improved messages
Now message can look like:
[xwayland/xwm.c:991] xcb error: op ChangeProperty (no minor), code Window (no extension), value 6291465

instead of this one when the lib is not available:
[xwayland/xwm.c:999] xcb error: op 18:0, code 3, sequence 103, value 6291465

The value in case of Window is the window id, so we can tell what
function applied on which window which is a good start.
The sequence ought to be able to tell us more precisely which
invocation it was, but we never log it when calling functions
so is useless in practice and no longer logged.
2018-03-03 11:46:04 +01:00
Dominique Martinet
2a9ba5c8dc xcb errors: log raw values 2018-03-03 11:43:23 +01:00
Dominique Martinet
5ec06dcecd xwm: fix call of xcb_change_window_attributes for old gcc versions
gcc 6.3.0 (at least) complains about &values:
expected ‘const uint32_t * {aka const unsigned int *}’ but argument
is of type ‘uint32_t (*)[1] {aka unsigned int (*)[1]}’

Reported by thorwil on irc
2018-03-01 21:13:00 +01:00
Markus Ongyerth
bb676013ed add xwayland unmanaged tests to support dmenu
This adds `wlr_xwayland_surface_is_unamanged`, to allow compositors more
fine grained control over XWayland focus.
A surface that is unmanaged should not receive focus, while other
windows that are just override redirect may want it (dmenu).
The way unamanged is determined is taken from wlc.
2018-02-26 12:02:49 +01:00
emersion
b1e2718dd7
xwayland: fix some use-after-free in xwm 2018-02-23 10:20:53 +01:00
Drew DeVault
1d9be89e2d
Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
Scott Anderson
86269052eb Explicitly export EFL symbols 2018-02-19 14:26:40 +13:00
Drew DeVault
8c1cc45c7d
Merge pull request #629 from emersion/safe-wl-resource-get-user-data
Wrap wl_resource_get_user_data into safer helper functions
2018-02-16 09:27:26 -05:00
Rodrigo Lourenço
168e26489a Add missing dependencies 2018-02-14 18:42:39 +00:00
emersion
392d54a35d
Wrap wl_resource_get_user_data into safer helper functions
This ensures we're not incorrectly casting a resource.

Fixes #628
2018-02-13 23:48:46 +01:00
emersion
c2e1474010
Reformat all #include directives 2018-02-12 21:29:23 +01:00
emersion
36ead80cd1
Make wlr_signal_emit_safe private 2018-02-12 19:52:47 +01:00
emersion
5e58d46cc1
Add wlr_signal_emit_safe 2018-02-12 09:12:31 +01:00
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-21 22:18:06 +01:00
emersion
f704c3d42b
rootston: fix damage tracking for fullscreen xwayland views 2018-01-21 22:08:38 +01:00
Johannes Schramm
47eb478c35 style: add else keywords in xwm.c 2018-01-21 17:04:23 +01:00