Drew DeVault
fb118ac996
Merge pull request #1062 from emersion/wlr-buffer-comeback
...
Add back wlr_buffer
7 years ago
Drew DeVault
8e33deb0be
Merge pull request #1063 from ascent12/multi-seat
...
Multiseat fixes
7 years ago
Scott Anderson
47985d2dc5
Multiseat fixes
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
d643361c48
Merge pull request #1047 from NotKit/gles2fix
...
Fix GLES2 renderer to use glGetUniformLocations locations
7 years ago
Drew DeVault
5e4af4862e
Merge pull request #1050 from emersion/wlr-buffer
...
Introduce wlr_buffer
7 years ago
NeKit
6f29db1044
gles2 renderer: introduce struct wlr_gles2_tex_shader
7 years ago
emersion
38d415dd20
buffer: make wlr_buffer_ref return the buffer
7 years ago
Vincent Vanlaer
f1a62a3200
Rename egl.exts to match the extension names
7 years ago
emersion
9ea5b1a85e
Merge branch 'master' into wlr-buffer
7 years ago
Vincent Vanlaer
5ec6d8230d
Split eglSwapBuffersWithDamage feature detection
...
Detecting whether eglSwapBuffersWithDamageEXT or
eglSwapBuffersWithDamageKHR is used should be based on the extension
string, not only on the availability of the function.
7 years ago
emersion
7d24af43e5
buffer: improve docs
7 years ago
emersion
e4933ab445
Introduce wlr_buffer
7 years ago
emersion
457bfcab19
render/egl: only request high priority context on DRM
7 years ago
emersion
d425edc96c
render/egl: consistent extension checking
7 years ago
emersion
cbfe0e834a
Request a high priority EGL context
7 years ago
emersion
32f9699359
Merge pull request #1029 from emersion/wl-backend-keyboard-focus-keys
...
backend/wayland: fix keyboard keys not pressed/released when focus changes
7 years ago
NeKit
de91c55ea9
Fix GLES2 renderer to use glGetUniformLocations locations
...
This is needed as uniform locations are driver implementation-specific.
7 years ago
emersion
6f895081e1
Merge pull request #1043 from acrisci/drag-icon-unmap
...
drag-icon map and unmap fixes
7 years ago
Ilia Bozhinov
a989104a6b
xdg-shells: add a set_parent signal to toplevel surfaces
7 years ago
Tony Crisci
9333acd68e
handle drag icon map in rootston
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
emersion
78966417f4
Merge pull request #1031 from martinetd/multibind-seat
...
seat: allow clients to bind to seat multiple times
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
Tony Crisci
58d549c98a
add data to wlr_drag_icon
7 years ago
Silvan Jegen
736309c228
Remove redundant roots_seat_remove_device function
...
This function is unimplemented and is redundant because all devices added
with roots_seat_add_device get destruction handlers assigned already.
This fixes issue #998 .
7 years ago
emersion
551700e887
backend/wayland: fix keyboard keys not pressed/released when focus changes
7 years ago
Timidger
2eb8b240e1
Added data field to wlr_subsurface
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
21928cbe61
Merge branch 'master' into screencontent
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
28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
7 years ago
emersion
00e108f2fc
export-dmabuf: correctly finish wlr_linux_dmabuf_attribs
7 years ago
emersion
7901740f94
rootston: enable export-dmabuf
7 years ago
emersion
e26f4dff98
export-dmabuf: wait for the frame to be ready, send timestamp
7 years ago
emersion
5ba1a9af56
render: add wlr_texture_to_dmabuf
7 years ago
emersion
bd430b8620
backend/drm: support multi-planar DMA-BUFs when exporting
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
Tony Crisci
044fa52be4
reword new_surface docs
7 years ago
Tony Crisci
c27cd5f065
document the map/unmap xdg-shell events
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
Tony Crisci
9971d06afb
document key and modifier signals
7 years ago
emersion
6eb4b5b54d
Merge pull request #993 from emersion/bind-wl-drm-in-renderer
...
render: bind wl_drm in renderer
7 years ago
Ilia Bozhinov
24cf70ae96
backends: implement custom EGL and renderer initialization
...
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes #987
7 years ago
emersion
41130fe54b
render: bind wl_drm in renderer
7 years ago
emersion
52bd8aa716
backend/multi: disallow multiple renderers at the same time
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
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
Vincent Vanlaer
72a75b3a72
Fix Xwayland cleanup
...
Fixes #964
7 years ago
emersion
13098a18ea
Fix hardware cursors scale & transform
7 years ago
emersion
8e831cd416
Merge pull request #959 from VincentVanlaer/xwayland-lazy
...
Add the option to start Xwayland only when a client connects
7 years ago
Vincent Vanlaer
119a6cf35c
Make xwayland_finish* clean up wlr_xwayland
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
Vincent Vanlaer
dbf4f9a231
Make startup command no longer wait for xwayland
7 years ago
Vincent Vanlaer
31861b3a7a
Add option to rootston to start xwayland lazy
7 years ago
Vincent Vanlaer
c80bf1591e
Allow xwayland to start lazily
...
Makes the xwayland startup process two phased.
The first phase just initialises the X11 sockets.
The second phase starts the Xwayland server itself.
When starting xwayland lazily the second phase will be postponed until
a client has connected to the X11 socket.
Changes in behaviour:
The DISPLAY environment is now set immediately after the X11 sockets
are created.
When the Xwayland server is killed or crashes, the sockets will not be
recreated, but reused.
Fixes #849 : Start up Xwayland lazily
7 years ago
emersion
5087199d5d
output-damage: limit the number of damaged rectangles
7 years ago
emersion
cf10cbc00c
Use UTF-8 xwayland window title if available
7 years ago
emersion
caf9f9022c
Merge pull request #936 from emersion/full-hardware-cursors
...
output: always use hardware cursors if available
7 years ago
Drew DeVault
57d03a3eda
Merge pull request #931 from emersion/redesign-resource-destroy
...
Redesign resource destruction
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
ff4708d406
linux-dmabuf: correctly destroy resources
7 years ago
emersion
2cff6dbd63
seat: split into multiple files
7 years ago
emersion
1e563e7ecf
data-device: split into multiple files
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
62d7337d00
backend/x11: add one pointer per output
7 years ago
emersion
ddac792b61
backend/wayland: only set one pointer listener
7 years ago
emersion
9f8a7c8fc4
backend/wayland: create one virtual pointer per output
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
6e7c0b57f6
cursor: use NAN for unspecified axes, refactor absolute warping code
7 years ago
emersion
7f70d244a9
xwayland: fix some Chromium comboboxes
...
Some comboboxes (e.g. in chrome://flags) are advertized as…
Notifications of course! Yeah, notifications, the thing that
tells you you have mail, your battery is low, or the dog has
eaten your carpet. This isn't the first time we notice Chromium's
X11 backend is pretty shit.
Anyway, added notifications and splash screens to the list of
unmanaged windows. Also removed utility windows because those
should be managed, but maybe I'm wrong and I'll revert this.
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
Ryan Dwyer
daa1ee35be
Make WLR_DIRECTION enum powers of 2
7 years ago
Drew DeVault
fecb971518
Merge pull request #902 from emersion/various-memory-leaks
...
Various memory leaks
7 years ago
Drew DeVault
25dddc0094
Merge pull request #911 from RyanDwyer/fix-output-direction
...
Fix WLR_DIRECTION enums
7 years ago
Ryan Dwyer
de97f90246
Fix WLR_DIRECTION enums.
...
Having 0 as an enum value causes wlr_output_layout_adjacent_output() to
never match WLR_DIRECTION_UP.
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
71ca45e2c0
Make sure we don't use others' prefixes
7 years ago
emersion
b0d99f5c67
Remove wlr_ prefix from local symbols
7 years ago
Drew DeVault
097561d6bf
Merge pull request #901 from emersion/layer-shell-minor-memory-leak
...
layer-shell: fix small memory leak
7 years ago
emersion
018b82c01e
render/egl: allow passing NULL to surface and image destructors
7 years ago
emersion
eaed6bd03b
render/egl: add wlr_egl_destroy_surface
7 years ago
emersion
8e2f3056f8
layer-shell: fix small memory leak
7 years ago
Guido Günther
ad22e02310
rootston: Damage layer-shell popups
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
edbf4a2f60
Implement output auto-selection in rootston
7 years ago
Drew DeVault
177b548b15
Update layer shell with optional wl_output
7 years ago
emersion
bfcd3f3707
Add wlr_subcompositor
7 years ago
emersion
fa84b267e0
Remove wlr_surface::subsurface
7 years ago
emersion
70d820be25
Add wlr_renderer_init_wl_shm to advertize supported renderer formats
7 years ago
Drew DeVault
dbdc63ddde
Merge pull request #873 from emersion/output-dont-emit-mode-twice
...
output: don't emit the mode event if it hasn't changed
7 years ago
emersion
94fa6c88f4
output: don't emit the mode event if it hasn't changed
...
This also fixes #535 .
7 years ago
Uli Schlachter
98f8ec6a08
x11_handle_input_event: Remove return value
...
handle_x11_event() and x11_handle_input_event() react to different kinds
of events, so it does not make much of a difference if
x11_handle_input_event() signals if it handled an event or not.
Signed-off-by: Uli Schlachter <psychon@znc.in>
7 years ago
Drew DeVault
63763d3279
Merge pull request #862 from emersion/renderer-scissor-upside-down
...
Make wlr_renderer_scissor take normal coords instead of upside-down ones
7 years ago
emersion
bcf5da5cd7
Merge pull request #866 from emersion/xwayland-unmapped-on-create
...
xwayland: emit new_surface when unmapped
7 years ago
emersion
fa02e30adf
xwayland: emit new_surface when unmapped
7 years ago
Drew DeVault
4dbf7f8b88
Merge pull request #865 from martinetd/str_truncation
...
Fix gcc string truncation warnings
7 years ago
Dominique Martinet
555206cf60
Fix gcc string truncation warnings
7 years ago
emersion
1b802d9251
Make wlr_renderer_scissor take normal coords instead of upside-down ones
7 years ago
emersion
8dec7036d0
Always unmap before destroying surface
7 years ago
emersion
17d0440b75
Add wlr_xwayland_surface_ping
7 years ago
emersion
c55ad11d96
xwayland: add _NET_WM_WINDOW_TYPE_MENU support
7 years ago
emersion
d2ebbd103c
backend: remove wlr_backend_get_egl
7 years ago
Drew DeVault
ae4cef9e41
Merge pull request #825 from emersion/surface-iterators
...
Add surface iterators
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
da73b4f60b
Merge pull request #830 from swaywm/xdg-output
...
Add wlr_xdg_output_manager
7 years ago
Drew DeVault
abfe7923c4
Add wlr_xdg_output_manager
7 years ago
Timidger
527cc702d9
Added userdata to wlr_output_layout
...
Needed for https://github.com/swaywm/wlroots-rs/issues/131
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
emersion
9b440edaf4
output: document wlr_output_set_custom_mode
7 years ago
emersion
2d6bbf12f8
backend/{x11,headless}: fix refresh rate
7 years ago
Drew DeVault
2ecce27dd5
Merge pull request #807 from swaywm/input-inhibit
...
Input inhibit
7 years ago
Drew DeVault
1e39c37b3c
Merge pull request #810 from emersion/x11-backend-configure-fix-cursor
...
backend/x11: fix cursor position when receiving configure event
7 years ago
Timidger
920ab9f108
Added user data field for wlr_cursor
...
This is required for wlroots-rs.
7 years ago
Drew DeVault
56deff41b6
Implement input inhibit in rootston
7 years ago
Drew DeVault
3a8c7f283d
Add input-inhibitor example client
7 years ago
Drew DeVault
ef4e833f13
Add wlr_input_inhibitor
7 years ago
emersion
41fccb8507
Merge branch 'master' into xwayland-dnd
7 years ago
emersion
9609985f29
backend/x11: fix cursor position when receiving configure event
7 years ago
emersion
591ea27cf9
xwayland: refactor selection code
7 years ago
Danilo Spinella
f83ad3f3ef
Install include directory into includedir
...
Follow includedir parameter when installing include directory.
7 years ago
emersion
58ac05c276
Merge branch 'master' into xwayland-dnd
7 years ago
emersion
8f84c5b05f
xwayland: only send one target at a time
7 years ago
Drew DeVault
506acbdecd
Missed a spot
7 years ago
Drew DeVault
333ab59902
Add wlr_surface_is_*_surface
...
And wlr_*_surface_from_wlr_surface
7 years ago
emersion
92b74071d0
xwayland: support multiple wayland → xwayland selection transfers
...
This fixes drag'n'drop support for Chromium.
7 years ago
Drew DeVault
37036df822
Handle layer surfaces below shell surfaces
7 years ago
emersion
8836b4f024
Merge branch 'master' into xwayland-dnd
7 years ago
Drew DeVault
a94f4d0edc
Always give keyboard focus to the topmost layer
7 years ago
Drew DeVault
1f4a4a8641
Merge pull request #800 from emersion/untie-gles2-renderer-texture
...
Untie wlr_gles2_renderer and wlr_gles2_texture
7 years ago
Drew DeVault
8b37e8f67a
Merge pull request #792 from emersion/x11-backend-blank-cursor
...
backend/x11: hide cursor
7 years ago
emersion
f3f61bed3e
Untie wlr_gles2_renderer and wlr_gles2_texture
7 years ago
Tony Crisci
5a47da1ea6
annotate wlr-output-layout coord variables
7 years ago
emersion
a7bb48b404
render/egl: add wlr_egl_create_image_from_wl_drm
...
This allows external renderers and potential future GL-based
renderers to re-use this function.
7 years ago
emersion
33a2eb4b77
Untie wlr_backend from wlr_renderer
7 years ago
emersion
7b88ace557
backend/x11: hide cursor
7 years ago
Drew DeVault
96c6091f80
Merge pull request #786 from emersion/x11-backend-multiple-outputs
...
backend/x11: add support for multiple outputs
7 years ago
emersion
90fbab6f39
xwyaland: fix style issues
7 years ago
emersion
aa6ae710f7
backend/x11: fix input events
7 years ago
emersion
0a7a8cbd1c
backend/x11: add WLR_X11_OUTPUTS support
7 years ago
emersion
d4f7ced6e2
backend/x11: refactor, prepare support for multiple outputs
7 years ago
Drew DeVault
e19ee6d469
Add wlr_surface_point_accepts_input
...
Ref https://github.com/swaywm/sway/pull/1674
7 years ago
Drew DeVault
dc412c514b
Find layer surfaces for input events
7 years ago
Drew DeVault
662f40b8ae
Refactor cursor event passhtrough
7 years ago
Tony Crisci
212d957c69
Merge pull request #779 from emersion/xwayland-map-consistency
...
xwayland: rename map_notify to map for consistency
7 years ago
emersion
47a529a69c
output-damage: fix missing wlr_box include
7 years ago
emersion
865b0aa123
xwayland: rename map_notify to map for consistency
7 years ago
emersion
cadfccf1fd
xwayland: use a separate window for drag'n'drop
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
Drew DeVault
b887af9a60
Fix maximized windows interaction with layer shell
...
If there were no layer surfaces the usable area of the output would be
an empty box.
7 years ago
emersion
ca2a73b90d
xwayland: allow drag data source transfer after drag ends
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
emersion
6fd50947bd
xwayland: improve error handling
7 years ago
Tony Crisci
967bccffcd
remove xdg-positioner wlr wrappers
7 years ago
Tony Crisci
376d1cc0da
rename xdg-positioner structs
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
5dd022da13
Merge pull request #765 from swaywm/transformed-events
...
Use libinput transformed events instead of width_mm/height_mm
7 years ago
emersion
0d7a81ccdf
xwayland: send DND_ENTER
7 years ago
Drew DeVault
52d621e097
Merge pull request #763 from emersion/x11-backend-kbd-modifiers
...
backend/x11: correctly update keyboard modifiers
7 years ago
Drew DeVault
32bdcdf719
Address review feedback
7 years ago
Drew DeVault
ac219cbda6
Remove width_mm from tablet events
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
emersion
f033f717a2
backend/x11: make xcb-xkb optional, remove global state
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
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
13edb19a6c
Fix issue starting up client EGL on X11 backend
7 years ago
Drew DeVault
776b81d499
Fix surface layer damage tracking
7 years ago
Drew DeVault
86ca4bea6d
Fix layer rendering/layout bugs
7 years ago
Drew DeVault
097e87ca9f
Handle usable area for maximized windows
...
Also fixes some bugs
7 years ago
Drew DeVault
ab6c2bf584
Reset exclusivity after shell layer
...
Also fixes an issue which was applying exclusivity to all edges
7 years ago
Drew DeVault
d1c0e6fe2c
Add layer_surface.close
7 years ago
Drew DeVault
8c98c18880
Gracefully deal with outputs being removed
7 years ago
Drew DeVault
f444a0d14c
Implement layer surface damage
7 years ago
Drew DeVault
4bf936360d
Arrange & render layer surfaces
7 years ago
Drew DeVault
b31ce4220c
Add broken test client and rootston stubs
7 years ago
Drew DeVault
88eec637a4
Address feedback
7 years ago
Drew DeVault
1628730b09
Add wlr_layer_surface_configure
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
575bc81d54
Merge pull request #754 from emersion/popup-map-unmap-damage
...
[WIP] xdg-shell: damage view when popup is mapped/unmapped
7 years ago
emersion
4abca435cc
rootston: damage view when xdg-popup is mapped/unmapped
7 years ago
emersion
19a525f3b5
rootston: damage view when zxdg-popup-v6 is mapped/unmapped
7 years ago
emersion
c42fd1018b
render: remove GL calls from wlr_egl
7 years ago
Tony Crisci
8371e2f41d
implement flip_x
7 years ago
Drew DeVault
1ed90541f9
Merge pull request #753 from emersion/xdg-shell-unmap-destroy
...
xdg-shell-v6: don't destroy role resources on unmap
7 years ago
emersion
b6c1760de5
xwayland: create DND window, add DND atom helpers
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
Drew DeVault
ac715969ac
Improve documentation of wlr_cursor
7 years ago
Dominique Martinet
a0b52a0dff
Fix x11 backend
...
Need to include wlr/config.h before using the various WLR_HAS_xxx defines
7 years ago
Tony Crisci
bbd0e23fa7
xdg-positioner constraint detection
7 years ago
emersion
a918ec877e
xdg-shell-v6, xdg-shell: explain what popup geometry is
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
Drew DeVault
891610081f
Merge pull request #751 from emersion/rotated-surface-damage
...
Fix damage tracking for rotated surfaces
7 years ago
emersion
140bc19476
rootston: add -D flag to enable damage tracking debugging
7 years ago
emersion
4555fc8a54
Fix damage tracking for rotated surfaces
...
It was broken because the damage extents were rotated about its
own center, not about the center of the surface.
This adds a new wlr_region_rotated_bounds that rotates regions.
This allows us to have only one code path (for both non-rotated
views and rotated views) and optimizes rendering for rotated
views.
7 years ago
Tony Crisci
4da18f7fc3
xdg-positioner attrs
7 years ago
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
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
Tony Crisci
30b8fb5572
Merge branch 'master' into xdg-positioner
7 years ago
emersion
a854c2f246
Merge branch 'master' into gles2-renderer-redesign
7 years ago
Drew DeVault
ef3769851f
Merge pull request #740 from emersion/egl-debug
...
render/egl: use EGL_KHR_debug
7 years ago
Dominique Martinet
d5e14ab247
wayland backend: fix use-after free on output destroy
...
==12021==ERROR: AddressSanitizer: heap-use-after-free on address 0x617000015698 at pc 0x7f1a9abe1c09 bp 0x7ffe9068f6b0 sp 0x7ffe9068f6a0
WRITE of size 4 at 0x617000015698 thread T0
#0 0x7f1a9abe1c08 in pointer_handle_leave ../backend/wayland/wl_seat.c:40
#1 0x7f1a96ae7d1d in ffi_call_unix64 (/lib64/libffi.so.6+0x5d1d)
#2 0x7f1a96ae768e in ffi_call (/lib64/libffi.so.6+0x568e)
#3 0x7f1a988e0d8a (/lib64/libwayland-client.so.0+0x8d8a)
#4 0x7f1a988dd927 (/lib64/libwayland-client.so.0+0x5927)
#5 0x7f1a988debe3 in wl_display_dispatch_queue_pending (/lib64/libwayland-client.so.0+0x6be3)
#6 0x7f1a9abdd6d6 in dispatch_events ../backend/wayland/backend.c:28
#7 0x7f1a9a968c11 in wl_event_loop_dispatch (/lib64/libwayland-server.so.0+0x9c11)
#8 0x7f1a9a967449 in wl_display_run (/lib64/libwayland-server.so.0+0x8449)
#9 0x418dff in main ../rootston/main.c:81
#10 0x7f1a99b5ef29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
#11 0x4057c9 in _start (/home/shared/wayland/wlroots/build/rootston/rootston+0x4057c9)
0x617000015698 is located 664 bytes inside of 696-byte region [0x617000015400,0x6170000156b8)
freed by thread T0 here:
#0 0x7f1a9af754b8 in __interceptor_free (/lib64/libasan.so.4+0xde4b8)
#1 0x7f1a9abe01ee in wlr_wl_output_destroy ../backend/wayland/output.c:194
#2 0x7f1a9ac12918 in wlr_output_destroy ../types/wlr_output.c:299
#3 0x7f1a9abe061b in xdg_toplevel_handle_close ../backend/wayland/output.c:255
#4 0x7f1a96ae7d1d in ffi_call_unix64 (/lib64/libffi.so.6+0x5d1d)
#5 0x7f1a96ae768e in ffi_call (/lib64/libffi.so.6+0x568e)
#6 0x7f1a988e0d8a (/lib64/libwayland-client.so.0+0x8d8a)
#7 0x7f1a988dd927 (/lib64/libwayland-client.so.0+0x5927)
#8 0x7f1a988debe3 in wl_display_dispatch_queue_pending (/lib64/libwayland-client.so.0+0x6be3)
#9 0x7f1a9abdd6d6 in dispatch_events ../backend/wayland/backend.c:28
#10 0x7f1a9a968c11 in wl_event_loop_dispatch (/lib64/libwayland-server.so.0+0x9c11)
#11 0x7f1a9a967449 in wl_display_run (/lib64/libwayland-server.so.0+0x8449)
#12 0x418dff in main ../rootston/main.c:81
#13 0x7f1a99b5ef29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
#14 0x4057c9 in _start (/home/shared/wayland/wlroots/build/rootston/rootston+0x4057c9)
previously allocated by thread T0 here:
#0 0x7f1a9af75a38 in __interceptor_calloc (/lib64/libasan.so.4+0xdea38)
#1 0x7f1a9abe0703 in wlr_wl_output_create ../backend/wayland/output.c:272
#2 0x7f1a9abdd8eb in wlr_wl_backend_start ../backend/wayland/backend.c:55
#3 0x7f1a9abbeb49 in wlr_backend_start ../backend/backend.c:28
#4 0x7f1a9abd8ce1 in multi_backend_start ../backend/multi/backend.c:24
#5 0x7f1a9abbeb49 in wlr_backend_start ../backend/backend.c:28
#6 0x418c32 in main ../rootston/main.c:58
#7 0x7f1a99b5ef29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
#8 0x4057c9 in _start (/home/shared/wayland/wlroots/build/rootston/rootston+0x4057c9)
7 years ago
Dominique Martinet
de955a0f63
xdg_popup_grab: add listener on seat destroy
7 years ago
emersion
b1f93bc5cc
render/egl: use EGL_KHR_debug
7 years ago
emersion
cc5ef1d2ff
render/gles2: move list of supported WL formats to pixel_format.c
7 years ago
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
7 years ago
emersion
95e86e675a
render/gles2: remove global state, use OpenGL debug extension
7 years ago
Guido Günther
b3cb5a36c7
gles2: allow to specify texture target type
...
Allow to set the texture target type when generating/binding the
texture. This allows us to attach the texture type to the texture so we
don't have to keep the logic elsewhere.
7 years ago
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
Drew DeVault
a76cef475b
Merge pull request #733 from emersion/fix-matrix-transpose
...
Don't use OpenGL matrix transposition
7 years ago
Drew DeVault
8d490fdb34
Write some more docs
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
876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
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
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
emersion
c1c88bfe5d
rootston: destroy seat view on unmap
7 years ago
emersion
6ac3534df6
rootston: add destroy to view interface
7 years ago
Guido Günther
2d0db16942
render: Flip textures in case of inverted_y
7 years ago
emersion
3f072bedd9
xdg-shell-v6: add map signal
7 years ago
emersion
c27fd1e1ee
rootston: add view_map and view_unmap
7 years ago
Drew DeVault
bfc0e95d2c
Add mode support to libinput backend
...
And extend tablet example with tilt and ring support
7 years ago
Scott Anderson
3c9fc7c68e
Add const to x11 and input interfaces
7 years ago
Scott Anderson
902d6cc240
Use xcb atoms properly
7 years ago
Dominique Martinet
2910972b25
xwm.h: fix guard ifdef and remove wlr_ prefix from xwm_atoms_contains
7 years ago
Dominique Martinet
d9a724c4a2
xcb errors: init errors context at start
...
`xcb_errors_context_new` is more than just a malloc, it does a few
xcb requests so we benefit from not generating a new context everytime
7 years ago
Dominique Martinet
7d1870c6f1
move xwm.h out of include/wlr
...
xwm.h was meant to be private, so move it to include/xwayland/xwm.h
We had an ifdef WLR_HAS_XCB_ICCCM in xwayland.h which was easy to move
to xwm, it is not safe to use the WLR_HAS_* in the public headers.
I checked a few of our current users and none rely on xwm.h being
public as expected (rootston, sway, hsroots)
7 years ago
emersion
c2ba1869ce
Merge pull request #670 from Ongy/xwayland_unmanaged
...
add xwayland unmanaged tests to support dmenu
7 years ago
emersion
1171368cfc
Merge pull request #687 from agx/roots_view.alpha
...
rootston: drop saved.alpha from roots_view
7 years ago
Guido Günther
f97ef3f5d4
rootston: drop saved.alpha from roots_view
...
It's currently unused.
7 years ago
Markus Ongyerth
a65ef8ea86
restore dpms state on drm resume
...
If there is no current mode, set outputs to dpms off in drm resume.
Sets current mode to null on disable to ensure this can be checked.
7 years ago
Markus Ongyerth
bb676013ed
add xwayland unmanaged tests to support dmenu
...
This adds `wlr_xwayland_surface_is_unamanged`, to allow compositors more
fine grained control over XWayland focus.
A surface that is unmanaged should not receive focus, while other
windows that are just override redirect may want it (dmenu).
The way unamanged is determined is taken from wlc.
7 years ago
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
7 years ago
Guido Günther
e2ea1ebe48
rootston: Add alpha channel to views
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
Guido Günther
e6ca78b0e4
rootston: add view_create
...
so we can do basic view setup. Will be used to initialize alpha.
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
ca3a947864
rootston: fix user-after-free in output_handle_destroy
7 years ago
emersion
b1e2718dd7
xwayland: fix some use-after-free in xwm
7 years ago
emersion
bd9583a7e8
Merge pull request #652 from agx/symbols-file
...
Add symbols file
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
Guido Günther
2688f6163f
Rename _strip_path to wlr_strip_path
...
since it's a public function
7 years ago
Markus Ongyerth
3016133f91
idle-inhibit: feedback pass
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
Drew DeVault
868ad5af69
Merge pull request #647 from ascent12/elf_visibility
...
ELF Visibility
7 years ago
Scott Anderson
86269052eb
Explicitly export EFL symbols
7 years ago
Drew DeVault
566c98846a
Merge pull request #645 from agx/x11-window-title
...
x11 backend: set window title
7 years ago
Guido Günther
15afef6cbc
x11 backend: set window title
...
This makes windows identifiable in the window list
7 years ago
Scott Anderson
f27c0b44b8
Remove usec_to_msec from public API
7 years ago
Tony Crisci
9a8808f8cf
move direction to wlr_output_layout.h
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
emersion
717bdccb6e
Merge remote-tracking branch 'upstream/master' into martinetd/xdg_shell
7 years ago
Tony Crisci
85871cb666
add wlr_output_layout_adjacent_output
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
5a8f098eea
output, output_damage: add docs
7 years ago
emersion
ec837e3c9e
Introduce wlr_output_damage
7 years ago
Drew DeVault
664d7bfe4e
Merge pull request #618 from VincentVanlaer/atomic-gamma
...
Add atomic gamma control
7 years ago
emersion
bf6d245400
Swap buffers with damage
7 years ago
Vincent Vanlaer
ab011406ad
Add atomic gamma lut size fetching
...
Legacy gamma lut size now uses the new legacy_crtc member of
wlr_drm_crtc. This was Previously doen using old_crtc in
wlr_drm_connector, but since this refers to the crtc that was connected to
the ouput, this could give the wrong result.
7 years ago
Vincent Vanlaer
cc1229e75e
Add atomic gamma setting
7 years ago
emersion
cdd55b5d19
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Vincent Vanlaer
74264d4f62
Rename roots_seat_cancel_transform
7 years ago
Vincent Vanlaer
90eb50d9aa
Merge roots_seat_cancel_* into one function
7 years ago
Vincent Vanlaer
7ae8800a63
Cancel rootston move/resize/rotate on escape press
7 years ago
emersion
faa57341ca
output: replace raw GL calls by wlr_renderer_* calls
7 years ago
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
7 years ago
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
bb4aeb3b2f
backend/drm: support updating cursor when session is paused
7 years ago
Drew DeVault
39d5e78d37
Fix typo in xcursor.h
7 years ago
Drew DeVault
8cf622f074
Improve xcursor docs
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
704130cc11
output: fix performance issues with wlr_output_schedule_frame
7 years ago
emersion
a7cba7d83f
rootston: damage whole output when entering/leaving fullscreen
7 years ago
emersion
2a855e6282
rootston: fix urxvt damage on HiDPI outputs
...
util/region: add wlr_region_expand
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
d0961a02af
render: add wlr_renderer_scissor docs
7 years ago
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
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
1ee61dbd0f
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Patrick Steinhardt
52cb19d99d
rootston: fix compilation without XWayland support
...
In case wlroots is not being compiled with XWayland support, we will not
have an xwayland surface in our roots view. While we make sure to pay
attention to that in some places, we are not being consistent and try to
access the xwayland surface in other places. Obviously, this leads to a
compiler error due to the field not being present.
Fix the issue by sprinkling in a few additional ifdefs where required.
7 years ago
emersion
63736be214
rootston: fix damage tracking for SSD
7 years ago
emersion
7111dd79ef
rootston: damage tracking for rotated views
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
a98ece68d3
util: add docs for wlr_region_scale
7 years ago
emersion
4223fbc763
rootston: damage tracking scale support
7 years ago
emersion
3f96427d08
Merge branch 'output-damage' of github.com:emersion/wlroots into output-damage
7 years ago
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago