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
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
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
b6c1760de5
xwayland: create DND window, add DND atom helpers
2018-03-27 12:04:37 -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
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
Johannes Schramm
dcc743047b
style: include brackets for if/while/for, even if it's a single statement
2018-01-21 16:28:21 +01:00
emersion
eeffe11337
surface: add wlr_surface new_subsurface and wlr_subsurface destroy events
2018-01-21 14:22:33 +01:00
emersion
65b28b3823
xwayland: render children window in fullscreen
2018-01-14 18:19:37 +01:00
Dominique Martinet
6ed1884c84
xwm_get_render_format: fix typo in error message
2017-12-29 21:23:55 +01:00
Dominique Martinet
a6fb4b007b
xwm_get_render_format: check NULL return value
2017-12-29 20:31:04 +01:00
Dominique Martinet
bb0d888f25
xwayland selection: further cleanup on Xwayland exit
...
This is necessary if our last primary/clipboard selection was on Xwayland,
and we try to paste to native wayland after Xwayland died
2017-12-29 16:30:59 +01:00
Dominique Martinet
f8a346380c
xwayland xwm_get_render_format: free reply
2017-12-29 15:56:47 +01:00
Dominique Martinet
dad9543c51
Xwayland: remove xwm from selection seat listeners on destroy
2017-12-29 15:56:26 +01:00
Björn Esser
ff13849624
config: Avoid clash with other config-headers
2017-12-27 17:13:58 +01:00
emersion
a79dc7df51
Merge pull request #524 from acrisci/role-committed
...
[wip] Role committed
2017-12-27 13:02:49 +01:00
Tony Crisci
5c5f0611c4
xwayland: role committed
2017-12-27 06:50:21 -05:00
Tony Crisci
e809250171
Merge pull request #519 from emersion/xwayland-primary-selection
...
Implement xwayland primary selection sync
2017-12-27 06:23:04 -05:00
Björn Esser
57a09c8ca4
config: Put all defines into config.h
2017-12-26 18:51:27 +01:00
emersion
6dffaa7bb7
Implement xwayland primary selection sync
2017-12-25 16:10:16 +01:00
emersion
5584f42c1e
Destroy xwm selection window on destroy
2017-12-15 00:05:05 +01:00
emersion
6b42bfad18
Merge branch 'master' into xwm-selection
2017-12-14 23:59:04 +01:00
emersion
75ef7860bb
Merge branch 'master' into display-destroy
2017-12-14 20:29:30 +01:00
emersion
a4094c82c7
Support selection MIME types from wayland to xwayland
2017-12-14 16:24:12 +01:00
emersion
6ef0219763
Merge branch 'master' into xwm-selection
2017-12-14 11:20:38 +01:00
Tony Crisci
ea4b871e16
xwm: user custom event handler
2017-12-13 17:54:19 -05:00
emersion
c67a5824b8
Merge branch 'master' into display-destroy
2017-12-11 16:14:03 +01:00
Tony Crisci
52cda5653b
Revert "xwm: only take clipboard if window is focused"
...
This reverts commit e3542d879d
.
2017-12-08 09:23:26 -05:00
Tony Crisci
35188834db
Merge branch 'master' into feature/xwm-selection
2017-12-08 09:22:44 -05:00
Tony Crisci
31bafc2461
xwm: use edges enum
2017-12-08 06:03:57 -05:00
emersion
b06535718d
Do not destroy wl_client in wlr_xwayland_finish
2017-12-08 01:38:45 +01:00
Tony Crisci
86df909256
xwayland: remove xwayland param from xsurface methods
2017-12-03 17:30:57 -05:00
Tony Crisci
e3542d879d
xwm: only take clipboard if window is focused
2017-11-22 14:58:36 -05:00
Tony Crisci
b0683874e9
xwm: send selection data
2017-11-22 08:10:06 -05:00
Tony Crisci
ea6f77b484
xwm: get selection data
2017-11-21 18:25:21 -05:00
emersion
dcb168914e
Merge branch 'master' into fullscreen
2017-11-21 18:34:12 +01:00
Tony Crisci
1f976a0f25
xwm: xfixes selection notify
2017-11-21 09:25:05 -05:00
Tony Crisci
e786d17f63
Merge branch 'master' into feature/xwm-selection
2017-11-21 07:55:36 -05:00
emersion
151901123f
Merge branch 'master' into refactor-wlr-list
2017-11-20 21:15:58 +01:00
emersion
bc68f26960
Fix evince fullscreen under xwayland
2017-11-20 19:52:47 +01:00
Tony Crisci
444257b6b1
xwm: selection init
2017-11-20 08:51:40 -05:00
Tony Crisci
3880fb0a53
xwm: selection stubs
2017-11-20 07:42:09 -05:00
Tony Crisci
0672d9cb52
bug: properly send WM_STATE
2017-11-19 17:55:02 -05:00
emersion
016744ef4d
Refactor wlr_list inside wlroots
2017-11-19 00:17:40 +01:00
emersion
26dadacb71
Add wl_shell support for maximized views
2017-11-09 20:06:05 +01:00
emersion
758514fe5d
Fix xwayland _NET_WM_STATE handling
2017-11-09 11:21:55 +01:00
emersion
900fb326f7
Fixes segfault when no xcb_render_pictforminfo_t is available
2017-11-02 17:21:00 +01:00
emersion
bb76f52640
Fetch xcb_render_pictformat_t at startup
2017-11-02 16:59:57 +01:00
emersion
3f4ad47421
Use compositor theme for xwm cursor
2017-11-02 16:49:22 +01:00
emersion
ddd7b7711c
Load xwm cursor from theme
2017-11-02 15:52:02 +01:00
emersion
4254c28138
Free xwm cursor in xwm_destroy
2017-11-02 11:09:14 +01:00
emersion
bdaf66a292
Set xwayland root cursor
2017-11-02 00:03:55 +01:00
Dominique Martinet
bf225a60d8
rootston: flush 'close' command on Xwayland
...
The close would otherwise wait for another xcb event to happen.
Flushing helps 'close' feel reactive.
2017-11-01 20:08:26 +01:00
Tony Crisci
ce72a687ce
xwm: cleanup send focus window logic
2017-10-29 10:40:16 -04:00
Tony Crisci
88316e7921
xwm: get rid of xcb call macro
2017-10-29 10:36:16 -04:00
Tony Crisci
942a19a069
xwm: cleanup and consistent naming
2017-10-29 10:31:01 -04:00
Tony Crisci
680f8a169d
xwm: remove duplicate calls in net wm state read
2017-10-27 15:32:19 -04:00
Tony Crisci
325def3841
xwm: create colormap and visual depth detection
2017-10-27 15:20:50 -04:00
Tony Crisci
be297d9d14
xwm: net wm state
2017-10-27 13:17:34 -04:00
Tony Crisci
6a4290b86a
xwm: moveresize events
2017-10-27 10:48:09 -04:00
Tony Crisci
4a106648c4
xwm: remove incorrect implementation of net wm state
2017-10-26 15:58:18 -04:00
Tony Crisci
32b848bd46
xwm: handle focus in
2017-10-26 11:54:39 -04:00
Tony Crisci
930ab06857
xwm: send net_wm_state
2017-10-26 11:39:08 -04:00
Tony Crisci
263279b7e0
xwm: rewrite xwm initialization
2017-10-26 10:39:36 -04:00
Tony Crisci
ff0006d0f0
xwm: refactor client message handler
2017-10-26 09:01:53 -04:00
Tony Crisci
a861b380ef
xwm: add net active window to supported
2017-10-25 20:41:55 -04:00
Tony Crisci
7914f4bda9
xwm: dont focus override redirect windows
2017-10-25 20:40:55 -04:00
Tony Crisci
d6a1e6fd79
xwm: dont flush if no events
2017-10-25 18:51:15 -04:00
Tony Crisci
b443b9a998
xwm: set net active window on xwm create
2017-10-25 08:42:42 -04:00
Tony Crisci
0d1dd84a48
xwm: improve activation and dont send focus twice
2017-10-25 08:39:28 -04:00
Tony Crisci
1be650d78a
xwm: only emit unmap notify once
2017-10-25 07:12:25 -04:00
Tony Crisci
e5ee01254b
xwm: map and unmap notify
2017-10-24 21:07:46 -04:00
Tony Crisci
22435e00c5
xwm: 80col cleanup
2017-10-24 19:18:31 -04:00
Tony Crisci
7643765e7b
xwm: unpaired surface list cleanup
2017-10-24 19:16:50 -04:00
Alexander Taylor
3277c6d994
Fix order of WM_HINTS and WM_PROTOCOLS in xwm atom_map
2017-10-24 19:11:57 -04:00
Tony Crisci
2ff94d0036
xwm: get rid of displayable surfaces list
2017-10-24 18:57:20 -04:00