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.
7 years ago
emersion
b1e2718dd7
xwayland: fix some use-after-free in xwm
7 years ago
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
7 years ago
Scott Anderson
86269052eb
Explicitly export EFL symbols
7 years ago
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
7 years ago
Rodrigo Lourenço
168e26489a
Add missing dependencies
7 years ago
emersion
392d54a35d
Wrap wl_resource_get_user_data into safer helper functions
...
This ensures we're not incorrectly casting a resource.
Fixes #628
7 years ago
emersion
c2e1474010
Reformat all #include directives
7 years ago
emersion
36ead80cd1
Make wlr_signal_emit_safe private
7 years ago
emersion
5e58d46cc1
Add wlr_signal_emit_safe
7 years ago
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
f704c3d42b
rootston: fix damage tracking for fullscreen xwayland views
7 years ago
Johannes Schramm
47eb478c35
style: add else keywords in xwm.c
7 years ago
Johannes Schramm
dcc743047b
style: include brackets for if/while/for, even if it's a single statement
7 years ago
emersion
eeffe11337
surface: add wlr_surface new_subsurface and wlr_subsurface destroy events
7 years ago
emersion
65b28b3823
xwayland: render children window in fullscreen
7 years ago
emersion
38ed3b4245
seat: rename selection_source to selection_data_source, remove unused data_device
7 years ago
Dominique Martinet
6ed1884c84
xwm_get_render_format: fix typo in error message
7 years ago
Dominique Martinet
ec952931a1
wlr_xwayland: preserve end of struct on restart
...
This is more robust than trying to recopy a few fields.
Note: wlr_xwayland->events.ready now resets after each trigger, so one can
hook on it again and be called when restart is ready
7 years ago
Dominique Martinet
a6fb4b007b
xwm_get_render_format: check NULL return value
7 years ago
Dominique Martinet
41649a1f9a
xwm_selection_finish: set NULL seat for xwayland
...
While they could eventually be split appart, the current approach could lead to
double wl_list_remove() calls on selections which is incorrect
7 years ago
Dominique Martinet
e0eafa0429
xwayland: listen to wlr_seat destroy signal
7 years ago
Dominique Martinet
61b91a5721
xwayland restart: copy seat and events over
...
This is very ugly, there must be a better way to do that (not memset it?)
Meanwhile, this fixes rootston xwayland on restart
7 years ago
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
7 years ago
Dominique Martinet
f8a346380c
xwayland xwm_get_render_format: free reply
7 years ago
Dominique Martinet
dad9543c51
Xwayland: remove xwm from selection seat listeners on destroy
7 years ago
Dominique Martinet
e5dd98c7f5
xwayland/selection: handle wl_array_add failure better
...
Just abort and deregister instead of trying to throw some input out,
which would have lead to inconsistent paste
7 years ago
Dominique Martinet
3eb4fa15ee
ENOMEM checks: consistently check wl_array_add return
7 years ago
Björn Esser
ff13849624
config: Avoid clash with other config-headers
7 years ago
emersion
a79dc7df51
Merge pull request #524 from acrisci/role-committed
...
[wip] Role committed
7 years ago
Tony Crisci
5c5f0611c4
xwayland: role committed
7 years ago
Tony Crisci
e809250171
Merge pull request #519 from emersion/xwayland-primary-selection
...
Implement xwayland primary selection sync
7 years ago
emersion
1c9b09ca92
Add logging to selection message handlers
7 years ago
emersion
b3072f81fe
Allow calling xwm_set_seat with a NULL seat
7 years ago
Björn Esser
57a09c8ca4
config: Put all defines into config.h
7 years ago
emersion
998267e291
Fix primary selection not sent to xwayland when clipboard is empty
7 years ago
emersion
4a11609b76
Fix use-after-free when destroying selection sources
7 years ago
emersion
cdc21cdcff
Properly free selection sources
7 years ago
emersion
6dffaa7bb7
Implement xwayland primary selection sync
7 years ago
emersion
810c4b119b
Fix clipboard from xwayland to wayland
7 years ago
emersion
76dcb694c1
Send empty selection when clipboard is empty
7 years ago
emersion
5584f42c1e
Destroy xwm selection window on destroy
7 years ago
emersion
6b42bfad18
Merge branch 'master' into xwm-selection
7 years ago
emersion
b884025558
Deny access to clipboard if no xwayland window is focused
7 years ago
emersion
75ef7860bb
Merge branch 'master' into display-destroy
7 years ago
emersion
343efd0c20
Only reply to clipboard selection events
7 years ago
emersion
a4094c82c7
Support selection MIME types from wayland to xwayland
7 years ago
emersion
62a16a356d
Support selection MIME types from xwayland to wayland
7 years ago
emersion
6ef0219763
Merge branch 'master' into xwm-selection
7 years ago
Tony Crisci
ea4b871e16
xwm: user custom event handler
7 years ago
emersion
c67a5824b8
Merge branch 'master' into display-destroy
7 years ago
Tony Crisci
4da4048189
remove todo
7 years ago
Tony Crisci
a4bb0574c4
selection fixes
7 years ago
Tony Crisci
52cda5653b
Revert "xwm: only take clipboard if window is focused"
...
This reverts commit e3542d879d
.
7 years ago
Tony Crisci
35188834db
Merge branch 'master' into feature/xwm-selection
7 years ago
Tony Crisci
31bafc2461
xwm: use edges enum
7 years ago
emersion
e30b943fbd
Destroy xwayland client when possible
7 years ago
emersion
b06535718d
Do not destroy wl_client in wlr_xwayland_finish
7 years ago
emersion
18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free
7 years ago
Tony Crisci
86df909256
xwayland: remove xwayland param from xsurface methods
7 years ago
Tony Crisci
5d7eb438d9
Merge pull request #437 from emersion/fullscreen
...
Fullscreen support
7 years ago
Tony Crisci
e3542d879d
xwm: only take clipboard if window is focused
7 years ago
Greg V
1ae944c071
Use SIGUSR2 for vt switching instead of SIGUSR1
...
Xwayland uses SIGUSR1 to signal readiness.
With direct(-freebsd) session and Xwayland, wlroots was confusing the
Xwayland readiness signal with a vt switch signal, freezing the desktop.
Same problem was found in Weston in 2014:
https://phabricator.freedesktop.org/T7080
7 years ago
Tony Crisci
fc17c74516
xwayland: clean up seat setting
7 years ago
Tony Crisci
b0683874e9
xwm: send selection data
7 years ago
Greg V
71aa634ac5
Fix Xwayland second socket path on non-Linux systems
...
It was creating two sockets with the same path
7 years ago
Tony Crisci
ea6f77b484
xwm: get selection data
7 years ago
Tony Crisci
39e2ea8420
xwm: get selection targets
7 years ago
emersion
dcb168914e
Merge branch 'master' into fullscreen
7 years ago
Tony Crisci
1ada1b7f0b
xwm: x11 data source
7 years ago
Tony Crisci
c67cf2e9e4
xwm: handle selection stubs
7 years ago
Tony Crisci
1f976a0f25
xwm: xfixes selection notify
7 years ago
Tony Crisci
e786d17f63
Merge branch 'master' into feature/xwm-selection
7 years ago
emersion
151901123f
Merge branch 'master' into refactor-wlr-list
7 years ago
emersion
bc68f26960
Fix evince fullscreen under xwayland
7 years ago
Tony Crisci
444257b6b1
xwm: selection init
7 years ago
Tony Crisci
3880fb0a53
xwm: selection stubs
7 years ago
Tony Crisci
0672d9cb52
bug: properly send WM_STATE
7 years ago
emersion
016744ef4d
Refactor wlr_list inside wlroots
7 years ago
Drew DeVault
a317ecdab8
Run startup command after xwayland is ready
7 years ago
emersion
26dadacb71
Add wl_shell support for maximized views
7 years ago
emersion
758514fe5d
Fix xwayland _NET_WM_STATE handling
7 years ago
emersion
900fb326f7
Fixes segfault when no xcb_render_pictforminfo_t is available
7 years ago
emersion
bb76f52640
Fetch xcb_render_pictformat_t at startup
7 years ago
emersion
3f4ad47421
Use compositor theme for xwm cursor
7 years ago
emersion
ddd7b7711c
Load xwm cursor from theme
7 years ago
emersion
4254c28138
Free xwm cursor in xwm_destroy
7 years ago
emersion
bdaf66a292
Set xwayland root cursor
7 years ago
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.
7 years ago
Tony Crisci
ce72a687ce
xwm: cleanup send focus window logic
7 years ago
Tony Crisci
88316e7921
xwm: get rid of xcb call macro
7 years ago
Tony Crisci
942a19a069
xwm: cleanup and consistent naming
7 years ago
Tony Crisci
680f8a169d
xwm: remove duplicate calls in net wm state read
7 years ago
Tony Crisci
325def3841
xwm: create colormap and visual depth detection
7 years ago
Tony Crisci
be297d9d14
xwm: net wm state
7 years ago
Tony Crisci
6a4290b86a
xwm: moveresize events
7 years ago
Tony Crisci
4a106648c4
xwm: remove incorrect implementation of net wm state
7 years ago
Tony Crisci
32b848bd46
xwm: handle focus in
7 years ago
Tony Crisci
930ab06857
xwm: send net_wm_state
7 years ago
Tony Crisci
263279b7e0
xwm: rewrite xwm initialization
7 years ago
Tony Crisci
ff0006d0f0
xwm: refactor client message handler
7 years ago
Tony Crisci
a861b380ef
xwm: add net active window to supported
7 years ago
Tony Crisci
7914f4bda9
xwm: dont focus override redirect windows
7 years ago
Tony Crisci
d6a1e6fd79
xwm: dont flush if no events
7 years ago
Tony Crisci
b443b9a998
xwm: set net active window on xwm create
7 years ago
Tony Crisci
0d1dd84a48
xwm: improve activation and dont send focus twice
7 years ago
Tony Crisci
1be650d78a
xwm: only emit unmap notify once
7 years ago
Tony Crisci
e5ee01254b
xwm: map and unmap notify
7 years ago
Tony Crisci
22435e00c5
xwm: 80col cleanup
7 years ago
Tony Crisci
7643765e7b
xwm: unpaired surface list cleanup
7 years ago
Alexander Taylor
3277c6d994
Fix order of WM_HINTS and WM_PROTOCOLS in xwm atom_map
7 years ago
Tony Crisci
2ff94d0036
xwm: get rid of displayable surfaces list
7 years ago
Tony Crisci
79e14f65e0
xwm: fix lists
7 years ago
Tony Crisci
fa94a06fd6
xwm: handle configure notify
7 years ago
Tony Crisci
a9d70a6256
xwm: set window attributes on create
7 years ago
Tony Crisci
a3f2754668
xwm: add surface to rootston on surface commit
7 years ago
Tony Crisci
c666d34d2d
xwm: add missing atoms to list
7 years ago
Tony Crisci
79978383ba
xwm: net active window
7 years ago
Tony Crisci
03bd34e826
xwm: atom cleanup
7 years ago
Tony Crisci
2ca502b546
Merge branch 'master' into feature/xwm-rewrite
7 years ago
Tony Crisci
0f7f6b1373
xwm: refactor xwm init
7 years ago
Tony Crisci
1dbe314937
Merge branch 'master' into feature/data-device-selection
7 years ago
Drew DeVault
c5fff08f8a
Forgot to rename these
7 years ago
Tony Crisci
fb25adae36
xwayland: use xfixes extension
7 years ago
Greg V
a5fe9aa736
Add FreeBSD compatibility
7 years ago
Drew DeVault
6aafc2f61a
Merge pull request #223 from versusvoid/xwayland-activate
...
Activate only active xwayland views
7 years ago
Drew DeVault
528f000a7a
Deactivate xwayland when focus leaves there
7 years ago
Versus Void
c22b02618c
Flush xwayland surface configuration
...
Fix #215
7 years ago
emersion
12b9b1a4bd
Copy xcb_icccm structs into wlroots
7 years ago
emersion
454a6a902b
Parse _MOTIF_HINTS
7 years ago
emersion
fc61e82795
Use pointers for xwayland hints and size_hints
7 years ago
emersion
267f24753f
Add support for WM_HINTS
7 years ago
emersion
ed9796ec68
xwayland: parse normal hints
7 years ago
emersion
ef5914bdb6
xwayland: add wlr_xwayland_surface->motif_hints
7 years ago
emersion
0c22ad09a7
xwayland: request hints
7 years ago
Versus Void
c5df6ca900
Fix memory leaks
7 years ago
Calvin Lee
dd4bdf1f56
Unset $DISPLAY until XWayland is ready
7 years ago
emersion
7f5d0624d6
Add x, y, width, height arguments to wlr_xwayland_surface_configure
7 years ago
emersion
4ccb83bf33
xwayland: add wlr_xwayland_surface_close
7 years ago
emersion
5002d968f3
xwayland: add window_type support
7 years ago
emersion
b78ae54158
xwayland: add pid support
7 years ago
emersion
97346e7a1b
xwayland: add state support
7 years ago
emersion
7c9f3240f6
xwayland: add set_parent event
7 years ago
emersion
d8c86431e0
xwayland: add signals for configure, set_{class,title}
7 years ago
emersion
f2b03b2ec1
Add reply->type checks, add XCB_ATOM_WM_TRANSIENT_FOR
7 years ago
emersion
47d767dbc4
xwayland: expose wlr_xwayland_surface_configure
7 years ago
emersion
e3917af69d
xwayland: read window title & class
7 years ago
Drew DeVault
efadbf8424
Fix atom_map usage
7 years ago
emersion
f0a14a318c
Fix segfault on startup
7 years ago
emersion
b7927078e9
x11 -> xwayland, window -> surface, fix some calloc sizes and wrong types
7 years ago