emersion
d26b67cb06
matrix: unify API, don't use array pointers
7 years ago
emersion
b6a3f240c7
matrix: move to types/
7 years ago
Tony Crisci
8836b167bf
store xdg-positioner properties on the popup
7 years ago
Tony Crisci
b2926a6c62
differentiate xdg-toplevel roles
7 years ago
emersion
ace738dbca
xdg-shell-v6: next_geometry and geometry fields are not longer pointers in wlr_xdg_surface_v6
7 years ago
emersion
149209b72e
xdg-shell-v6: rename toplevel and popup fields in wlr_xdg_surface_v6 for consistency
7 years ago
emersion
657e5c8c0d
xdg-shell-v6: changed wlr_xdg_surface_v6_configure.toplevel_state to be NULL if surface isn't a toplevel
7 years ago
emersion
e74ddaaf10
xdg-shell-v6: redesign the configure/ack_configure workflow
7 years ago
Tony Crisci
647c2e68ba
Merge pull request #696 from emersion/fix-output-layout-destroy-global
...
output-layout: fix output global not destroyed
7 years ago
emersion
adec3f5c0f
xdg-shell-v6: add unmap support, add more protocol errors
7 years ago
emersion
8e3d294d6a
output: fix trailing cursor at (0, 0) on startup
7 years ago
emersion
3f072bedd9
xdg-shell-v6: add map signal
7 years ago
emersion
a951fbb264
output: don't move hidden cursors
...
When using the DRM backend and multiple outputs, that reduces the
number of commits.
7 years ago
Scott Anderson
3c9fc7c68e
Add const to x11 and input interfaces
7 years ago
emersion
aa2b62fbff
output-layout: fix output global not destroyed
7 years ago
Drew DeVault
0820557c8c
Merge pull request #693 from emersion/fix-output-bind-multiple
...
Fix clients binding multiple times to the same output
7 years ago
emersion
90148e64ab
Fix clients binding multiple times to the same output
7 years ago
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
7 years ago
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
7 years ago
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
...
Add idle-inhibit implementation
7 years ago
Markus Ongyerth
67285c1d57
idle-inhibit: style adjustments and motivation
7 years ago
emersion
b1e2718dd7
xwayland: fix some use-after-free in xwm
7 years ago
Tony Crisci
1c1b5b1b17
Merge pull request #662 from emersion/surface-resize-frame-done
...
surface: don't reset frame_callback_list on resize
7 years ago
emersion
f0404f6d75
surface: don't reset frame_callback_list on resize
7 years ago
Markus Ongyerth
a715826751
move activity_notify into events in wlr_idle
...
This moves the `struct wl_signal activity_notify` in `struct wlr_idle`
into a local `struct {} events` to keep consistency with other modules
in the library.
7 years ago
Markus Ongyerth
87a7afb641
idle-inhibit: second feedback pass
7 years ago
Markus Ongyerth
3016133f91
idle-inhibit: feedback pass
7 years ago
emersion
4eaffc3e45
primary-selection: fix crash in device_handle_set_selection
7 years ago
Drew DeVault
1d9be89e2d
Revert "ELF Visibility"
7 years ago
Drew DeVault
09cfa39392
Merge pull request #632 from acrisci/output-layout-adjacent
...
add wlr_output_layout_adjacent_output
7 years ago
Scott Anderson
86269052eb
Explicitly export EFL symbols
7 years ago
Drew DeVault
c951000198
Remove XXX comment
7 years ago
Tony Crisci
9933b7ad95
fix direction determination
7 years ago
Tony Crisci
d2c7defa10
Merge branch 'master' into output-layout-adjacent
7 years ago
Markus Ongyerth
50d573b2ca
implements the idle_inhibit protocol type
...
This adds the types/wlr_idle_inhibit_v1 implementation.
7 years ago
Dominique Martinet
4941befeb0
Merge pull request #1 from emersion/martinetd/xdg_shell
...
Wrap wl_resource_get_user_data into safer helper functions (for xdg-shell stable too)
7 years ago
emersion
4b354745fe
xdg-shell: wrap wl_resource_get_user_data
7 years ago
emersion
717bdccb6e
Merge remote-tracking branch 'upstream/master' into martinetd/xdg_shell
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
Dominique Martinet
ac78bdb6bc
xdg shells: fix typo s/positives/positive/
7 years ago
Dominique Martinet
56ab3e9b10
xdg_shell stable: fix zero-sized positioner anchor_rect
...
We used 0 as unset-check value before, which was fine when 0-width
was invalid, but isn't anymore
7 years ago
Dominique Martinet
714f90a9d0
xdg_shell stable: allow zero-sized positioner set_anchor_rect
...
This is a protocol difference with xdg-shell-unstable-v6
7 years ago
Dominique Martinet
d1b28ec812
wayland protocol headers: use double-quote for includes
...
These headers are not installed so we should look for these locally
7 years ago
Dominique Martinet
6ae96c4832
wlr_xdg_shell: (style) add break to final switch case
7 years ago
Tony Crisci
85871cb666
add wlr_output_layout_adjacent_output
7 years ago
Rodrigo Lourenço
168e26489a
Add missing dependencies
7 years ago
Dominique Martinet
1080bf69f8
xdg_shell: add input validatoin for positioner anchor/gravity
7 years ago
Dominique Martinet
7d26a6debd
xdg-shell stable: copy-pasta implementation
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
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
7 years ago
emersion
5e58d46cc1
Add wlr_signal_emit_safe
7 years ago
emersion
a9632341bf
output_damage: listen to transform and scale output events
7 years ago
emersion
ec837e3c9e
Introduce wlr_output_damage
7 years ago
emersion
bf6d245400
Swap buffers with damage
7 years ago
emersion
cdd55b5d19
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Vincent Vanlaer
8dcb2f2d6b
Prevent cursor from getting stuck at infinity
7 years ago
emersion
1cea73d2d8
rootston: fix rotated views damage tracking
7 years ago
emersion
faa57341ca
output: replace raw GL calls by wlr_renderer_* calls
7 years ago
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
8eed857292
output: add destroy signal for wlr_output_cursor
7 years ago
emersion
edb4c8d858
output: damage whole output when fullscreen surface size changes
7 years ago
emersion
a295c805c4
output: fix output_damage_whole for scaled outputs
7 years ago
emersion
babdd6ccf7
backend: fix use-after-free when destroying backends
...
The backend destroy signal is emitted before the output_remove
signal is. When the destroy signal is emitted listeners remove
their output_remove listener, so the output_remove signal is never
received and listeners have an invalid output pointer.
The correct way to solve this would be to remove the output_remove
signal completely and use the wlr_output.events.destroy signal
instead. This isn't yet possible because wl_signal_emit is unsafe
and listeners cannot be removed in listeners.
7 years ago
emersion
704130cc11
output: fix performance issues with wlr_output_schedule_frame
7 years ago
emersion
d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
...
output: add wlr_output_transformed_resolution
7 years ago
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
2cc989e097
output: restrict provided damage to output bounds
7 years ago
Tony Crisci
ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
...
Backport screenshooter fixes from the renderer redesign v1
7 years ago
emersion
7881d039b6
rootston: fix output_damage_whole
...
This should fix artifacts when leaving fullscreen on rotated outputs.
7 years ago
emersion
5bbff20b8d
Fix assertion failed in data_source_notify_finish
7 years ago
emersion
e049610b47
surface: copy buffer damage to surface damage
7 years ago
emersion
1ee61dbd0f
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
485aa87468
output: fix fullscreen on transformed outputs
7 years ago
emersion
861d5bdff2
surface: fix damage when resizing a surface in QT apps
7 years ago
Guido Günther
1633b8d793
wlr_keyboard: use correct printf format string for keymap_size
...
keymap_size is a size_t. Otherwise the build fails on arm like
../types/wlr_keyboard.c: In function 'wlr_keyboard_set_keymap':
../include/wlr/util/log.h:34:17: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t {aka unsigned int}' [-Werror=format=]
_wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
^
../types/wlr_keyboard.c:218:3: note: in expansion of macro 'wlr_log'
wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
^~~~~~~
../types/wlr_keyboard.c:218:50: note: format string is defined here
wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
~~^
%u
7 years ago
emersion
7adf13e284
Fix flickering when switching VT
7 years ago
emersion
7111dd79ef
rootston: damage tracking for rotated views
7 years ago
emersion
a011a1cb07
screenshooter: request a buffer swap
7 years ago
emersion
8d58ed502b
output: add wlr_output_schedule_frame
7 years ago
emersion
ece2c1e4e2
Damage tracking for transformed outputs
7 years ago
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Markus Ongyerth
f946c10cb1
re-adds wlr_output_update_enabled
...
Re-add the wlr_output_update_enabled to make sure
wlr_output::events.enable is called when the output enabled state
changes.
7 years ago
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
7 years ago
Markus Ongyerth
3cf7225cec
decouples outputenable state and wl_output global
...
This decouples wlr_output_enable and the wl_global.
The previously internal functions wlr_output_(destroy/create)_global are
exposed and used automatically in the wlr_output_layout to create/tear
down the global.
The compositor can handle them itself if it wants to, but I think this
is the right moment to create/destroy the wl_output when the
wlr_output_layout is used.
7 years ago
emersion
4d282c8590
rootston: damage tracking for drag icons
7 years ago
emersion
3f1c4f5be7
rootston: damage tracking for wl_shell
7 years ago
emersion
a8cb02f585
surface: add damage when subsurface moves
7 years ago
emersion
f5507ec677
cursor: fix segfault when destroying a wlr_output_layout with a wlr_cursor attached
7 years ago
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
66ae4071a7
rootston: damage tracking for xdg popups
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
0365b587f0
output: add damage tracking via buffer age
7 years ago
emersion
4ca38b84ed
backend/drm: fix hardware cursors not moving
...
This adds back `wlr_output::needs_swap`. This allows a backend to
request buffer swaps even if the output isn't damaged. This is
needed by the DRM backend to trigger pageflips when the cursor
moves.
7 years ago
emersion
ddafcb86a2
surface: add resize damage
7 years ago
emersion
e29a0df8c1
output: fix software cursors damage tracking
7 years ago
emersion
a0f24b809e
output: add damage event
7 years ago
emersion
443bd4cd89
output: fullscreen surface damage tracking
7 years ago
emersion
f061a1da63
output: fix software cursor artifacts
7 years ago
emersion
59ba8f35ed
rootston: use surface damage
7 years ago
emersion
bde255933e
output: add wlr_output::damage, fixes #572
7 years ago
Tony Crisci
b6f29e87e8
dont use pointer for modifiers
7 years ago
Tony Crisci
43896af90f
Merge branch 'master' into modifier-fixes
7 years ago
Drew DeVault
b331c5c2c5
Merge pull request #549 from emersion/output-enabled
...
Add wlr_output::enabled
7 years ago
emersion
0eebaf98d0
drm: do not pageflip when enabling output
7 years ago
Heghedus Razvan
21cc5e6fef
Add idle protocol
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
emersion
33c427a6aa
output_layout: disabled outputs are just like enabled outputs
7 years ago
Tony Crisci
b40a5f084a
keyboard grab enter with modifiers
7 years ago
Tony Crisci
2bd3a75f80
fix send modifiers in wlr-seat set keyboard
7 years ago
Tony Crisci
670d336099
Merge branch 'master' into modifier-fixes
7 years ago
Tony Crisci
9765232096
update xkb state on layout change
7 years ago
Tony Crisci
ca0f456d6c
wlr-keyboard set layout error handling
7 years ago
Tony Crisci
fcab1e87ed
fix data-device keyboard grab signature
7 years ago
emersion
8ebd7d4dbe
output: rename resolution event to mode
7 years ago
emersion
6fe380a176
output_layout: handle output enable event
7 years ago
Markus Ongyerth
6834067ef5
sends the modifiers on wlr_seat_set_keyboard
...
Without this, a client will lose modifiers for one keyboard, when a key
is pressed on the other.
With this the client will always use the modifiers tate of the keyboard
the key was pressed on.
7 years ago
Tony Crisci
0ef2df21f2
compositor modifier hook
7 years ago
emersion
d9ecfbaf32
Add wlr_output enable event
7 years ago
emersion
771263380c
Add wlr_output::enabled
7 years ago
Tony Crisci
ce3a48c316
Merge pull request #542 from emersion/abstract-data-source
...
Abstract data sources
7 years ago
emersion
c599d8024c
Remove serial validation TODOs
7 years ago
Drew DeVault
b23bd8ea28
Merge pull request #544 from emersion/fix-views-outside-output-layout
...
Fix views outside output layout
7 years ago
emersion
9ac9ba861f
Free fullscreen surface and cursors when destroying output
7 years ago
emersion
1fe1d64042
Fix views outside output layout
7 years ago
emersion
38ed3b4245
seat: rename selection_source to selection_data_source, remove unused data_device
7 years ago
emersion
720c1154dc
Fix use-after-free when destroying an offer
7 years ago
emersion
b20aed66d6
Abstract wlr_primary_selection_source
7 years ago
emersion
062809723a
Data source resource now holds a `struct client_data_source *`
7 years ago
emersion
f237b5c7a7
Make wlr_data_source abstract.
...
This removes some fields specific to sources coming from clients.
This adds some drag'n'drop-related callbacks.
7 years ago
Dominique Martinet
d7cefccaee
wlr_seat_destroy: emit seat itself as data on destroy event
7 years ago
Dominique Martinet
58488ec5ce
wlr_seat: add destroy signal
7 years ago
Timidger
6e9cef4ed6
Don't send custom mode info twice on DRM refresh
7 years ago
Timidger
f56ce11aa0
Fixes #535 send mode info on DRM refresh once
...
When DRM refreshed, wlr_output_set_mode is called. It would then call
the DRM set_mode callback which sends the updated matrix and mode info.
However once that call completed it would then immediantly send the
information again. This is handled poorly by xwayland, causing it to
scale up the clients twice.
7 years ago
Dominique Martinet
b0e440b5b1
xdg_toplevel send_configure: also post no_memory to resource on ENOMEM
7 years ago
Dominique Martinet
8e24aaa3c6
style: fix sizeof() calls without parentheses
7 years ago
Dominique Martinet
da3ef46daf
xdg_toplevel send_configure: abort on ENOMEM instead of sending partial configure
7 years ago
Dominique Martinet
3eb4fa15ee
ENOMEM checks: consistently check wl_array_add return
7 years ago
Drew DeVault
9c163b7d38
Merge pull request #531 from acrisci/keyboard-num-keycodes
...
wlr-keyboard: keep track of number of keycodes pressed
7 years ago
Tony Crisci
e8b810ce3e
keep track of number of keycodes pressed
7 years ago
Björn Esser
ff13849624
config: Avoid clash with other config-headers
7 years ago
Tony Crisci
815d71a3aa
validate grab serial for shell events
7 years ago
emersion
a79dc7df51
Merge pull request #524 from acrisci/role-committed
...
[wip] Role committed
7 years ago
Tony Crisci
e42d762a88
drag-icon: surface committed
7 years ago
Tony Crisci
68328700c7
wl-shell: 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
Tony Crisci
d5ffa26564
xdg-shell: role-committed func
7 years ago
Tony Crisci
5a18f62fee
add role-committed hook
7 years ago
Tony Crisci
6c2242e66b
Merge pull request #522 from emersion/fix-drm-output-transform-cursor
...
Fix cursor on transformed output with DRM backend
7 years ago
Björn Esser
57a09c8ca4
config: Put all defines into config.h
7 years ago
emersion
e737f65e38
Fix cursor on transformed output with DRM backend
7 years ago
emersion
4a11609b76
Fix use-after-free when destroying selection sources
7 years ago
emersion
6dffaa7bb7
Implement xwayland primary selection sync
7 years ago
emersion
d4d860666c
Correctly free primary selection manager & source
7 years ago
emersion
077bdfa789
Send primary selection when clients get keyboard focus
7 years ago
emersion
4476f79850
Fix primary clipboard issues
7 years ago
emersion
a95d09d561
Add missing gtk-primary-selection interfaces
7 years ago
emersion
0a171d3ace
Add wlr_primary_selection_device_manager and wlr_primary_selection_source
7 years ago
emersion
01cefbb868
Output fixes
...
Fixes setting a hardware cursor image twice (used to fallback to
software cursor) and destroy handlers.
7 years ago
Tony Crisci
d654a12b2e
remove display_destroy unlisten before output free
7 years ago
Tony Crisci
c59210ad17
remove display destroy when output is destroyed
7 years ago
Tony Crisci
c838679393
fix memory leaks
7 years ago
Tony Crisci
20327d82cb
Merge branch 'master' into keyboard-fixes
7 years ago
Tony Crisci
37c83d5c6d
misc keyboard fixes
7 years ago
emersion
2c31cac116
Do not segfault when loading an unknown keymap
7 years ago
Drew DeVault
f3769a4b1f
Merge pull request #496 from emersion/headless-backend
...
Headless backend
7 years ago
Drew DeVault
10c72f4bf6
Merge pull request #487 from emersion/xwm-selection
...
xwm clipboard sync, 2nd edition
7 years ago
emersion
804c7a73a6
Allow clients to unset the selection
7 years ago
emersion
0256de0002
Add full refresh rate support to custom modes
7 years ago
Drew DeVault
3363ea869a
Merge pull request #492 from emersion/seat-client-multiple-resources
...
Support multiple resources per seat client
7 years ago
emersion
50d91bd260
Fix potential memory leak
7 years ago
emersion
9e345f0f98
Simplify seat pointer functions
7 years ago
emersion
9310d101bc
Fix potential segfault
7 years ago
Drew DeVault
95fddf2fa8
s/L_INFO/L_DEBUG/ @ software cursor fallback
7 years ago
emersion
8af6fbd7a0
Support multiple resources per seat client for data_device
7 years ago
emersion
4f0443a344
Support multiple resources per seat client for pointer, keyboard, touch
7 years ago
emersion
80b0b327de
Remove fractional output PR artifact
7 years ago
emersion
51db087210
Introduce fractional scaling
7 years ago
Drew DeVault
23fb663ea4
Merge pull request #453 from emersion/surface-transform
...
Add surface transforms support
7 years ago
emersion
466e86b7b2
Merge branch 'master' into surface-transform
7 years ago
emersion
75ef7860bb
Merge branch 'master' into display-destroy
7 years ago
emersion
257559d890
Remove output instead of terminating display when a wayland backend view closed
7 years ago
emersion
3b4b8953d9
Update output layout when scale or transform changes
7 years ago
emersion
c67a5824b8
Merge branch 'master' into display-destroy
7 years ago
emersion
529675b7b0
Add wlr_output_set_custom_mode
7 years ago
Dominique Martinet
542d886984
wlr_seat: send keyboard modifiers to the right client on enter
...
We were previously sending modifiers to the leaving client instead.
Fixes #476 .
7 years ago
Drew DeVault
eb4e91f96d
Merge pull request #474 from emersion/customize-repeat-info
...
Make keyboard repeat info configurable
7 years ago
emersion
a3c0f97810
Make keyboard repeat info configurable
7 years ago
emersion
15bb9a53b4
Fix unscaled cursor sx, sy
7 years ago
emersion
5dc303fc26
Fix client cursors hotspot on scaled outputs
7 years ago
emersion
c5fa415a03
Send wl_surface.{enter,leave} to cursor surfaces
7 years ago
emersion
18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free
7 years ago
emersion
bdb6e0b84c
Remove destroy event in screenshooter for now
7 years ago
emersion
0e066f0d76
Listen to display destroy in output
7 years ago
emersion
cbf5763c22
Listen to display destroy in xdg-shell-v6
7 years ago
emersion
9ddaea14a1
Listen to display destroy in wl-shell
7 years ago
emersion
983ea3033f
Listen to display destroy in seat
7 years ago
emersion
088ff9a614
Listen to display destroy in gamma control manager
7 years ago
emersion
c7900663bc
Add display destroy listener to data device
7 years ago