emersion
c4522062f6
xdg-output: fix segfault in handle_layout_destroy
6 years ago
Scott Anderson
eb9c9d8852
Merge pull request #1173 from sdilts/add-missing-libinput
...
Add missing dependency libinput to types/meson.build
6 years ago
sdilts
c95078320c
Add missing dependency libinput to types/meson.build
...
The file `types/tablet_v2/wlr_tablet_v2.c` includes <libinput.h>.
Without this change, libinput.h may not be found on
some systems.
6 years ago
emersion
c3afe4f42e
gamma-control-v1: improve error handling
6 years ago
emersion
bbd0fbe573
gamma-control-v1: fix fds not closed
6 years ago
emersion
1705316fa7
gamma-control-v1: set O_NONBLOCK, improve error handling style
6 years ago
emersion
73b7111846
gamma-control-v1: reset gamma table when control is destroyed
6 years ago
emersion
6e8892d4d7
gamma-control-v1: don't insert control in the list before checking unicity
6 years ago
emersion
a149c2370a
Implement wlr-gamma-control-unstable-v1
6 years ago
Drew DeVault
5642c5cc8f
Merge pull request #1053 from emersion/xdg-decoration
...
Add xdg-decoration-unstable-v1 support
6 years ago
emersion
555721f714
Add xdg-decoration-unstable-v1 support
6 years ago
Drew DeVault
f1b65b34a6
Merge pull request #1127 from emersion/surface-precommit
...
surface: add wlr_surface_role.precommit
6 years ago
Markus Ongyerth
d5950255de
tablet-v2 tablet_tool grab implementation
...
Implement the basic logic for tablet-v2 tablet_tool's grabs. And plug in
the default grab.
6 years ago
Ilia Bozhinov
8b7c85d765
xdg-shell(-v6): add set_title and set_app_id toplevel signals
...
This is useful for example when rendering decorations
6 years ago
Drew DeVault
4b096fc114
Revert "Merge pull request #1153 from emersion/include-config"
...
This reverts commit ef0a6ea4d2
, reversing
changes made to 8d03bc9178
.
6 years ago
emersion
41094a7df5
Always include config.h
6 years ago
emersion
5dbf0fe7f2
linux-dmabuf: add v1 suffix
...
This prevents some future conflicts with the stable version.
Fixes #1133
6 years ago
Markus Ongyerth
454f2a84a8
tablet-v2 tablet_pad grab implementation
...
Implement the basic logic for tablet-v2 tablet_pad's grabs. And plug in
the default grab.
Features like "holding" the focus should be implemented via grabs, like
they are for pointer and keyboard.
6 years ago
emersion
4afd69bbe7
Remove unused types/wlr_tablet_v2.c
6 years ago
emersion
16d7e09d99
surface: add wlr_surface_role.precommit
...
This allows to emit the unmap event before the surface becomes
actually unmapped for most shells.
6 years ago
Markus Ongyerth
9a6f77fc2c
tablet-v2: fix merge commits and test again
...
There were a few issues after rebase, that the merge algorithm didn't
throw at my face:
wlr_output did a check on the actual role, not a string anymore, so that
had to go to allow tablet-v2 to set cursor surfaces.
A few L_DEBUG/L_ERRORs were still around
There was a user-after-free in tablet-group free()ing, probably after
insufficient testing from a previous feedback pass
6 years ago
Markus Ongyerth
74ca2f8fcf
Another round of feedback from acrisci
6 years ago
Markus Ongyerth
43b20bfea2
First feedback pass from acrisci
6 years ago
Markus Ongyerth
d9e978e1b3
rename wlr_tablet_tool to wlr_tablet
...
The previous naming was based on the input-device capability names from
libinput.
With code that uses the libinput_tablet_tool and mapping into tablet-v2,
this is confusing, so the name is changed to follow the names used in
the protocol.
6 years ago
Markus Ongyerth
101080a382
Another feedback pass
6 years ago
Markus Ongyerth
6b51f3b57a
use previous resource versions and destroy pads
6 years ago
Markus Ongyerth
503f9d6e52
emersion feedback
...
Introduce TABLET_MANAGER_VERSION and remove the wlr_tablet_tool_tool.c
6 years ago
Markus Ongyerth
2bc09d91c3
Silent conversion from double to int should be illegal
6 years ago
Markus Ongyerth
dc525a9c5f
Clean up serial handling and automate proximity acompaning events
6 years ago
Markus Ongyerth
25c2808153
Clean up serial handling
6 years ago
Markus Ongyerth
88a4b908d1
Hide pad auxiliary data in .c file
6 years ago
Markus Ongyerth
fa39fd178d
Split tablet_v2 implementation for easier maintainance
6 years ago
Markus Ongyerth
2c12011472
Send all tablet tool axis events
6 years ago
Markus Ongyerth
6a40561e4c
Fix clang build errors
6 years ago
Markus Ongyerth
2155c976f6
Improve inert resource handling
6 years ago
Markus Ongyerth
b79d11395c
Hook up set_cursor in rootston
6 years ago
Markus Ongyerth
0c9a26828a
Use wlr_list for paths, and improve inert resource handling
6 years ago
Markus Ongyerth
31cec36b74
1st feedback pass
...
Rename make_ functions to _create
Implement set_cursor and set_feedback
6 years ago
Markus Ongyerth
5c7a37f309
Add tool buttons
6 years ago
Markus Ongyerth
391eef6ea9
Propagate most axis events to clients
6 years ago
Markus Ongyerth
f375246657
Implement basic tablet_pad handling (bound to keyboard focus)
6 years ago
Markus Ongyerth
f696e980f1
stabilise tablet_v2 code (prevent bunch of crashes)
6 years ago
Markus Ongyerth
e235f7d336
Basic tablet_v2 object lifetime
6 years ago
Markus Ongyerth
77bac448cc
storage commit #2
6 years ago
Markus Ongyerth
4947295c8f
convoluted tablet code
6 years ago
Markus Ongyerth
bf8751d632
Start tablet protocol
6 years ago
emersion
935a3f2ebb
screencopy: fix segfault when client supplies invalid buffer
6 years ago
emersion
5bb272d7f3
surface: add wlr_surface.opaque_region
6 years ago
Drew DeVault
e226e2c011
Missed some old wlr_log calls
6 years ago
Drew DeVault
c0b4217fce
Merge pull request #1116 from emersion/surface-role
...
surface: replace wlr_surface_set_role_committed with wlr_surface_role
6 years ago
Drew DeVault
2518de655c
Merge pull request #1126 from emersion/wlr-log-prefix
...
util: add wlr_ prefix to log symbols
6 years ago
emersion
7cbef15206
util: add wlr_ prefix to log symbols
6 years ago
Arvin Ignaci
fad62a3e1c
fix: handle 32 bit time_t (or smaller)
6 years ago
emersion
deeca53e33
Rename wl_resources to resource, wl_global to global
6 years ago
vilhalmer
0260f042d2
Bail from setting gamma on destroyed resource
6 years ago
emersion
c19d475753
xdg-output: don't send no-op updates
...
To begin with, no-op updates are unnecessary, so this patch is an
improvement on its own.
Then, this fixes hotplugging issues with xwayland. xwayland waits
for both wl_output and xdg_output to send a "done" event. However,
it doesn't handle well desynchronized "done" updates: if xdg-output
sends "done" twice, the second one will wait for the next wl_output
"done" event. This is an issue when the first is a no-op and the
second is a real update: the second isn't applied. I've considered
patching xwayland instead, but it seems pretty complicated.
6 years ago
emersion
5fe50b9a28
output: make wl_output resources inert
6 years ago
emersion
33db4263a0
surface: replace wlr_surface_set_role_committed with wlr_surface_role
6 years ago
emersion
515d682312
surface: fix damage when moving subsurfaces with scale > 1
6 years ago
emersion
e665a74122
surface: don't clip input and opaque regions
...
These can be set to e.g. regions larger than the surface. If the
surface resizes itself, it doesn't need to set again these regions.
6 years ago
emersion
226306ed45
surface: rename wlr_surface_state.buffer to buffer_resource
6 years ago
emersion
68c133da2f
surface: fix crash on NULL commit
6 years ago
emersion
6f0eb11024
surface: fix previous state eating current state resources
6 years ago
emersion
f440708274
output: fix cursor attach coords handling
6 years ago
emersion
012e38fbe5
surface: add wlr_surface.previous
6 years ago
emersion
78555abba3
surface: move position and scale out of wlr_surface_state
6 years ago
emersion
233bfe2f4f
surface: do not monkey-patch state damage
6 years ago
emersion
adf0423f7c
surface: better buffer position handling
6 years ago
emersion
3c0d672ebd
surface: make pending and current embedded structs
6 years ago
emersion
64836ddfe7
surface: remove wlr_surface_state.subsurface_position
6 years ago
emersion
3ee86b6105
surface: rename invalid state
6 years ago
Dominique Martinet
48e8da851d
wlr_seat destroy: fix use-after-free when destroying clients
...
wl_resource_for_each_safe isn't safe to use here because it accesses
the list's head memory one last time at the end of the loop. Work
around this by breaking out early.
==19880==ERROR: AddressSanitizer: heap-use-after-free on address 0x60d0000e6368 at pc 0x7fab68619de2 bp 0x7ffd5c91cee0 sp 0x7ffd5c91ced0
READ of size 8 at 0x60d0000e6368 thread T0
#0 0x7fab68619de1 in wlr_seat_destroy ../types/seat/wlr_seat.c:179
#1 0x7fab68619fb9 in handle_display_destroy ../types/seat/wlr_seat.c:196
#2 0x7fab688e4f8f in wl_priv_signal_emit src/wayland-server.c:2024
#3 0x7fab688e56ca in wl_display_destroy src/wayland-server.c:1092
#4 0x40c11e in server_fini ../sway/server.c:138
#5 0x40b1a8 in main ../sway/main.c:438
#6 0x7fab67b5e18a in __libc_start_main ../csu/libc-start.c:308
#7 0x409359 in _start (/opt/wayland/bin/sway+0x409359)
0x60d0000e6368 is located 24 bytes inside of 144-byte region [0x60d0000e6350,0x60d0000e63e0)
freed by thread T0 here:
#0 0x7fab6a7d6880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
#1 0x7fab68619805 in seat_client_handle_resource_destroy ../types/seat/wlr_seat.c:97
#2 0x7fab688e5025 in destroy_resource src/wayland-server.c:688
previously allocated by thread T0 here:
#0 0x7fab6a7d6e50 in calloc (/lib64/libasan.so.5+0xeee50)
#1 0x7fab686198df in seat_handle_bind ../types/seat/wlr_seat.c:127
#2 0x7fab6530503d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
6 years ago
Ilia Bozhinov
00ccf5c3ae
properly check if the point is inside the surface in wlr_surface_point_accepts_input
6 years ago
Drew DeVault
27cab67b96
Merge pull request #1105 from RyanDwyer/xdg-surface-for-each-popup
...
Introduce wlr_xdg_surface_for_each_popup
6 years ago
Ryan Dwyer
86f401e827
Introduce wlr_xdg_surface_for_each_popup
...
It is common to want to iterate an xdg-surface's popups separately from
the toplevel and subsurfaces. For example, popups are typically rendered
on top of most other surfaces.
wlr_xdg_surface_for_each_surface continues to iterate both surfaces and
popups to maintain backwards compatibility.
6 years ago
Dominique Martinet
9ddc2f39d0
wlr_seat destroy: fix use-after-free after primary selection source cancel
...
the primary_selection_source_destroy list points to memory freed by
that cancel callback, so remove from list before freeing
6 years ago
emersion
dbb01cbcd0
screencopy: listen to buffer destroy
6 years ago
emersion
9aaa9ba477
screencopy: make frame resource inert after copy
6 years ago
emersion
c421700f3d
screncopy: update protocol
6 years ago
emersion
bf7560b7cd
screencopy: add capture_output_region support
6 years ago
emersion
2b9cbaddf3
screencopy: add support for frame flags
6 years ago
emersion
bd8be19b79
screencopy: add presentation timestamp
6 years ago
emersion
73755ad348
screencopy-v1: add basic implementation
6 years ago
Dominique Martinet
c263f7ca29
s/wlr_subsurface_from_surface/wlr_subsurface_from_wlr_surface/
...
This was the only x_from_wlr_surface function that lacked the wlr_ prefix,
let's have an API as uniform as possible.
7 years ago
Dominique Martinet
1fef1f88b2
export dmabuf manager_handle_capture_output: fix leak on error
...
Found through static analysis
7 years ago
Dominique Martinet
b3313b7f39
wlr_output: fix scope for 'now'
...
'when' points to now that was defined in the if, so compiler could reuse
that memory area by the time 'when' is called
Found through static analysis.
7 years ago
Dominique Martinet
efef54ccf5
wlr_keyboard: fix mmap leak + logic on close for keymap_fd
...
mmap leak found through static analysis
7 years ago
emersion
ec7d4a0971
Merge pull request #1092 from martinetd/idle_inhibit
...
Idle inhibit cleanup
7 years ago
Dominique Martinet
93a75769f0
wlr_idle_inhibit_v1: cleanup destroy handlers
...
- Rename handlers to <type>_handle_resource_destroy and
<type>_handle_destroy to be coherent
- Make sure we never destroy wl_resources when we shouldn't
Updates #999
7 years ago
Dominique Martinet
a3e2a77734
xdg_popup: fix call to to handle_grab for inert popup
7 years ago
Dominique Martinet
970687a01c
xdg_shell popup: fix potential segv in handle_destroy
...
surface could be NULL there if the popup had been made
inert before
7 years ago
Dominique Martinet
d0b902b962
wlr_idle: add helper to enable/disable all timers
...
There was no way to tell wlr_idle to stop processing input events
and rearm timers all the time, such an API is required to have
some form of idle inhibitor.
7 years ago
Dominique Martinet
ffd37b664f
xdg_shell: destroy children popups with parent surface
...
popups have a link in parent's surface->popups list and needs
to be freed before:
==6902==ERROR: AddressSanitizer: heap-use-after-free on address 0x6120001a0300 at pc 0x7fc1447acb50 bp 0x7fffd396e680 sp 0x7fffd396e670
WRITE of size 8 at 0x6120001a0300 thread T0
#0 0x7fc1447acb4f in wl_list_remove ../util/signal.c:55
#1 0x7fc14477d206 in destroy_xdg_popup_v6 ../types/xdg_shell_v6/wlr_xdg_popup_v6.c:162
#2 0x7fc1447816e0 in destroy_xdg_surface_v6 ../types/xdg_shell_v6/wlr_xdg_surface_v6.c:108
#3 0x7fc144a1c025 in destroy_resource src/wayland-server.c:688
#4 0x7fc144a1c091 in wl_resource_destroy src/wayland-server.c:705
#5 0x7fc14477fd6f in xdg_client_v6_handle_resource_destroy ../types/xdg_shell_v6/wlr_xdg_shell_v6.c:72
#6 0x7fc144a1c025 in destroy_resource src/wayland-server.c:688
#7 0x7fc144a20851 (/lib64/libwayland-server.so.0+0xc851)
#8 0x7fc144a20d92 (/lib64/libwayland-server.so.0+0xcd92)
#9 0x7fc144a1c140 in wl_client_destroy src/wayland-server.c:847
#10 0x7fc144a1c21c in destroy_client_with_error src/wayland-server.c:307
#11 0x7fc144a1c21c in wl_client_connection_data src/wayland-server.c:330
#12 0x7fc144a1df01 in wl_event_loop_dispatch src/event-loop.c:641
#13 0x7fc144a1c601 in wl_display_run src/wayland-server.c:1260
#14 0x40a2f4 in main ../sway/main.c:433
#15 0x7fc143ef718a in __libc_start_main ../csu/libc-start.c:308
#16 0x40b749 in _start (/opt/wayland/bin/sway+0x40b749)
0x6120001a0300 is located 64 bytes inside of 264-byte region [0x6120001a02c0,0x6120001a03c8)
freed by thread T0 here:
#0 0x7fc14690d880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
#1 0x7fc1447acce8 in wlr_signal_emit_safe ../util/signal.c:29
#2 0x7fc1447a3cac in surface_handle_resource_destroy ../types/wlr_surface.c:576
#3 0x7fc144a1c025 in destroy_resource src/wayland-server.c:688
previously allocated by thread T0 here:
#0 0x7fc14690de50 in calloc (/lib64/libasan.so.5+0xeee50)
#1 0x7fc144781d38 in create_xdg_surface_v6 ../types/xdg_shell_v6/wlr_xdg_surface_v6.c:415
#2 0x7fc14147503d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
Alternative would be to have popups listen to the parent's surface
destroy event and remove themselves from the list at this point OR on
their own destroy, whichever happens first, but that seems more
complicated for little benefit.
7 years ago
Dominique Martinet
954969698a
wlr_primary_selection: fix use-after-free when cancelling source
...
seat->primary_election_source_destroy points to the source that just got
freed by the cancel.
==7843==ERROR: AddressSanitizer: heap-use-after-free on address 0x60b0004269b0 at pc 0x7fb95bf4ccd0 bp 0x7ffd75013940 s
p 0x7ffd75013930
WRITE of size 8 at 0x60b0004269b0 thread T0
#0 0x7fb95bf4cccf in wl_list_remove ../util/signal.c:55
#1 0x7fb95bf3f4c6 in wlr_seat_set_primary_selection ../types/wlr_primary_selection.c:238
#2 0x7fb95becb1a7 in xwm_handle_selection_event ../xwayland/selection/selection.c:124
#3 0x7fb95bed2e5d in x11_event_handler ../xwayland/xwm.c:1139
#4 0x7fb95c1bdf01 in wl_event_loop_dispatch src/event-loop.c:641
#5 0x7fb95c1bc601 in wl_display_run src/wayland-server.c:1260
#6 0x40a2f4 in main ../sway/main.c:433
#7 0x7fb95b69718a in __libc_start_main (/lib64/libc.so.6+0x2318a)
#8 0x40b749 in _start (/opt/wayland/bin/sway+0x40b749)
0x60b0004269b0 is located 64 bytes inside of 112-byte region [0x60b000426970,0x60b0004269e0)
freed by thread T0 here:
#0 0x7fb95e0ad880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
#1 0x7fb95bf3f49e in wlr_seat_set_primary_selection ../types/wlr_primary_selection.c:236
#2 0x7fb95becb1a7 in xwm_handle_selection_event ../xwayland/selection/selection.c:124
#3 0x7fb95bed2e5d in x11_event_handler ../xwayland/xwm.c:1139
#4 0x7fb95c1bdf01 in wl_event_loop_dispatch src/event-loop.c:641
previously allocated by thread T0 here:
#0 0x7fb95e0ade50 in calloc (/lib64/libasan.so.5+0xeee50)
#1 0x7fb95bec7ad6 in xwm_selection_get_targets ../xwayland/selection/incoming.c:355
#2 0x7fb95bec7ad6 in xwm_handle_selection_notify ../xwayland/selection/incoming.c:402
#3 0x7fb95becb1a7 in xwm_handle_selection_event ../xwayland/selection/selection.c:124
#4 0x7fb95bed2e5d in x11_event_handler ../xwayland/xwm.c:1139
#5 0x7fb95c1bdf01 in wl_event_loop_dispatch src/event-loop.c:641
SUMMARY: AddressSanitizer: heap-use-after-free ../util/signal.c:55 in wl_list_remove
Shadow bytes around the buggy address:
0x0c168007cce0: fd fd fd fa fa fa fa fa fa fa fa fa fd fd fd fd
0x0c168007ccf0: fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa
0x0c168007cd00: fa fa fd fd fd fd fd fd fd fd fd fd fd fd fd fa
0x0c168007cd10: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c168007cd20: fd fd fd fd fd fa fa fa fa fa fa fa fa fa fd fd
=>0x0c168007cd30: fd fd fd fd fd fd[fd]fd fd fd fd fd fa fa fa fa
0x0c168007cd40: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fd
0x0c168007cd50: fd fa fa fa fa fa fa fa fa fa fd fd fd fd fd fd
0x0c168007cd60: fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa fa
0x0c168007cd70: fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa
0x0c168007cd80: fa fa fa fa fa fa fd fd fd fd fd fd fd fd fd fd
7 years ago
Tony Crisci
a2ff144429
input-inhibit: use wlr_signal_emit_safe
7 years ago
Tony Crisci
006edc9dcb
xdg-shell: end pointer and keyboard grab at the same time
7 years ago
Drew DeVault
e459fe0ec7
Merge pull request #992 from emersion/screencontent
...
Implement wlr_export_dmabuf_unstable_v1 protocol
7 years ago
Drew DeVault
47c7674a68
Merge pull request #1075 from emersion/fix-xdg-toplevel-compare
...
xdg-shell{,-v6}: fix compare_xdg_surface_toplevel_state
7 years ago
emersion
a59774f364
xdg-shell{,-v6}: fix compare_xdg_surface_toplevel_state
7 years ago
emersion
a6c0e25d36
surface: remove wlr_frame_callback
...
This removes the need to allocate a structure for frame callbacks.
wl_resource_get_link is used instead.
7 years ago
emersion
57548b557a
Merge branch 'master' into screencontent
7 years ago
emersion
bd0c1b7949
export-dmabuf: update protocol
7 years ago
emersion
843621714f
surface: fix double wl_buffer.release events
...
Prior to this commit, we re-uploaded the buffer even if a new one
wasn't attached. After uploading, we send wl_buffer.release. So,
this sequence of requests resulted in a double release:
surface.attach(buffer, 0, 0)
surface.commit()
<- buffer.release()
surface.commit()
<- buffer.release()
7 years ago
Drew DeVault
fb118ac996
Merge pull request #1062 from emersion/wlr-buffer-comeback
...
Add back wlr_buffer
7 years ago
emersion
225aa815b0
buffer: fix wlr_texture leak on failed alloc
7 years ago
Ilia Bozhinov
23707f6504
layer-shell: check whether the surface is mapped in layer_surface_destroy()
...
If the layer surface has been closed by the compositor, using
layer_surface_close(), then the unmap event is emitted. However, when
the layer surface is later destroyed by the client, the compositor used
to get a second unmap, which is fixed with this commit.
7 years ago
emersion
da114d5013
buffer: don't destroy DMA-BUF textures with wl_buffer
...
After some discussions on #wayland, it seems that as soon as you
hold a reference to a DMA-BUF (via EGLImage for instance), the
underlying memory won't get free'd. The client is allowed to
re-use the DMA-BUF and upload something else to it though.
7 years ago
Drew DeVault
d27eeaa14c
Revert "Merge pull request #1050 from emersion/wlr-buffer"
...
This reverts commit 5e4af4862e
, reversing
changes made to 9a1f0e2d5f
.
7 years ago
emersion
0378d143d9
surface: remove wlr_surface.texture
...
The texture is managed by the surface's wlr_buffer now. In
particular, the buffer can destroy the texture early if it becomes
invalid.
7 years ago
emersion
38d415dd20
buffer: make wlr_buffer_ref return the buffer
7 years ago
emersion
e4933ab445
Introduce wlr_buffer
7 years ago
emersion
6f895081e1
Merge pull request #1043 from acrisci/drag-icon-unmap
...
drag-icon map and unmap fixes
7 years ago
emersion
211463ba87
Merge pull request #1045 from ammen99/master
...
xdg-shells: add a set_parent signal to toplevel surfaces
7 years ago
Tony Crisci
1a07bf95ae
Merge pull request #1044 from emersion/fix-box-intersection
...
box: fix wlr_box_intersection
7 years ago
Ilia Bozhinov
a989104a6b
xdg-shells: add a set_parent signal to toplevel surfaces
7 years ago
emersion
ed89a24328
box: fix wlr_box_intersection
7 years ago
Tony Crisci
7c888a39c6
update drag position at the right times
7 years ago
Tony Crisci
319ebdf476
add back map event
7 years ago
Tony Crisci
1c75d4e54a
rename drag-icon map to unmap
7 years ago
Dominique Martinet
c6821f3dd3
wlr_surface: insert subsurfaces in revert order
...
sibling surfaces were drawn in incorrect order (e.g. latest below).
This attempts to fix that by reverting the order of the list.
7 years ago
Tony Crisci
7206997e95
fix wlr_box_intersection and closest_point
7 years ago
Tony Crisci
a57d1baf57
Merge pull request #1033 from RyanDwyer/fix-xdg-popups
...
Fix mistakes in xdg_popup and xdg_popup_v6
7 years ago
emersion
344374fa14
Merge pull request #1039 from acrisci/positioner-invert-x-fix
...
add missing anchor case in positioner invert-x for xdg-shell
7 years ago
Tony Crisci
bcb660cb1d
add missing anchor case in positioner invert-x
7 years ago
emersion
78966417f4
Merge pull request #1031 from martinetd/multibind-seat
...
seat: allow clients to bind to seat multiple times
7 years ago
Dominique Martinet
cf9b8c0a8c
wlr_surface_get_root_surface: walk up parent
...
This would dead-loop and never walk up if called on a subsurface
7 years ago
Dominique Martinet
51b9883ea0
seat: allow clients to bind to seat multiple times
...
This lets clients bind to a seat multiple times by re-using the existing
wlr_seat_client whenever a duplicate request happens.
Previously, an independant wlr_seat_client would be created and only
events from one would be processed.
Fixes #1023 .
7 years ago
Bob Ham
eb8b8acca6
wlr_linux_dmabuf: Fix printf conversion specifiers on armhf
...
The printf conversion specifiers in a call to wl_resource_post_error
do not specify the type correctly on armhf:
../types/wlr_linux_dmabuf.c: In function 'params_add':
../types/wlr_linux_dmabuf.c:104:21: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}' [-Werror=format=]
"sent modifier %lu for plane %u, expected modifier %lu like other planes",
~~^
%llu
To fix this, we use standard printf conversion specifier macros from
inttypes.h.
7 years ago
Ryan Dwyer
516c864d46
Fix mistakes in xdg_popup and xdg_popup_v6
7 years ago
Markus Ongyerth
7b07b3f95d
Fix type in wlr_surface_get_extends
7 years ago
Markus Ongyerth
3994762ae0
Add wlr_surface_get_geometry
...
This function defaults and clips the xdg-surface geometry to the
bounding box of the surface + its subsurfaces, as specified by the
protocol spec.
7 years ago
emersion
6b7a55aa3d
Merge pull request #1020 from emersion/remove-check-dmabuf
...
render: remove wlr_renderer_check_import_dmabuf
7 years ago
emersion
21928cbe61
Merge branch 'master' into screencontent
7 years ago
Genki Sky
d1cf9acbd5
cleanup: Use void for zero-parameter functions
...
Signed-off-by: Genki Sky <sky@genki.is>
7 years ago
emersion
f90b024ad0
linux-dmabuf: fix bound checks for stride and height
...
- Fix bound checking for offset + stride * height
- Make offset bound checking more consistent
- Reject zero strides
7 years ago
emersion
135721118a
render: remove wlr_renderer_check_import_dmabuf
...
It's possible to implement it outside the renderer, by creating a
texture and destroying it right away. This reduces the API surface
of the renderer.
7 years ago
emersion
41e53d1499
Merge pull request #1019 from emersion/virtual-keyboard-destroy
...
virtual-keyboard: fix wlr_virtual_keyboard_manager_v1_destroy
7 years ago
emersion
28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
7 years ago
emersion
f580112dca
virtual-keyboard: fix wlr_virtual_keyboard_manager_v1_destroy
7 years ago
emersion
87fe9f3466
Merge pull request #1014 from RyanDwyer/fix-wlr-box-contains-point
...
Fix wlr_box_contains_point comparison
7 years ago
emersion
2681352e04
export-dmabuf: permanently fail if backend doesn't implement export_dmabuf
7 years ago
emersion
a16ad4327a
Update protocol
7 years ago
emersion
65198b0aab
export-dmabuf: assert number of planes
7 years ago
emersion
2432c41a49
export-dmabuf: correctly send the number of planes per layer
7 years ago
emersion
3f9796112e
export-dmabuf: fix tv_sec_hi
7 years ago
emersion
00e108f2fc
export-dmabuf: correctly finish wlr_linux_dmabuf_attribs
7 years ago
emersion
1377e551ef
Update wlr-export-dmabuf protocol
7 years ago
emersion
e26f4dff98
export-dmabuf: wait for the frame to be ready, send timestamp
7 years ago
emersion
36bd4795d4
export-dmabuf: add basic and incomplete implementation
7 years ago
emersion
9e26808c28
output, backend/drm: add wlr_output_export_dmabuf
7 years ago
emersion
e1f56538a8
Merge pull request #999 from dcz-purism/virtual-keyboard
...
Support virtual keyboard protocol
7 years ago
Ryan Dwyer
f8a831859f
Fix wlr_box_contains_point comparison
7 years ago
Dorota Czaplejewicz
5334ee8bfd
virtual-keyboard: add support for the virtual-keyboard-v1 protocol
7 years ago
emersion
47f097e09b
xdg-shell: add wlr_xdg_toplevel_set_tiled
7 years ago
emersion
da504f9253
surface: remove wl_resource_post_event
7 years ago
emersion
e849a68e6e
output: correctly clear screen when fullscreened
7 years ago
Drew DeVault
98088e78df
Merge pull request #977 from emersion/split-xdg-shell
...
Split xdg-shell into multiple files
7 years ago
emersion
c74f5b1138
xdg-output: bump output manager version to 2
7 years ago
emersion
63fd2203fe
Add support for version 2 of the xdg-output protocol
7 years ago
emersion
dbba1311b7
output: fix lingering hardware cursors
7 years ago
emersion
3036507463
xdg-shell: split into multiple files
7 years ago
emersion
c7480d5084
xdg-shell-v6: rename shared private functions to prevent conflicts with xdg-shell stable
7 years ago
emersion
facc5aa359
xdg-shell-v6: split into separate files
7 years ago
emersion
cc12d03545
xdg-shell: fix positioner
...
The anchor and gravity bitfields in xdg-shell-unstable-v6 have
been changed to a plain enum whose values cannot be used as a
bitfield in xdg-shell. While it makes input validation easier, it
also makes positioner operations a pain in the ass.
7 years ago
emersion
b28f06eca0
Don't use unsafe casts in wlr_xdg_popup_get_toplevel_coords
7 years ago
emersion
7a952dfa2d
xdg-output: fix logical_size
...
It should be the size of the output in layout coordinates. Prior to
this commit we were not applying the output transform to the size.
7 years ago
emersion
db84379242
Send axis source event
7 years ago
emersion
0b58579564
Add support for discrete axis values
7 years ago
emersion
cf5013416d
xdg-output: redesign resource destroy
7 years ago
emersion
13098a18ea
Fix hardware cursors scale & transform
7 years ago
Markus Ongyerth
8931452e1d
add wlr_layer_surface_surface_at
...
Adds wlr_layer_surface_surface_at, this is consistent with the other
shell implementations, and simplifies handling in compositors.
7 years ago
emersion
5087199d5d
output-damage: limit the number of damaged rectangles
7 years ago
emersion
caf9f9022c
Merge pull request #936 from emersion/full-hardware-cursors
...
output: always use hardware cursors if available
7 years ago
emersion
2959fcce1a
Merge pull request #951 from chebykinn/fix-maybe-uninitialized
...
Fix gcc maybe-uninitialized in wlr_cursor apply_output_transform
7 years ago
Drew DeVault
57d03a3eda
Merge pull request #931 from emersion/redesign-resource-destroy
...
Redesign resource destruction
7 years ago
Ivan Chebykin
cec7cd2b39
Fix gcc maybe-uninitialized in wlr_cursor apply_output_transform
7 years ago
emersion
d136026a2c
seat: implement inert seat resources
7 years ago
morganamilo
6305e6327f
Fix typos in comments and strings
7 years ago
emersion
5d37b14116
data-device: make sure resources are correctly destroyed
7 years ago
emersion
7843a48432
output: simplify and update code style
7 years ago
emersion
ff4708d406
linux-dmabuf: correctly destroy resources
7 years ago
emersion
6d569def6d
compositor, surface: correctly destroy resources
7 years ago
Drew DeVault
2964248f42
Merge pull request #935 from agx/cursor-output-transform
...
wlr_cursor: transform absolute coordinates
7 years ago
emersion
2cff6dbd63
seat: split into multiple files
7 years ago
emersion
4b5b02057c
Merge pull request #937 from emersion/reorder-data-device
...
data-device: split into multiple files
7 years ago
Guido Günther
4efae8c177
wlr_cursor: transform absolute coordinates
...
Honor output rotation when processing absolute coordinates. This fixes
touch events on rotated outputs.
Fixes #928
7 years ago
emersion
1e563e7ecf
data-device: split into multiple files
7 years ago
emersion
6b3eac37f1
output: assert move_cursor if set_cursor is available
7 years ago
Drew DeVault
8f5045c871
Silently ignore touch_{motion,up} for unknown ids
7 years ago
emersion
225d182765
output: always use hardware cursors if available
...
This changes the `wlr_output_impl.set_cursor` function to take a
`wlr_texture` instead of a byte buffer. This simplifies the
DRM and Wayland backends since they were creating textures from
the byte buffer anyway.
With this commit, performance should be improved when moving the
cursor since outputs don't need to be re-rendered anymore.
7 years ago
emersion
2551ef8871
input-device: add output_name field, populate it from libinput
7 years ago
Drew DeVault
a0f4903063
Merge pull request #926 from emersion/fix-x11-backend-memory-leaks
...
Fix some backend memory leaks
7 years ago
emersion
f8e0a03451
backend/x11: correctly destroy input devices
7 years ago
emersion
79da4c175e
backend/headless: remove useless destructor
7 years ago
emersion
6e7c0b57f6
cursor: use NAN for unspecified axes, refactor absolute warping code
7 years ago
emersion
126f12e428
xdg-shell: fix invalid xdg-positioner cast
7 years ago
emersion
43012f3740
compositor: redesign how resources are managed
...
All public resource creators now take a new ID for the resource
and an optional list where the resource link is added. When the
resource is destroyed it is its own responsibility to remove
itself from the list. This removes the need for the caller to add
a destroy listener.
This commit fixes a few segfaults with resources not removed from
the list when destroyed.
7 years ago
Drew DeVault
979b1b22d5
Merge pull request #914 from emersion/misc-segfault-fixes
...
Misc segfault fixes
7 years ago
emersion
874909dca6
xdg-shell: fix invalid wlr_xdg_positioner alloc
7 years ago
emersion
fcb7ad925d
layer-shell: fix use-after-free when client requests an invalid layer
7 years ago
Drew DeVault
93ebd33aa8
Merge pull request #890 from agx/layer-shell-empty-output-crash
...
layer-shell: Fix crash when cursor is intially outside any output
7 years ago
Guido Günther
d81f0170a3
layer-shell: Don't crash when the compositor didn't find a suitable output
...
In that case it must have closed the surface.
7 years ago
Drew DeVault
fecb971518
Merge pull request #902 from emersion/various-memory-leaks
...
Various memory leaks
7 years ago
emersion
449f06556a
Destroy wlr_surface with wlr_renderer
7 years ago
emersion
d47713ac0f
compositor: destroy subsurface resources with wlr_subcompositor
7 years ago
emersion
89a9c96fab
compositor: make wlr_compositor_destroy destroy resources
7 years ago
emersion
625a7a48dc
Don't use the wlr_ prefix for static functions
7 years ago
emersion
b0d99f5c67
Remove wlr_ prefix from local symbols
7 years ago
emersion
8e2f3056f8
layer-shell: fix small memory leak
7 years ago
emersion
bc0bfde5ee
cursor: allow to call wlr_cursor_wrap_absolute with zero
7 years ago
emersion
38064f1d18
Fix protocol error when a client destroys and re-creates a subsurface
7 years ago
Drew DeVault
941f88ce23
Fix popup positioning & double popups
7 years ago
Drew DeVault
52baf3dd8a
Move get_geometry call back to xdg-shell
7 years ago
Drew DeVault
0a0627f5d0
Finish forward-porting @acrisci's positioner work
7 years ago
Drew DeVault
2e3d901ac5
Forward-port xdg-shell-v6 positioner improvements
7 years ago
Drew DeVault
278aa84619
Basic layer popup rendering
7 years ago
Drew DeVault
d3cdb00208
Add (shitty) support for popups to layer example
7 years ago
Drew DeVault
6b7b64ec1e
Generalize xdg-shell popups and add to layer-shell
7 years ago
Drew DeVault
625bc7b8b3
assert(surface->output); after new_surface emit
7 years ago
Drew DeVault
177b548b15
Update layer shell with optional wl_output
7 years ago
emersion
3bce5dfc9f
Fix segfaults in wlr_surface_is_*
7 years ago
emersion
bfcd3f3707
Add wlr_subcompositor
7 years ago
emersion
fa84b267e0
Remove wlr_surface::subsurface
7 years ago
Markus Ongyerth
c8ccb1bef3
reorder xkb state handling in wlr_keyboard
...
wlr_keyboard manages the xkb-common state of the compositor.
It used to update the state, update the modifiers, then notify the
compositor.
When [Shift_L] was pressed and released, this resulted in an event chain:
Modifiers: Shift
Key: Shift_L (Pressed)
Modifiers:
Key: Shift_L (Release)
The xkb-docs state that the state should be updated *after* the key was
handled [1], to prevent the new state from influencing the actual key
generated.
To achieve this, the event to the compositor is emitted, *before*
wlroots handles the xkb and internal keyboard state.
With this patch applied, the emitted events ill be:
Modifiers:
Key: Shift_L (Pressed)
Modifiers: Shift
Key: Shift_L (Release)
[1] https://xkbcommon.org/doc/current/group__state.html#gac554aa20743a621692c1a744a05e06ce
7 years ago
emersion
94fa6c88f4
output: don't emit the mode event if it hasn't changed
...
This also fixes #535 .
7 years ago
emersion
1b802d9251
Make wlr_renderer_scissor take normal coords instead of upside-down ones
7 years ago
Drew DeVault
8f4039d799
Merge pull request #861 from emersion/fix-output-transform-compose
...
Fix wlr_output_transform_compose
7 years ago
emersion
31c8bdc277
Fix wlr_output_transform_compose
7 years ago
emersion
fa0be972bb
Fix wlr_xdg_surface_surface_at for popups
7 years ago
Drew DeVault
bef5c1fd56
Merge pull request #850 from emersion/remove-backend-egl
...
backend: remove wlr_backend_get_egl
7 years ago
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
7 years ago
Drew DeVault
bf68854a38
Fix destruction of popups without grabs
...
Fixes #846
7 years ago
Drew DeVault
ae4cef9e41
Merge pull request #825 from emersion/surface-iterators
...
Add surface iterators
7 years ago
Drew DeVault
ec0ce8ae1c
Fix sending updates to xdg-output resources
...
Fixes #836
7 years ago
Drew DeVault
6710de9878
Merge branch 'master' into xwayland-dnd
7 years ago
emersion
4a9a9eae9a
Add surface iterators
7 years ago
emersion
19b576734e
Merge pull request #834 from emersion/surface-is-subsurface
...
Add wlr_surface_is_subsurface and wlr_subsurface_from_surface
7 years ago
emersion
aced024819
Add wlr_surface_is_subsurface and wlr_subsurface_from_surface
7 years ago
Drew DeVault
abfe7923c4
Add wlr_xdg_output_manager
7 years ago
emersion
3ea425d4e2
Fix xdg-shell popups, add wlr_xdg_surface_surface_at
7 years ago
emersion
c9d21106b4
Add wlr_xdg_surface_v6_surface_at and wlr_wl_shell_surface_surface_at
7 years ago
emersion
1a8b24bdd2
rootston: fix view_at
7 years ago
emersion
d16127b3cb
Fix wlr_surface_subsurface_at, change it to be wlr_surface_surface_at
7 years ago
Drew DeVault
36e94b2a8e
Actually fix input inhibitor destructor
7 years ago
Drew DeVault
1fa3ca3152
Revert "Add destructor to inhibitor"
...
This breaks shit
This reverts commit 657d2c9a69
.
7 years ago
Drew DeVault
657d2c9a69
Add destructor to inhibitor
7 years ago
Drew DeVault
ef4e833f13
Add wlr_input_inhibitor
7 years ago
emersion
58ac05c276
Merge branch 'master' into xwayland-dnd
7 years ago
Drew DeVault
333ab59902
Add wlr_surface_is_*_surface
...
And wlr_*_surface_from_wlr_surface
7 years ago
emersion
8836b4f024
Merge branch 'master' into xwayland-dnd
7 years ago
Tony Crisci
5a47da1ea6
annotate wlr-output-layout coord variables
7 years ago
Drew DeVault
1778818a50
Don't destroying all layer surfaces on client d/c
7 years ago
Drew DeVault
e19ee6d469
Add wlr_surface_point_accepts_input
...
Ref https://github.com/swaywm/sway/pull/1674
7 years ago
emersion
6bbf507082
surface: fix texture not updated on commit
...
When a client attaches a wl_drm or a linux_dmabuf buffer, we only
update it if the size is different from the one of the old buffer.
This means that if the client attaches a new, updated buffer with
the same size as the old buffer, the texture won't get updated.
This commit changes this behavior and re-creates the texture if
the client attaches a new buffer, without requiring the size to be
different.
7 years ago
emersion
d5f46f4db4
data-device: redesign wlr_data_source
7 years ago
Drew DeVault
4137d9fc80
Destroy layer surfaces on client destroyed
7 years ago
emersion
743466d475
data-device: add seat.drag_source
7 years ago
emersion
a316396eab
Merge pull request #720 from acrisci/xdg-positioner
...
xdg-positioner
7 years ago
Tony Crisci
2e63d1a0ca
toplevel_box to toplevel_sx_box
7 years ago
Tony Crisci
cf13a6d9c6
address toplevel coords issue
7 years ago
Tony Crisci
967bccffcd
remove xdg-positioner wlr wrappers
7 years ago
Tony Crisci
8b967fc573
bug: dont slide over too far
7 years ago
Tony Crisci
bf5ae85683
return early when no dest_x/y in output layout closest point
7 years ago
Tony Crisci
bd828e23de
dont allocate xdg-positioner attrs
7 years ago
Tony Crisci
376d1cc0da
rename xdg-positioner structs
7 years ago
emersion
3effe153bc
xwayland: make wayland → xwayland work
7 years ago
Tony Crisci
4ab88a5330
xdg-positioner bugfix
7 years ago
Tony Crisci
0bfcce50a9
xdg-positioner: honor constraint flags
7 years ago
Tony Crisci
dbffda7549
xdg-positioner wlr abstractions
7 years ago
emersion
2a34b154e6
xwayland: send DND_DROP
7 years ago
emersion
73394deb76
xwayland: send DND_POSITION
7 years ago
emersion
0d7a81ccdf
xwayland: send DND_ENTER
7 years ago
Drew DeVault
324b9d910d
Remove width_mm from wlr_touch events
7 years ago
Drew DeVault
a35a5786b0
Remove width_mm from wlr_pointer events
7 years ago
Tony Crisci
41e54ba632
Merge branch 'master' into xdg-positioner
7 years ago
Tony Crisci
330ee08126
Merge pull request #744 from emersion/texture-redesign
...
Redesign wlr_texture
7 years ago
Drew DeVault
7d89e7e58d
Assign layer surface role
7 years ago
Drew DeVault
96a8df2f9a
Fix ack configure/configure flow
...
Prevents FOUC/improves frame perfect rendering goal
7 years ago
Drew DeVault
52fe2688ea
Address @emersion's feedback
7 years ago
Drew DeVault
e841e5602b
Address @emersion's feedback
7 years ago
Drew DeVault
86ca4bea6d
Fix layer rendering/layout bugs
7 years ago
Drew DeVault
d1c0e6fe2c
Add layer_surface.close
7 years ago
Drew DeVault
4bf936360d
Arrange & render layer surfaces
7 years ago
Drew DeVault
fcf8c6c8a2
Fix issues preventing layer from getting allocated
...
Now all of the steps to get rootston a reference to the layer surface
are correctly wired up.
7 years ago
Drew DeVault
88eec637a4
Address feedback
7 years ago
Drew DeVault
1628730b09
Add wlr_layer_surface_configure
7 years ago
Drew DeVault
4a8c0c0784
Destroy layer surfaces when client is destroyed
7 years ago
Drew DeVault
b06105b564
Implement layer surface requests
7 years ago
Drew DeVault
3ba57fccd1
Wire up layer surface resources to stubs
7 years ago
Drew DeVault
f29d8b55ae
Initial scaffolding of layer shell
7 years ago
Tony Crisci
8371e2f41d
implement flip_x
7 years ago
emersion
171e28eaff
xdg-shell: don't destroy role resources on unmap, move toplevel fields
...
Ports 5233801530
and
334bab543d
to xdg-shell stable.
7 years ago
Tony Crisci
bbd0e23fa7
xdg-positioner constraint detection
7 years ago
emersion
334bab543d
xdg-shell-v6: move toplevel specific fields in wlr_xdg_toplevel_v6
7 years ago
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign
7 years ago
emersion
5233801530
xdg-shell-v6: don't destroy role resources on unmap
...
The motivation for this is:
- `get_popup` and `get_toplevel` allocate role-specific resources.
- On the first non-null commit, the surface gets mapped.
- On a null commit, the surface gets unmapped. It can be mapped
again with a non-null commit.
- When the role object (xdg-toplevel or xdg-popup) is
destroyed, the surface is unmapped and role-specific resources
are destroyed. The client can call `get_popup` or `get_toplevel`
again on that surface.
- When the xdg-surface object is destroyed, the surface is
unmapped, role-specific resources are destroyed and the surface
itself is destroyed.
7 years ago
Tony Crisci
4da18f7fc3
xdg-positioner attrs
7 years ago
Tony Crisci
5617a59598
Merge pull request #741 from emersion/unmapped-surface-destroy
...
xdg-shell, xdg-shell-v6: don't emit unmap if surface is unmapped
7 years ago
emersion
c63d94483b
Redesign wlr_texture
...
- Textures are now immutable (apart from those created from raw
pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions
Fun fact: this patch has been written 10,000 meters up in the air.
7 years ago
Tony Crisci
f53575e3a3
unified xdg-surface close
7 years ago
Guido Günther
b1852096c5
linux-dmabuf: Support multi plane formats like NV12
7 years ago
Guido Günther
805039457a
wlr_surface: fix indentation
7 years ago
Tony Crisci
30b8fb5572
Merge branch 'master' into xdg-positioner
7 years ago
Dominique Martinet
e86cd4dc33
wlr_pointer: fix potential null deref
...
if pointer is null here we'd access pointer->events... anyway
7 years ago
Dominique Martinet
de955a0f63
xdg_popup_grab: add listener on seat destroy
7 years ago
emersion
731ee24089
xdg-shell, xdg-shell-v6: don't emit unmap if surface is unmapped
...
Some clients create an xdg_surface, then create an xdg_toplevel,
but don't map it and destroy it right after. The xdg_surface ends
up in a state where it isn't mapped but role-specific resources
have been allocated. xdg_surface_unmap needs to free these
resources without emitting the unmap signal.
7 years ago
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
emersion
6ecb0eefcb
render/gles2: transpose matrices before binding them
...
Setting glUniformMatrix3fv's transpose parameter to GL_TRUE is
not allowed for OpenGL ES 2.
This adds a wlr_matrix_transpose function.
7 years ago
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
7 years ago
Tony Crisci
09413aa7f1
Merge pull request #711 from emersion/map-unmap
...
Add map/unmap to xdg-shell
7 years ago
emersion
7894fca224
matrix: rename wlr_matrix_texture to wlr_matrix_projection
7 years ago
emersion
e607d0f7ee
xdg-shell: add map/unmap support
7 years ago
emersion
42cc575266
xdg-shell-v6: fix wl_list_remove called twice
7 years ago
emersion
361d7c857e
xdg-shell-v6: don't leak wlr_xdg_surface_v6_configure.toplevel_state
7 years ago
emersion
1914a1aa2b
surface: drop wlr_surface_get_matrix
7 years ago
emersion
8b58e1a3ad
Merge branch 'master' into matrix-redesign
7 years ago
emersion
824a95ad19
matrix: use 2D matrices
7 years ago
emersion
de0e40d621
Merge pull request #698 from agx/linux-dmabuf
...
Add initial linux_dmabuf protocol support
7 years ago
Guido Günther
eb4337b5ee
Wire up linux_dmabuf in rootston
7 years ago
Guido Günther
14cdb6153f
Add initial linux_dmabuf protocol support
...
Tested with
./weston-simple-dmabuf-drm
./weston-simple-dmabuf-drm --import-immediate=1
./weston-simple-dmabuf-drm --y-inverted=1
(and combinations)
Supports only single plane XRGB dmabufs for now.
7 years ago
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
emersion
e6d2e72401
Remove display destroy listeners, add compositor listener
7 years ago
emersion
32591d66d6
Add display destroy listener in server decoration
7 years ago
emersion
dfe11a2b0e
Add display destroy listener in screenshooter, destroy display in rootston
7 years ago
emersion
dac0233804
Send new output to clients when changing transform
7 years ago
emersion
bf2b58eb6d
Add wlr_output_set_scale
...
Fixes #465
7 years ago
Tony Crisci
41d7bad470
wl-shell: add commit event
7 years ago
emersion
4a56957a37
Fix inverted flipped-90 and flipped-270
7 years ago
emersion
6a69b4419f
Make wlr_output_transform_* functions public, refactoring
7 years ago
Tony Crisci
5d7eb438d9
Merge pull request #437 from emersion/fullscreen
...
Fullscreen support
7 years ago
emersion
0781f6e483
Fix initial hardware cursor position
7 years ago
emersion
cc2468923b
Fix non-HiDPI-aware fullscreen surface rendering in wlr_output
7 years ago
emersion
3262661e1e
Fix HiDPI support
7 years ago
emersion
5a664e1e46
Fix messed up outputs after fullscreen
7 years ago
emersion
dcb168914e
Merge branch 'master' into fullscreen
7 years ago
Drew DeVault
1228d0da19
Merge pull request #387 from emersion/laggy-move-resize
...
Fix laggy move-resize
7 years ago
emersion
17d9e2ce35
Unify view events naming, remove client from event structs
7 years ago
emersion
151901123f
Merge branch 'master' into refactor-wlr-list
7 years ago
emersion
a268f57ed5
Forgot a call to glClear
7 years ago
emersion
54f1135c05
Fix fullscreen in xdg-shell
7 years ago
emersion
80998cdf57
Add support for fullscreen xwayland views
7 years ago
emersion
b04a9a248d
Initial fullscreen support
7 years ago
emersion
7904b625f0
Merge branch 'master' into laggy-move-resize
7 years ago
Tony Crisci
af23192ede
wlr-seat: remove client bound and unbound signal
7 years ago
Tony Crisci
8f38b0504b
wlr-data-device: map icon by default
7 years ago
Tony Crisci
3b74db467b
data-device: wlr-drag-icon
7 years ago
emersion
016744ef4d
Refactor wlr_list inside wlroots
7 years ago
Tony Crisci
458fe633df
data-device: fix memory leak
7 years ago
Tony Crisci
f277f28eef
Merge branch 'master' into feature/wlr-seat-touch
7 years ago
emersion
cd566ccd8e
Add cursor theme to rootston config
7 years ago
emersion
a3a8b7bfd8
Fixed a bug with move-resize, removed xdg-shell ack_configure event
...
Fixed move-resizing a view when only one coordinate changes.
7 years ago
emersion
e2843d87c8
Ensure to move the view when configured
7 years ago
Tony Crisci
fb18e345a6
wlr-seat: return serial from touch down interface
7 years ago
Tony Crisci
4434be835d
wlr-seat: clear touch focus on touch point destroy
7 years ago
Tony Crisci
ae7d8870e7
data-device: bug: fix touch detection
7 years ago
Tony Crisci
584ff1df4c
Merge branch 'master' into feature/wlr-seat-touch
7 years ago
emersion
bb79ada49f
Fix a bunch of mistakes detected with scan-build
7 years ago
emersion
bf1f461eba
Call wl_output_send_done when current mode is updated
7 years ago
Tony Crisci
12758a00a2
rootston: touch to focus
7 years ago
Tony Crisci
ac4841ba37
put dnd icon in the right place
7 years ago
Tony Crisci
a337e95505
wlr-touch: make dnd work
7 years ago
Tony Crisci
4eab61f86f
wlr-seat: refactor touch grab interface
7 years ago
Tony Crisci
b310fdac82
wlr-data-device: cleanup
7 years ago
Tony Crisci
6a516f7c41
basic touch dnd
7 years ago
Tony Crisci
94e7dc8a3e
data-device: touch grab stubs
7 years ago
Tony Crisci
cbb6fd7352
wlr-seat: touch grab begin and end
7 years ago
Tony Crisci
4240096b83
wlr-seat: default touch grab
7 years ago
Tony Crisci
e5a31ae870
wlr-seat: basic touch
7 years ago
emersion
3f6cf517b9
Add wlr_xdg_surface_v6_popup_get_position
7 years ago
emersion
f8b43940b1
Merge branch 'master' into cursor-scale
7 years ago
Drew DeVault
1e0e73efaa
Spawn views on last active output
7 years ago
emersion
8605243459
Introduce wlr_xcursor_manager
7 years ago
emersion
ac1573b0e7
Add scale parameter to wlr_cursor_set_image
7 years ago
Tony Crisci
2a9dc60f28
Merge branch 'master' into feature/multiseat
7 years ago
Drew DeVault
e6babc07a0
Merge pull request #390 from emersion/rootston-maximize
...
Maximize views in rootston
7 years ago
Drew DeVault
425713b837
Merge branch 'hidpi'
7 years ago
Timidger
80bf3cfff0
Fixes #399 Adds wlr_data_device_manager destructor
...
Fixed issues
7 years ago
Tony Crisci
739361aa70
wlr-keyboard: take out modifiers event struct (for now)
7 years ago
emersion
bf1b12a725
Fix maximize delay in xdg-shell
7 years ago
emersion
26dadacb71
Add wl_shell support for maximized views
7 years ago
Drew DeVault
66587eb430
Merge remote-tracking branch 'origin/master' into hidpi
7 years ago
Tony Crisci
79f5bd6ef8
Merge branch 'master' into feature/multiseat
7 years ago
emersion
882e620639
Always read state from wlr_keyboard in the seat
7 years ago
emersion
84d5e6bbb4
Send current keyboard state when entering a surface
7 years ago
Tony Crisci
09c6092423
multiseat: somewhat working
7 years ago
Tony Crisci
b74c4cf974
Merge branch 'master' into feature/multiseat
7 years ago
Drew DeVault
2f6cfe4057
Fix software cursors on scaled outputs
...
There was an issue where it would only work within the boundaries of the
unscaled resolution.
7 years ago
Tony Crisci
5354fe8729
move keyboard to seat
7 years ago
Drew DeVault
6d8e1abfc0
Improve input sensitivity
...
We now use doubles until the last minute, which makes it so we can move
the pointer more precisely. This also includes a fix for tablet tools,
which move absolutely and sometimes do not update the X or Y axis.
7 years ago
Drew DeVault
86b8729998
Merge remote-tracking branch 'origin/master' into hidpi
7 years ago
Drew DeVault
ca8cf7d48d
Rethink HiDPI output layouts, fixes everything
...
Except for subsurfaces not rendering at the right scale. But that part
is (somewhat) easy.
7 years ago
emersion
f8de7aa0fd
Add checks for wl_resource_create
7 years ago
emersion
0384c9c094
Process surface position for software cursor hotspots
7 years ago
emersion
b46d2a8b33
Fix wlr_output_cursor_destroy
7 years ago
emersion
d11973ed7d
Fix disabled cursors
7 years ago
emersion
e18460c981
Add wlr_output.needs_swap
7 years ago
emersion
0df7a3c22d
Add wlr_seat_pointer_request_set_cursor_event.serial
7 years ago
Drew DeVault
0d9d670dbd
Merge pull request #365 from emersion/wayland-backend-transform
...
Cursors ✕ Output Transformations fixes
7 years ago
emersion
a15b35aa10
Remove mysterious hotspot switch in DRM backend
7 years ago
emersion
60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend
7 years ago
Drew DeVault
b2ff9f13b7
Merge pull request #368 from acrisci/bug/seat-clear-focus
...
wlr-seat bug: dont set focus surface to null then clear focus
7 years ago
Tony Crisci
b23dd6a6f8
wlr-seat bug: dont set focus surface to null then clear focus
7 years ago
Drew DeVault
ed74f473d6
Fix various rebase-related bugs
7 years ago
Drew DeVault
8c0929cfb3
Fix backwards bit banging
7 years ago
Drew DeVault
c8f97a3a2c
Use surface matrix for software cursors
...
A similar change should probably be applied to hardware cursors, though
more complicated. Also, this doesn't actually fix the issue where the
cursor is too small when over a scale=2 surface. Apparently they don't
set their cursor scales to 2. Seems like a client bug? idk
7 years ago
Drew DeVault
a6930cd8ea
Handle output enter/leave correctly
7 years ago
Drew DeVault
9861add146
Send surface enter output events to clients
7 years ago
Drew DeVault
a7446792a1
Consider scale factor when rendering views
7 years ago
Tony Crisci
1a756b3123
bugfix: dnd force cancel
7 years ago
emersion
510ce27fb7
Re-enable hardware cursors
7 years ago
emersion
0beae99188
Apply output transformation to pointer events in Wayland backend
7 years ago
emersion
ec22fe7134
Make wlr_output_interface.enable optional
7 years ago
emersion
d2581eadbc
Assert mandatory impl fields in wlr_output_init
7 years ago
emersion
7dc716a2bb
Fix memory leak in wlr_cursor
7 years ago
emersion
2c63aa2056
Destroy x11 output with backend
7 years ago
emersion
c97b5ac4ce
Fix output_cursor_render bounds check
7 years ago
emersion
9142def292
Do not render off-screen software cursors
7 years ago
emersion
ca9dfd2e14
Emit add event after configuring wlr_output_layout_output
7 years ago
emersion
ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer
7 years ago
emersion
6a74a3586f
Fix wlr_cursor_destroy, handle device remove in examples/multi-cursor
7 years ago
emersion
044173d1df
Add multi-pointer example
7 years ago
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend
7 years ago
emersion
4230a577cc
Remove wlr_cursor_set_xcursor for now
7 years ago
emersion
95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot
7 years ago
emersion
6656e25fd4
Transform cursor hotspot
7 years ago
emersion
2e2d63a164
Manage wlr_output_cursor from wlr_cursor
7 years ago
emersion
1b6c729360
Add wlr_output_cursor
7 years ago
Tony Crisci
e9c2cf09dc
Merge pull request #361 from emersion/output-layout-checked-allocs
...
Check allocation errors in wlr_output_layout
7 years ago
emersion
88f85f7477
Fix code style issues
7 years ago
emersion
816d6890ee
Fix remaining unchecked allocs in types and code style
7 years ago
emersion
78245a3998
Check allocation errors in wlr_output_layout
7 years ago
Tony Crisci
74bca7251b
rename wlr_seat to seat on seat structs
7 years ago
Tony Crisci
fddef4d58e
rename seat handle to seat client
7 years ago
Drew DeVault
4281aefbf8
Merge pull request #324 from acrisci/feature/keyboard-redesign
...
wlr-seat: keyboard redesign
7 years ago
emersion
a43acae000
Send server-decoration ack event automatically
7 years ago
emersion
e84d573b91
Complete server-decoration implementation
7 years ago
emersion
e521b0404b
Add server-decoration skeleton
7 years ago
emersion
9ccf66f53d
Remove gamma_control->link from list in destroy
7 years ago
Drew DeVault
bbf08f3ef9
Merge pull request #262 from acrisci/feature/data-device-selection
...
wlr-data-device
7 years ago
Drew DeVault
93042e844b
Merge pull request #325 from acrisci/bug/texture-destroy
...
Revert "wlr-surface: destroy texture on null buffer commit"
7 years ago
Tony Crisci
1dbe314937
Merge branch 'master' into feature/data-device-selection
7 years ago
Tony Crisci
06d8893543
wlr-seat: edit todos
7 years ago
Tony Crisci
d33a9f8eaa
wlr-seat: keyboard redesign
7 years ago
emersion
eea532911a
Send output current mode when changed
7 years ago
Tony Crisci
6e7caaee6b
Revert "wlr-surface: destroy texture on null buffer commit"
...
This reverts commit 0e7d13fab7
.
7 years ago
Tony Crisci
0e7d13fab7
wlr-surface: destroy texture on null buffer commit
7 years ago
Tony Crisci
d1dd0a6970
refactor buffer detection
7 years ago
emersion
1cc8f21d8e
Cleanup wlr_gamma_control
7 years ago
emersion
e1d213fccd
Create globals only for enabled outputs in DRM backend
7 years ago
Drew DeVault
c5fff08f8a
Forgot to rename these
7 years ago
emersion
4952a633ca
Remove interface version checks
7 years ago
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
7 years ago
Drew DeVault
169b68b17c
Rename remaining refs to wlr_list
7 years ago
Drew DeVault
24ae081001
Merge pull request #308 from ascent12/render-fixups
...
Render fixups
7 years ago
Scott Anderson
37b8a096a9
Pass backend to render
7 years ago
Scott Anderson
822a9f65a4
Add pointer to backend inside wlr_output
7 years ago
Scott Anderson
9b984253e2
Move egl.h to render/egl.h
7 years ago
Tony Crisci
3c7ef3aae6
Merge branch 'master' into feature/data-device-selection
7 years ago
Tony Crisci
a87b60e31e
Merge branch 'master' into feature/data-device-selection
7 years ago
emersion
c8570d0e42
Remove wl_list_init when using wl_signal_add
7 years ago
Tony Crisci
eaed6b6d29
wl-output: send layout position
7 years ago
Heghedus Razvan
1d716241af
Replace list_t with wl_list in wlr_output
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Tony Crisci
a339b10dcd
xdg-shell: improve configure request change detection
7 years ago
Tony Crisci
a5659b65c7
xdg-shell: send same-as-current configure if needed
7 years ago
Tony Crisci
fcf4724da9
xdg-shell: improve configure request change detection
7 years ago
Tony Crisci
ec83d9df58
xdg-shell: send same-as-current configure if needed
7 years ago
Tony Crisci
39308cb868
Merge branch 'master' into feature/data-device-selection
7 years ago
emersion
a7d7659a93
Fix render errors with gnome-terminal
7 years ago
Tony Crisci
b7c622a319
Merge branch 'master' into feature/data-device-selection
7 years ago
Drew DeVault
9129687ad6
Merge pull request #280 from acrisci/bug/xdg-shell-pending-different-force
...
xdg-shell: force configure when pending different
7 years ago
Tony Crisci
82076bd772
xdg-shell: force configure when pending different
7 years ago
Drew DeVault
62371a9974
Merge pull request #257 from emersion/fix-client-cursors
...
[WIP] Fix client cursors
7 years ago
Tony Crisci
2bd52c83ce
bug: detect invalid texture in xdg-shell
7 years ago
emersion
786f4bdd4d
Disable hardware cursors for now
7 years ago
Tony Crisci
19784360f1
bug: fix view centering
7 years ago
Tony Crisci
09f16058c8
cleanup: redo buggy set pointer function
7 years ago
Tony Crisci
f9d578700e
bug: fix seat handle destroy handler
7 years ago
Tony Crisci
c0e8585a4c
data-device: handle multiple data devices
7 years ago
Tony Crisci
2d35e20691
data-device: keyboard grabs
7 years ago
Tony Crisci
570a951947
data-device: button release drag bugfixes
7 years ago
Tony Crisci
3f3110452c
wlr-seat: pointer state button info
7 years ago
Tony Crisci
34f27ff691
wlr-seat: selection signal
7 years ago
Tony Crisci
02f4acc69f
data-device: refactor set selections for xwayland
7 years ago
Tony Crisci
df0a8d3abe
wlr-data-device: drag icons
7 years ago
Tony Crisci
a1bfa4a2f2
wlr-data-device: basic drag and drop
7 years ago
Tony Crisci
07259cf8ea
wlr-data-device: source actions
7 years ago
Tony Crisci
25831d287e
wlr-data-device: offer set actions
7 years ago
Tony Crisci
3892acecac
wlr-data-device: basic clipboard
7 years ago
Tony Crisci
6a7560fae0
wlr-data-device interface
7 years ago
emersion
08720db01d
Release buffer in wlr_surface_flush_damage
7 years ago
emersion
6dc0517bb1
Fix software cursor when setting committed cursor surface
7 years ago
emersion
dd5114a514
Fix client cursors when software cursors are used
7 years ago
emersion
8fd4ae5de8
Fix cursor role name, fix segfault when surface->resource is NULL
7 years ago
Tony Crisci
327f656c35
bug: emit wlr-seat pointer grab end event
7 years ago
emersion
19860c03f7
Better handling of hidden cursors in wayland backend, add TODOs
7 years ago
emersion
92daa790bb
Allow to update the cursor hotspot without its pixels
7 years ago
Drew DeVault
2272f3d47c
Don't segfault wlr_keyboard when no xkb state
7 years ago
emersion
5c6a933890
Do not call wlr_surface_state_release_buffer anymore
7 years ago
Drew DeVault
f73cb2aa1f
Merge pull request #260 from versusvoid/fix-accessing-freed-client
...
Destroy surfaces on client destruction (XDG shell)
7 years ago
Versus Void
508a21f93e
Destroy surfaces on client destruction
7 years ago
Drew DeVault
bf5299a3a5
Merge pull request #252 from myfreeweb/freebsd-compat
...
Add FreeBSD compatibility
7 years ago
emersion
67f0c3ca42
Rename release label
7 years ago
emersion
36b4465eb9
Do not release buffer before emitting commit event
7 years ago
Greg V
a5fe9aa736
Add FreeBSD compatibility
7 years ago
emersion
669a452aef
Fix wlr_output_layout_intersects
7 years ago
Tony Crisci
821cf92498
wl-shell: fix popup grab
7 years ago
Tony Crisci
f7e7f6271d
wl-shell: cleanup
7 years ago
Tony Crisci
1b2742d0b2
bug: emit surface new event later
7 years ago
Tony Crisci
d4c065e59b
wl_shell: map transient surfaces closer to parent
7 years ago
Tony Crisci
22a16a59ca
wl-shell: basic pointer grab
7 years ago
Tony Crisci
cd1204f71f
wl-shell: render popups in the right place
7 years ago
Drew DeVault
fbddc81b59
Merge pull request #254 from versusvoid/fix-frame-callback-double-free
...
Destroy callbacks before callback list reinitialization
7 years ago
Versus Void
d3af2c09c2
Destroy callbacks before callback list reinitialization
7 years ago
Versus Void
a6db47196c
Upload texture on surface commit
7 years ago
Drew DeVault
c39bfe7f84
Merge pull request #206 from emersion/client-cursor
...
Client provided cursors
7 years ago
Drew DeVault
1c3c2ff90a
Merge pull request #250 from acrisci/feature/surface-finder-to-wlr
...
move surface finder functions to wlroots
7 years ago
Tony Crisci
100b39c608
bug: null buffer commit detection
7 years ago
Tony Crisci
654e2ccd6b
move surface finder functions to wlroots
7 years ago
emersion
b1cba36aeb
Call frame_callback_list after rendering the cursor
7 years ago
emersion
8f7962ed44
Do not commit surface on set_cursor, breaks GTK+ apps
7 years ago
emersion
b76e64e7bf
Fix cleanup old cursor surface in wlr_output_set_cursor_surface
7 years ago
emersion
c4c948c5d9
Use attach x,y when computing hotspot, set sx,sy in surface_attach
7 years ago
emersion
008e1d596d
Fix cursor stride
7 years ago
emersion
c7a4346bfc
Hide cursor when surface == NULL
7 years ago
emersion
bceaee6eb7
Stop listening to cursor surface when manually setting cursor data
7 years ago
emersion
cebb202f7d
Set and check cursor surface role
7 years ago
emersion
8a77d1b6a2
Listen to cursor surface commit & destroy events
7 years ago
Tony Crisci
761b35339e
bug: handle commit empty buffer
7 years ago
emersion
17354b630a
Read surface buffer to set output cursor
7 years ago
emersion
9b83caa658
Add wlr_output_set_cursor_surface
7 years ago
emersion
65d57920e5
rootston: handle request_set_cursor
7 years ago
emersion
78d3582b70
Add request_set_cursor event
7 years ago
emersion
7b6d785f52
Rename wlr_surface->signals to events
7 years ago
Tony Crisci
db15ab77b4
use input bounds for pointer events
7 years ago
Drew DeVault
9e1ff2dce9
Merge pull request #140 from emersion/screenshooter
...
Add screenshooter
7 years ago
emersion
0ce3135304
Move read_pixels from output to renderer
7 years ago
Drew DeVault
543601e86c
Merge pull request #183 from acrisci/feature/xdg-popup
...
xdg-popup
7 years ago
Tony Crisci
9721dc80e1
wlr-data-source: cleanup
7 years ago
Tony Crisci
1fd81ebf2d
wlr-data-source: add set_actions stub
7 years ago
Tony Crisci
51de398885
bug: fix clipboard
7 years ago
Tony Crisci
d61621e2fa
wlr-data-device-mgr: cleanup
7 years ago
Tony Crisci
4f848000af
Merge branch 'master' into feature/xdg-popup
7 years ago
emersion
a87f016017
Remove cairo dependency, write raw pixels
7 years ago
Tony Crisci
4680943e74
xdg-seat: keyboard grabs
7 years ago
emersion
b27b6cd69c
Check wl_shm_buffer format
7 years ago
emersion
4374c52135
Free screenshot state
7 years ago
emersion
ecd5263d4d
Flip screenshots
7 years ago
emersion
d4cc82f11a
Call glReadPixels right before swapping buffers
7 years ago
emersion
d0db6a80ab
Add post_frame event to wlr_output, use wlr_drm_plane_make_current in wlr_drm_output_read_pixels
7 years ago
emersion
35f9700251
First attempt to implement screenshooter
7 years ago
emersion
1c8b72e0cd
Add screenshooter skeleton
7 years ago
emersion
2ffa4f3fce
When output has no modes, send one anyway
7 years ago
Drew DeVault
08ccc7f653
Merge pull request #221 from versusvoid/wayland-xkb_state_update_mask
...
Use xkb_state_update_mask() with Wayland backend
7 years ago
Versus Void
568b270cdf
Use xkb_state_update_mask() with Wayland backend
...
Fix #158
7 years ago
emersion
69aff9b35e
Implement wlr_xdg_toplevel_v6_send_close
7 years ago
Tony Crisci
27ee171d25
xdg-popup: protocol errors and ungrab
7 years ago
Tony Crisci
67ea307753
xdg-shell: cleanup
7 years ago
Tony Crisci
48ae4fc588
rootston: handle grab end
7 years ago
Tony Crisci
4657f10dd2
Merge branch 'master' into feature/xdg-popup
7 years ago
Tony Crisci
d3ebf99b0f
xdg-popup: basic pointer grab
7 years ago
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
7 years ago
Tony Crisci
17b134e178
wlr-seat: pointer grab interface
7 years ago
Versus Void
134f708c55
Fix double free
7 years ago
Tony Crisci
30eabf38b8
Merge branch 'master' into feature/xdg-popup
7 years ago
Drew DeVault
836242b0c4
Merge pull request #197 from versusvoid/buffer-reset
...
Reset buffer resource pointer on destroy signal.
7 years ago
Versus Void
606311c755
Reset buffer resource pointer on destroy signal
7 years ago
Tony Crisci
d1cb0edf20
wlr-seat: honor seat version
7 years ago
Drew DeVault
5f3c56de28
Merge pull request #184 from emersion/rootston-keys
...
Keyboard modifiers
7 years ago
emersion
521e893528
Add modifiers signal, remove wlr_keyboard_update_modifiers
7 years ago
emersion
d71344bcdd
Fix modifiers support with backend != wayland
7 years ago
emersion
d3d9aca40c
Add modifiers support in wayland backend, parse modifiers in rootston config
7 years ago
emersion
3a8fdebaaa
Fix modifiers handling, add wlr_keyboard_get_modifiers
7 years ago
emersion
2fccff16eb
Begin modifiers support
7 years ago
Versus Void
2207d616c9
Free xkb structures on wlr_keyboard destroy
7 years ago
Tony Crisci
e003296c23
xdg-popup: render popups in the right place
7 years ago
Tony Crisci
86b66f1d6f
xdg-popup: configure requests
7 years ago
Tony Crisci
97cdcccaf0
xdg-surface: get popup
7 years ago
Tony Crisci
c665f905ff
xdg-positioner
7 years ago
Tony Crisci
aae8bdea30
xdg-shell: protocol destroy
7 years ago
Tony Crisci
28f7256148
xdg-toplevel: fix memory leaks
7 years ago
Tony Crisci
8b7ae61ad4
subsurface handle parent destroy
7 years ago
Tony Crisci
19e30aab9b
subcompositor protocol errors
7 years ago
Tony Crisci
93f79378f7
subsurface stacking requests
7 years ago
Tony Crisci
3a04f5b2db
consistently name surface state variables
7 years ago
Tony Crisci
693e30dff7
refactor surface commit
7 years ago
Tony Crisci
86bc4840a0
subsurface commit and render
7 years ago
Tony Crisci
5cbb4f5ca0
refactor surface commit
7 years ago
Tony Crisci
cb2d05e83b
subsurface sync and position
7 years ago
Tony Crisci
7f39578824
cleanup wlr_surface.[ch]
7 years ago
Tony Crisci
68eeebc647
subsurface implementation stubs
7 years ago
Tony Crisci
78cd62a663
publish subcompositor global
7 years ago
Tony Crisci
a4196fd9c9
cleanup wlr_compositor.c
7 years ago
Tony Crisci
0f56326cb8
fix libinput wlr-keyboard use after free
7 years ago
Drew DeVault
262c3b1638
Remove unnecessary logging
7 years ago
Drew DeVault
c92199a953
Merge pull request #163 from emersion/wl_shell-fixes
...
wl_shell fixes
7 years ago
emersion
8146d60a87
Fix 80 char limit with 4 width tabs
7 years ago
Drew DeVault
220a6e9bf6
Add xwayland activate and fix EGL bug
7 years ago
Drew DeVault
906a816abf
Fix rootston keyboard, add Xwayland
7 years ago
emersion
baed05b55e
Add TODO for pointer grab in set_popup
7 years ago
emersion
643a69f0b2
Call wlr_surface_set_role in wl_shell_get_shell_surface
7 years ago
emersion
55d2462180
Remove ping_timer when destroying wlr_wl_shell_surface
7 years ago