Commit graph

2484 commits

Author SHA1 Message Date
Tony Crisci
575bc81d54
Merge pull request #754 from emersion/popup-map-unmap-damage
[WIP] xdg-shell: damage view when popup is mapped/unmapped
2018-03-27 17:37:03 -04:00
emersion
4abca435cc
rootston: damage view when xdg-popup is mapped/unmapped 2018-03-27 17:27:58 -04:00
emersion
19a525f3b5
rootston: damage view when zxdg-popup-v6 is mapped/unmapped 2018-03-27 17:24:25 -04:00
emersion
c42fd1018b
render: remove GL calls from wlr_egl 2018-03-27 17:02:48 -04:00
Tony Crisci
8371e2f41d implement flip_x 2018-03-27 14:49:31 -04:00
Drew DeVault
1ed90541f9
Merge pull request #753 from emersion/xdg-shell-unmap-destroy
xdg-shell-v6: don't destroy role resources on unmap
2018-03-27 13:15:32 -04:00
emersion
b6c1760de5
xwayland: create DND window, add DND atom helpers 2018-03-27 12:04:37 -04:00
emersion
171e28eaff
xdg-shell: don't destroy role resources on unmap, move toplevel fields
Ports 5233801530 and
334bab543d to xdg-shell stable.
2018-03-27 10:25:02 -04:00
Drew DeVault
ac715969ac Improve documentation of wlr_cursor 2018-03-27 09:24:23 -04:00
Dominique Martinet
a0b52a0dff Fix x11 backend
Need to include wlr/config.h before using the various WLR_HAS_xxx defines
2018-03-27 09:20:21 +02:00
Tony Crisci
bbd0e23fa7 xdg-positioner constraint detection 2018-03-26 23:48:32 -04:00
emersion
a918ec877e
xdg-shell-v6, xdg-shell: explain what popup geometry is 2018-03-26 22:11:41 -04:00
emersion
334bab543d
xdg-shell-v6: move toplevel specific fields in wlr_xdg_toplevel_v6 2018-03-26 19:32:21 -04:00
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign 2018-03-26 19:13:13 -04:00
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.
2018-03-26 18:35:45 -04:00
Drew DeVault
891610081f
Merge pull request #751 from emersion/rotated-surface-damage
Fix damage tracking for rotated surfaces
2018-03-26 18:05:35 -04:00
emersion
140bc19476
rootston: add -D flag to enable damage tracking debugging 2018-03-26 17:34:46 -04:00
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.
2018-03-26 15:31:08 -04:00
Tony Crisci
4da18f7fc3 xdg-positioner attrs 2018-03-26 12:46:04 -04:00
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses 2018-03-26 12:41:51 -04:00
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.
2018-03-24 23:48:32 -04:00
Tony Crisci
f53575e3a3 unified xdg-surface close 2018-03-24 15:11:26 -04:00
Tony Crisci
30b8fb5572 Merge branch 'master' into xdg-positioner 2018-03-22 20:06:53 -04:00
emersion
a854c2f246
Merge branch 'master' into gles2-renderer-redesign 2018-03-23 00:55:55 +01:00
Drew DeVault
ef3769851f
Merge pull request #740 from emersion/egl-debug
render/egl: use EGL_KHR_debug
2018-03-22 18:54:21 -04:00
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)
2018-03-22 21:27:49 +01:00
Dominique Martinet
de955a0f63 xdg_popup_grab: add listener on seat destroy 2018-03-22 21:25:41 +01:00
emersion
b1f93bc5cc
render/egl: use EGL_KHR_debug 2018-03-21 10:42:43 +01:00
emersion
cc5ef1d2ff
render/gles2: move list of supported WL formats to pixel_format.c 2018-03-21 08:50:59 +01:00
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-21 07:37:09 +01:00
emersion
95e86e675a
render/gles2: remove global state, use OpenGL debug extension 2018-03-20 19:14:33 +01:00
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.
2018-03-20 14:30:30 +01:00
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h 2018-03-19 23:16:29 +01:00
Drew DeVault
a76cef475b
Merge pull request #733 from emersion/fix-matrix-transpose
Don't use OpenGL matrix transposition
2018-03-19 16:36:17 -04:00
Drew DeVault
8d490fdb34 Write some more docs 2018-03-19 15:46:28 -04:00
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.
2018-03-19 20:21:02 +01:00
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
Matrix redesign
2018-03-17 15:22:00 -04:00
Tony Crisci
09413aa7f1
Merge pull request #711 from emersion/map-unmap
Add map/unmap to xdg-shell
2018-03-17 10:00:54 -04:00
emersion
7894fca224
matrix: rename wlr_matrix_texture to wlr_matrix_projection 2018-03-15 21:26:45 +01:00
emersion
e607d0f7ee
xdg-shell: add map/unmap support 2018-03-15 20:15:09 +01:00
emersion
876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture 2018-03-15 19:31:02 +01:00
emersion
1914a1aa2b
surface: drop wlr_surface_get_matrix 2018-03-15 18:35:22 +01:00
emersion
8b58e1a3ad
Merge branch 'master' into matrix-redesign 2018-03-15 15:48:09 +01:00
emersion
824a95ad19
matrix: use 2D matrices 2018-03-15 15:33:58 +01:00
emersion
de0e40d621
Merge pull request #698 from agx/linux-dmabuf
Add initial linux_dmabuf protocol support
2018-03-15 12:45:07 +01:00
Guido Günther
eb4337b5ee Wire up linux_dmabuf in rootston 2018-03-15 12:40:18 +01:00
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.
2018-03-15 12:40:18 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers 2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/ 2018-03-15 09:11:27 +01:00
Tony Crisci
8836b167bf store xdg-positioner properties on the popup 2018-03-13 19:21:08 -04:00
emersion
ace738dbca
xdg-shell-v6: next_geometry and geometry fields are not longer pointers in wlr_xdg_surface_v6 2018-03-13 22:17:25 +01:00
emersion
149209b72e
xdg-shell-v6: rename toplevel and popup fields in wlr_xdg_surface_v6 for consistency 2018-03-13 22:09:44 +01:00
emersion
657e5c8c0d
xdg-shell-v6: changed wlr_xdg_surface_v6_configure.toplevel_state to be NULL if surface isn't a toplevel 2018-03-13 22:05:35 +01:00
emersion
e74ddaaf10
xdg-shell-v6: redesign the configure/ack_configure workflow 2018-03-13 19:57:21 +01:00
emersion
c1c88bfe5d
rootston: destroy seat view on unmap 2018-03-13 12:31:45 +01:00
emersion
6ac3534df6
rootston: add destroy to view interface 2018-03-12 09:17:06 +01:00
Guido Günther
2d0db16942 render: Flip textures in case of inverted_y 2018-03-11 19:02:05 +01:00
emersion
3f072bedd9
xdg-shell-v6: add map signal 2018-03-10 11:18:50 +01:00
emersion
c27fd1e1ee
rootston: add view_map and view_unmap 2018-03-09 10:29:22 +01:00
Drew DeVault
bfc0e95d2c Add mode support to libinput backend
And extend tablet example with tilt and ring support
2018-03-07 20:57:55 -05:00
Scott Anderson
3c9fc7c68e Add const to x11 and input interfaces 2018-03-06 21:16:18 +13:00
Scott Anderson
902d6cc240 Use xcb atoms properly 2018-03-06 21:15:47 +13:00
Dominique Martinet
2910972b25 xwm.h: fix guard ifdef and remove wlr_ prefix from xwm_atoms_contains 2018-03-04 11:16:18 +01:00
Dominique Martinet
d9a724c4a2 xcb errors: init errors context at start
`xcb_errors_context_new` is more than just a malloc, it does a few
xcb requests so we benefit from not generating a new context everytime
2018-03-03 17:06:30 +01:00
Dominique Martinet
7d1870c6f1 move xwm.h out of include/wlr
xwm.h was meant to be private, so move it to include/xwayland/xwm.h
We had an ifdef WLR_HAS_XCB_ICCCM in xwayland.h which was easy to move
to xwm, it is not safe to use the WLR_HAS_* in the public headers.

I checked a few of our current users and none rely on xwm.h being
public as expected (rootston, sway, hsroots)
2018-03-03 17:03:21 +01:00
emersion
c2ba1869ce
Merge pull request #670 from Ongy/xwayland_unmanaged
add xwayland unmanaged tests to support dmenu
2018-02-27 09:47:23 +01:00
emersion
1171368cfc
Merge pull request #687 from agx/roots_view.alpha
rootston: drop saved.alpha from roots_view
2018-02-26 19:53:55 +01:00
Guido Günther
f97ef3f5d4 rootston: drop saved.alpha from roots_view
It's currently unused.
2018-02-26 19:45:24 +01:00
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.
2018-02-26 18:12:51 +01:00
Markus Ongyerth
bb676013ed add xwayland unmanaged tests to support dmenu
This adds `wlr_xwayland_surface_is_unamanged`, to allow compositors more
fine grained control over XWayland focus.
A surface that is unmanaged should not receive focus, while other
windows that are just override redirect may want it (dmenu).
The way unamanged is determined is taken from wlc.
2018-02-26 12:02:49 +01:00
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
Make wlr_render_with_matrix use alpha
2018-02-25 13:16:35 -05:00
Guido Günther
e2ea1ebe48 rootston: Add alpha channel to views 2018-02-25 16:53:36 +01:00
Guido Günther
d08792bfff Add alpha to wlr_render_with_matrix
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
Guido Günther
e6ca78b0e4 rootston: add view_create
so we can do basic view setup. Will be used to initialize alpha.
2018-02-25 13:47:43 +01:00
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
Add idle-inhibit implementation
2018-02-24 10:15:18 -05:00
Markus Ongyerth
67285c1d57 idle-inhibit: style adjustments and motivation 2018-02-23 13:18:05 +01:00
emersion
ca3a947864
rootston: fix user-after-free in output_handle_destroy 2018-02-23 10:29:18 +01:00
emersion
b1e2718dd7
xwayland: fix some use-after-free in xwm 2018-02-23 10:20:53 +01:00
emersion
bd9583a7e8
Merge pull request #652 from agx/symbols-file
Add symbols file
2018-02-23 09:54:49 +01:00
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.
2018-02-22 21:14:28 +01:00
Markus Ongyerth
87a7afb641 idle-inhibit: second feedback pass 2018-02-21 16:22:04 +01:00
Guido Günther
2688f6163f Rename _strip_path to wlr_strip_path
since it's a public function
2018-02-21 10:25:52 +01:00
Markus Ongyerth
3016133f91 idle-inhibit: feedback pass 2018-02-20 13:41:10 +01:00
Drew DeVault
1d9be89e2d
Revert "ELF Visibility" 2018-02-19 18:01:27 -05:00
Drew DeVault
09cfa39392
Merge pull request #632 from acrisci/output-layout-adjacent
add wlr_output_layout_adjacent_output
2018-02-19 18:00:32 -05:00
Drew DeVault
868ad5af69
Merge pull request #647 from ascent12/elf_visibility
ELF Visibility
2018-02-18 21:49:23 -05:00
Scott Anderson
86269052eb Explicitly export EFL symbols 2018-02-19 14:26:40 +13:00
Drew DeVault
566c98846a
Merge pull request #645 from agx/x11-window-title
x11 backend: set window title
2018-02-18 17:46:51 -05:00
Guido Günther
15afef6cbc x11 backend: set window title
This makes windows identifiable in the window list
2018-02-18 23:42:04 +01:00
Scott Anderson
f27c0b44b8 Remove usec_to_msec from public API 2018-02-19 10:43:25 +13:00
Tony Crisci
9a8808f8cf move direction to wlr_output_layout.h 2018-02-17 18:48:50 -05:00
Tony Crisci
d2c7defa10 Merge branch 'master' into output-layout-adjacent 2018-02-17 16:34:32 -05:00
Markus Ongyerth
50d573b2ca implements the idle_inhibit protocol type
This adds the types/wlr_idle_inhibit_v1 implementation.
2018-02-17 12:37:12 +01:00
emersion
717bdccb6e
Merge remote-tracking branch 'upstream/master' into martinetd/xdg_shell 2018-02-16 18:25:58 +01:00
Tony Crisci
85871cb666 add wlr_output_layout_adjacent_output 2018-02-14 14:10:31 -05:00
Dominique Martinet
7d26a6debd xdg-shell stable: copy-pasta implementation 2018-02-14 12:52:30 +01:00
emersion
392d54a35d
Wrap wl_resource_get_user_data into safer helper functions
This ensures we're not incorrectly casting a resource.

Fixes #628
2018-02-13 23:48:46 +01:00
emersion
c2e1474010
Reformat all #include directives 2018-02-12 21:29:23 +01:00
emersion
36ead80cd1
Make wlr_signal_emit_safe private 2018-02-12 19:52:47 +01:00
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove} 2018-02-12 10:36:43 +01:00
emersion
5e58d46cc1
Add wlr_signal_emit_safe 2018-02-12 09:12:31 +01:00
emersion
a9632341bf
output_damage: listen to transform and scale output events 2018-02-11 13:07:00 +01:00
emersion
5a8f098eea
output, output_damage: add docs 2018-02-11 13:04:00 +01:00
emersion
ec837e3c9e
Introduce wlr_output_damage 2018-02-11 12:49:30 +01:00
Drew DeVault
664d7bfe4e
Merge pull request #618 from VincentVanlaer/atomic-gamma
Add atomic gamma control
2018-02-10 09:51:09 -05:00
emersion
bf6d245400
Swap buffers with damage 2018-02-09 22:54:14 +01:00
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.
2018-02-09 17:29:14 +01:00
Vincent Vanlaer
cc1229e75e Add atomic gamma setting 2018-02-09 17:29:04 +01:00
emersion
cdd55b5d19
Merge remote-tracking branch 'upstream/master' into output-damage 2018-02-09 14:50:26 +01:00
Vincent Vanlaer
74264d4f62 Rename roots_seat_cancel_transform 2018-02-08 13:13:33 +01:00
Vincent Vanlaer
90eb50d9aa Merge roots_seat_cancel_* into one function 2018-02-06 22:55:56 +01:00
Vincent Vanlaer
7ae8800a63 Cancel rootston move/resize/rotate on escape press 2018-02-06 12:36:38 +01:00
emersion
faa57341ca
output: replace raw GL calls by wlr_renderer_* calls 2018-02-03 10:01:42 +01:00
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color 2018-02-03 09:32:02 +01:00
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage 2018-02-03 00:15:44 +01:00
emersion
bb4aeb3b2f
backend/drm: support updating cursor when session is paused 2018-02-02 21:01:59 +01:00
Drew DeVault
39d5e78d37 Fix typo in xcursor.h 2018-02-02 08:48:01 -05:00
Drew DeVault
8cf622f074 Improve xcursor docs 2018-02-01 20:30:32 -05:00
emersion
8eed857292
output: add destroy signal for wlr_output_cursor 2018-02-01 12:08:35 +01:00
emersion
edb4c8d858
output: damage whole output when fullscreen surface size changes 2018-01-30 22:06:10 +01:00
emersion
704130cc11
output: fix performance issues with wlr_output_schedule_frame 2018-01-30 14:45:02 +01:00
emersion
a7cba7d83f
rootston: damage whole output when entering/leaving fullscreen 2018-01-30 14:40:22 +01:00
emersion
2a855e6282
rootston: fix urxvt damage on HiDPI outputs
util/region: add wlr_region_expand
2018-01-30 12:01:10 +01:00
emersion
d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
output: add wlr_output_transformed_resolution
2018-01-30 10:23:35 +01:00
emersion
d0961a02af
render: add wlr_renderer_scissor docs 2018-01-30 10:00:58 +01:00
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-29 23:24:09 +01:00
Tony Crisci
ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
Backport screenshooter fixes from the renderer redesign v1
2018-01-29 17:13:23 -05:00
emersion
1ee61dbd0f
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-28 21:22:50 +01:00
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.
2018-01-28 12:07:15 +00:00
emersion
63736be214
rootston: fix damage tracking for SSD 2018-01-28 10:11:31 +01:00
emersion
7111dd79ef
rootston: damage tracking for rotated views 2018-01-27 10:43:17 +01:00
emersion
8d58ed502b
output: add wlr_output_schedule_frame 2018-01-26 22:39:23 +01:00
emersion
ece2c1e4e2
Damage tracking for transformed outputs 2018-01-26 22:11:09 +01:00
emersion
a98ece68d3
util: add docs for wlr_region_scale 2018-01-25 21:54:51 +01:00
emersion
4223fbc763
rootston: damage tracking scale support 2018-01-25 19:15:20 +01:00
emersion
3f96427d08
Merge branch 'output-damage' of github.com:emersion/wlroots into output-damage 2018-01-24 18:49:47 +01:00
emersion
6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-24 14:48:01 +01:00
emersion
7a2e9a17ba
Merge pull request #579 from Ongy/dpms_decouple
decouples outputenable state and wl_output global
2018-01-24 10:57:35 +01:00
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.
2018-01-24 10:23:48 +01:00
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.
2018-01-23 22:06:54 +01:00
emersion
2ad7df8680
rootston: damage tracking for drag icons 2018-01-23 20:01:40 +01:00
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.
2018-01-23 17:40:12 +01:00
emersion
4d282c8590
rootston: damage tracking for drag icons 2018-01-23 13:37:58 +01:00
emersion
415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor 2018-01-22 16:42:22 +01:00
emersion
3f1c4f5be7
rootston: damage tracking for wl_shell 2018-01-22 16:01:32 +01:00
Tony Crisci
9d87d4e336 take roots_view out of input.h 2018-01-21 19:09:35 -05:00
Tony Crisci
9076ecd91f take seat.h out of view.h 2018-01-21 19:08:40 -05:00
Tony Crisci
85a6939cf2 rename matrix model box to project box 2018-01-21 19:03:10 -05:00
Tony Crisci
e8c407d00e rename wlr_deco_part to roots_deco_part 2018-01-21 18:46:19 -05:00
Tony Crisci
4183271475 make it work with rotation 2018-01-21 18:24:53 -05:00
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage 2018-01-21 22:18:06 +01:00
Tony Crisci
d13114520a move matrix model code to matrix.h 2018-01-21 15:53:42 -05:00
Tony Crisci
7474f00591 Merge branch 'master' into decorations 2018-01-21 15:09:33 -05:00
emersion
66ae4071a7
rootston: damage tracking for xdg popups 2018-01-21 21:06:37 +01:00
emersion
d8b36357e4
rootston: add roots_view_child::destroy 2018-01-21 15:13:10 +01:00
emersion
a636d72fc7
rootston: track subsurface damage 2018-01-21 14:50:37 +01:00
emersion
eeffe11337
surface: add wlr_surface new_subsurface and wlr_subsurface destroy events 2018-01-21 14:22:33 +01:00
emersion
c6aab6f56c
Add docs and comments 2018-01-21 11:11:25 +01:00
emersion
0365b587f0
output: add damage tracking via buffer age 2018-01-21 00:06:35 +01:00
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.
2018-01-20 16:43:14 +01:00
emersion
e29a0df8c1
output: fix software cursors damage tracking 2018-01-19 14:08:47 +01:00
emersion
b296481007
rootston: remove repaint timer, listen for damage instead 2018-01-19 13:14:16 +01:00
emersion
a0f24b809e
output: add damage event 2018-01-19 13:13:46 +01:00
emersion
7f9f918b78
rootston: damage output on mode change 2018-01-19 11:31:04 +01:00
emersion
443bd4cd89
output: fullscreen surface damage tracking 2018-01-19 11:20:27 +01:00
emersion
bde255933e
output: add wlr_output::damage, fixes #572 2018-01-18 19:47:21 +01:00
emersion
8b3f3ddb7f
rootston: fix double-buffering artifacts 2018-01-18 17:18:21 +01:00
emersion
96d6f34edd
rootston: replace view_damage with view_apply_damage and view_damage_whole 2018-01-18 16:30:56 +01:00
emersion
01bcc2ab01
rootston: damage views when moved 2018-01-18 12:25:39 +01:00
emersion
5089f2d9fb
rootston: do not swap buffers when output isn't damaged 2018-01-18 11:42:54 +01:00
emersion
1a084807ce
rootston: do not redraw if output has no damage 2018-01-18 03:31:46 +01:00
Tony Crisci
b6f29e87e8 dont use pointer for modifiers 2018-01-17 08:31:15 -05:00
Tony Crisci
43896af90f Merge branch 'master' into modifier-fixes 2018-01-17 08:27:47 -05:00
Tony Crisci
61bd79200c basic decorations 2018-01-16 19:04:26 -05:00
Tony Crisci
3751a17321 decorate xwayland views 2018-01-16 07:51:10 -05:00
Tony Crisci
dc701b72fc abstract box matrix 2018-01-16 07:14:47 -05:00
Drew DeVault
b331c5c2c5
Merge pull request #549 from emersion/output-enabled
Add wlr_output::enabled
2018-01-15 20:53:13 -05:00
Tony Crisci
c690420501
Merge pull request #562 from emersion/xwayland-fullscreen-render-children
xwayland: render children window in fullscreen
2018-01-15 07:53:32 -05:00
Tony Crisci
e46d2dd0f8
Merge pull request #556 from raazvvann/heghe/idle-protocol
Idle protocol
2018-01-14 15:55:04 -05:00
emersion
65b28b3823
xwayland: render children window in fullscreen 2018-01-14 18:19:37 +01:00
Markus Ongyerth
dfae5ff98f Update comment for wlr_headless_backend_create 2018-01-13 21:41:04 +01:00
Markus Ongyerth
c00e9d1416 adds remote argument to wayland backend create
Add a remote display name argument to wlr_wl_backend_create.
If NULL is passed to the wayland backend at all times, creating a
wayland backend *after* the compositor was started up, would require
changing the WAYLAND_DISPLAY environment variable.
2018-01-13 21:20:15 +01:00
Heghedus Razvan
440cf7112d Include idle protocol in rootston
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-01-10 14:33:00 +02:00
Heghedus Razvan
21cc5e6fef Add idle protocol
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-01-10 14:32:41 +02:00
emersion
53ba9b4eec
Fix output enable in DRM backend 2018-01-07 00:28:21 +01:00
Tony Crisci
b40a5f084a keyboard grab enter with modifiers 2018-01-06 11:06:09 -05:00
emersion
8ebd7d4dbe
output: rename resolution event to mode 2018-01-06 12:42:32 +01:00
Tony Crisci
0ef2df21f2 compositor modifier hook 2018-01-05 07:00:50 -05:00
emersion
be3a7b0017
Disable outputs in rootston config 2018-01-04 15:48:28 +01:00
emersion
d9ecfbaf32
Add wlr_output enable event 2018-01-04 14:51:36 +01:00
emersion
771263380c
Add wlr_output::enabled 2018-01-04 12:46:15 +01:00
Tony Crisci
ce3a48c316
Merge pull request #542 from emersion/abstract-data-source
Abstract data sources
2018-01-04 06:15:17 -05:00
Drew DeVault
b23bd8ea28
Merge pull request #544 from emersion/fix-views-outside-output-layout
Fix views outside output layout
2018-01-01 11:45:08 -05:00
Drew DeVault
d438a877fd
Merge pull request #545 from emersion/fix-output-destroy
Free fullscreen surface and cursors when destroying output
2018-01-01 11:33:43 -05:00
Calvin Lee
5a26ed645a Allow configurable verbosity 2017-12-31 14:50:19 -07:00
emersion
9ac9ba861f
Free fullscreen surface and cursors when destroying output 2017-12-31 13:00:35 +01:00
emersion
1fe1d64042
Fix views outside output layout 2017-12-31 12:49:06 +01:00
emersion
38ed3b4245
seat: rename selection_source to selection_data_source, remove unused data_device 2017-12-30 09:58:04 +01:00
emersion
b20aed66d6
Abstract wlr_primary_selection_source 2017-12-29 23:23:00 +01:00
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.
2017-12-29 22:51:33 +01:00
Dominique Martinet
ec952931a1 wlr_xwayland: preserve end of struct on restart
This is more robust than trying to recopy a few fields.
Note: wlr_xwayland->events.ready now resets after each trigger, so one can
hook on it again and be called when restart is ready
2017-12-29 20:50:50 +01:00
Dominique Martinet
689004ff21 rootston seat: implement part of roots_seat_destroy
... and have it listen to seat destroy notifier
2017-12-29 19:00:51 +01:00
Dominique Martinet
e0eafa0429 xwayland: listen to wlr_seat destroy signal 2017-12-29 19:00:08 +01:00
Dominique Martinet
58488ec5ce wlr_seat: add destroy signal 2017-12-29 17:55:03 +01:00
Dominique Martinet
bb0d888f25 xwayland selection: further cleanup on Xwayland exit
This is necessary if our last primary/clipboard selection was on Xwayland,
and we try to paste to native wayland after Xwayland died
2017-12-29 16:30:59 +01:00
Drew DeVault
c23bd2ab7a Further fixes to header install dir 2017-12-28 14:38:52 -05:00
Drew DeVault
9c163b7d38
Merge pull request #531 from acrisci/keyboard-num-keycodes
wlr-keyboard: keep track of number of keycodes pressed
2017-12-27 16:14:06 -08:00
Tony Crisci
e8b810ce3e keep track of number of keycodes pressed 2017-12-27 18:58:43 -05:00
Björn Esser
71e42dae90
libwlroots: Add shared library versioning 2017-12-27 18:00:13 +01:00
Björn Esser
48ecbff691
include: Generate and install version-header 2017-12-27 17:13:58 +01:00
Björn Esser
892f7a5db0
include: Install headers in an isolated include-dir 2017-12-27 17:13:58 +01:00
Björn Esser
ff13849624
config: Avoid clash with other config-headers 2017-12-27 17:13:58 +01:00
Tony Crisci
815d71a3aa validate grab serial for shell events 2017-12-27 08:04:01 -05:00
Tony Crisci
069f120b70 rootston: remove input event ring buffer 2017-12-27 07:31:53 -05:00
emersion
a79dc7df51
Merge pull request #524 from acrisci/role-committed
[wip] Role committed
2017-12-27 13:02:49 +01:00
Tony Crisci
5c5f0611c4 xwayland: role committed 2017-12-27 06:50:21 -05:00
Tony Crisci
e42d762a88 drag-icon: surface committed 2017-12-27 06:41:14 -05:00
Tony Crisci
68328700c7 wl-shell: role committed 2017-12-27 06:32:54 -05:00
Tony Crisci
e809250171
Merge pull request #519 from emersion/xwayland-primary-selection
Implement xwayland primary selection sync
2017-12-27 06:23:04 -05:00
Tony Crisci
d5ffa26564 xdg-shell: role-committed func 2017-12-27 06:15:25 -05:00
Tony Crisci
5a18f62fee add role-committed hook 2017-12-27 06:06:29 -05:00
Tony Crisci
6c2242e66b
Merge pull request #522 from emersion/fix-drm-output-transform-cursor
Fix cursor on transformed output with DRM backend
2017-12-27 05:48:45 -05:00
emersion
43435d4915
Add output transform helpers docs 2017-12-27 11:17:25 +01:00
Björn Esser
57a09c8ca4
config: Put all defines into config.h 2017-12-26 18:51:27 +01:00
emersion
e737f65e38
Fix cursor on transformed output with DRM backend 2017-12-26 18:16:37 +01:00
emersion
4a11609b76
Fix use-after-free when destroying selection sources 2017-12-25 18:18:26 +01:00
emersion
6dffaa7bb7
Implement xwayland primary selection sync 2017-12-25 16:10:16 +01:00
Dominique Martinet
e85c2827c8 rootston: add arbitrary libinput config 'tap_enabled'
This ought to be enough to serve as an example for other compositors to
use.
2017-12-24 14:55:38 +01:00
emersion
4476f79850
Fix primary clipboard issues 2017-12-22 23:45:07 +01:00
emersion
a95d09d561
Add missing gtk-primary-selection interfaces 2017-12-22 22:22:29 +01:00
emersion
0a171d3ace
Add wlr_primary_selection_device_manager and wlr_primary_selection_source 2017-12-22 19:20:12 +01:00
Tony Crisci
d1dce19253 handle display destroy 2017-12-21 08:17:35 -05:00
Tony Crisci
6c8fd6017e backend add and remove events 2017-12-20 05:54:41 -05:00
Tony Crisci
ee39dff1e7 rootston: handle backend creation failed 2017-12-20 05:51:23 -05:00
Tony Crisci
58e69c9ce1 multibackend remove subbackend 2017-12-19 18:49:00 -05:00
Tony Crisci
a937016e38 remove session from multibackend 2017-12-19 18:25:46 -05:00
Tony Crisci
4e804ef40f add backend destroy event 2017-12-19 18:14:47 -05:00
Dominique Martinet
fcd7062542 x11 backend: add wlr_input_device_is_x11 2017-12-19 20:40:36 +01:00
Dominique Martinet
169bc9fa10 wl backend: add wlr_input_device_is_wl 2017-12-19 20:20:32 +01:00
Dominique Martinet
d9eaca6c9f headless backend: add wlr_output_is_headless 2017-12-19 20:17:47 +01:00
Dominique Martinet
995383b049 headless backend: add wlr_input_device_is_headless 2017-12-19 20:16:12 +01:00
Dominique Martinet
be95147385 drm backend: add wlr_output_is_drm 2017-12-19 20:13:49 +01:00
Dominique Martinet
dabfe159de wl backend: add wlr_output_is_wl 2017-12-19 20:13:49 +01:00
Dominique Martinet
f83b16bc17 x11 backend: add wlr_output_is_x11 2017-12-19 20:13:49 +01:00
Dominique Martinet
3e228b0b2a libinput backend: add wlr_input_device_is_libinput 2017-12-19 20:13:49 +01:00
emersion
4a36ba4bdd
Destroy multi backend on display destroy 2017-12-19 18:28:47 +01:00
Drew DeVault
f3769a4b1f
Merge pull request #496 from emersion/headless-backend
Headless backend
2017-12-17 20:48:01 -05:00
Drew DeVault
10c72f4bf6
Merge pull request #487 from emersion/xwm-selection
xwm clipboard sync, 2nd edition
2017-12-17 20:03:26 -05:00
emersion
b99d1f4fcc
Refactor wlr_egl_init to accept config_attribs 2017-12-17 23:51:04 +01:00
emersion
bc5bdb7793
Add headless input devices 2017-12-17 18:49:20 +01:00
emersion
0256de0002
Add full refresh rate support to custom modes 2017-12-17 18:02:55 +01:00
emersion
b852fb9a2b
Minimal working headless output 2017-12-17 13:35:07 +01:00
emersion
3970264ccf
Initialize headless backend 2017-12-17 12:56:42 +01:00
emersion
8af6fbd7a0
Support multiple resources per seat client for data_device 2017-12-16 14:22:59 +01:00
emersion
4f0443a344
Support multiple resources per seat client for pointer, keyboard, touch 2017-12-16 13:53:39 +01:00
emersion
51db087210
Introduce fractional scaling 2017-12-15 01:00:03 +01:00
emersion
6b42bfad18
Merge branch 'master' into xwm-selection 2017-12-14 23:59:04 +01:00
Drew DeVault
23fb663ea4
Merge pull request #453 from emersion/surface-transform
Add surface transforms support
2017-12-14 14:43:04 -05:00
emersion
466e86b7b2
Merge branch 'master' into surface-transform 2017-12-14 20:31:18 +01:00
emersion
75ef7860bb
Merge branch 'master' into display-destroy 2017-12-14 20:29:30 +01:00
emersion
6ef0219763
Merge branch 'master' into xwm-selection 2017-12-14 11:20:38 +01:00
Drew DeVault
a9fb071d49
Merge pull request #485 from emersion/wl-backend-multiple-outputs
Multiple outputs with Wayland backend
2017-12-13 19:33:59 -05:00
Tony Crisci
ea4b871e16 xwm: user custom event handler 2017-12-13 17:54:19 -05:00
emersion
a1302cc4a5
Fix pointer events with multiple outputs in wayland backend 2017-12-13 22:32:22 +01:00
emersion
3b4b8953d9
Update output layout when scale or transform changes 2017-12-12 21:58:00 +01:00
emersion
c67a5824b8
Merge branch 'master' into display-destroy 2017-12-11 16:14:03 +01:00
emersion
529675b7b0
Add wlr_output_set_custom_mode 2017-12-11 12:14:23 +01:00
emersion
925497fbea
Set default cursor image in rootston 2017-12-11 10:36:22 +01:00
Drew DeVault
eb4e91f96d
Merge pull request #474 from emersion/customize-repeat-info
Make keyboard repeat info configurable
2017-12-08 15:47:11 -05:00
emersion
2c6e52c164
Add docs for wlr_keyboard_set_repeat_info 2017-12-08 17:06:31 +01:00
emersion
a3c0f97810
Make keyboard repeat info configurable 2017-12-08 17:03:05 +01:00
Tony Crisci
35188834db Merge branch 'master' into feature/xwm-selection 2017-12-08 09:22:44 -05:00
emersion
c5fa415a03
Send wl_surface.{enter,leave} to cursor surfaces 2017-12-08 14:23:33 +01:00
Tony Crisci
4c60072be5 move get_resize_name to xcursor 2017-12-08 06:08:06 -05:00
Tony Crisci
d74ac69f7b bring edges into wlr 2017-12-08 06:03:57 -05:00
emersion
6001235b04
Listen to display destroy in session
It's not the backend's responsibility to destroy the session anymore.
2017-12-08 11:17:56 +01:00
emersion
b06535718d
Do not destroy wl_client in wlr_xwayland_finish 2017-12-08 01:38:45 +01:00
emersion
18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free 2017-12-08 00:59:37 +01:00
emersion
9d43adaafa
Listen to display destroy in backends 2017-12-07 23:44:59 +01:00
emersion
bdb6e0b84c
Remove destroy event in screenshooter for now 2017-12-07 01:19:41 +01:00
emersion
0e066f0d76
Listen to display destroy in output 2017-12-07 01:12:04 +01:00
emersion
cbf5763c22
Listen to display destroy in xdg-shell-v6 2017-12-07 01:08:35 +01:00
emersion
9ddaea14a1
Listen to display destroy in wl-shell 2017-12-07 01:05:49 +01:00
emersion
983ea3033f
Listen to display destroy in seat 2017-12-07 01:02:07 +01:00
emersion
088ff9a614
Listen to display destroy in gamma control manager 2017-12-07 00:55:50 +01:00
emersion
c7900663bc
Add display destroy listener to data device 2017-12-07 00:50:55 +01:00
emersion
e6d2e72401
Remove display destroy listeners, add compositor listener 2017-12-07 00:44:45 +01:00
emersion
32591d66d6
Add display destroy listener in server decoration 2017-12-07 00:36:05 +01:00
emersion
dfe11a2b0e
Add display destroy listener in screenshooter, destroy display in rootston 2017-12-07 00:13:06 +01:00
emersion
bf2b58eb6d
Add wlr_output_set_scale
Fixes #465
2017-12-06 16:36:46 +01:00
Tony Crisci
86df909256 xwayland: remove xwayland param from xsurface methods 2017-12-03 17:30:57 -05:00
Drew DeVault
3f70043d00
Merge pull request #458 from acrisci/refactor/wlr-decoration-modes
wrap server decoration modes
2017-12-03 14:13:27 -05:00
Tony Crisci
344ca222db wrap server decoration modes 2017-12-03 13:39:29 -05:00
Tony Crisci
41d7bad470 wl-shell: add commit event 2017-12-03 12:37:23 -05:00
emersion
6a69b4419f
Make wlr_output_transform_* functions public, refactoring 2017-12-01 09:15:33 +01:00
emersion
f4754ad1a2
Fix surface transforms 2017-11-30 23:58:12 +01:00
Moritz
cef6d75491 Moved os-compatibility and added header
* Moved os-compatibility.c to util
* Added header under util
* Removed static since it isn't needed (i think so)
* Adjusted meson.build to include lib_wlr

Improved some codestyle

* Added guard to os-compatibility.h
* Fixed typo in include statment

Adjusted Guard

* Changed guard to _WLR_UTIL_OS_COMPATIBILITY
2017-11-30 18:01:13 +01:00
Tony Crisci
fc17c74516 xwayland: clean up seat setting 2017-11-22 08:23:23 -05:00
Tony Crisci
b0683874e9 xwm: send selection data 2017-11-22 08:10:06 -05:00
Tony Crisci
39e2ea8420 xwm: get selection targets 2017-11-21 18:09:25 -05:00
emersion
dcb168914e
Merge branch 'master' into fullscreen 2017-11-21 18:34:12 +01:00
Drew DeVault
1228d0da19
Merge pull request #387 from emersion/laggy-move-resize
Fix laggy move-resize
2017-11-21 11:13:18 -05:00
emersion
9a6f799d8f
Add fullscreen command, fix view_at with fullscreen views 2017-11-21 10:37:53 +01:00
emersion
17d9e2ce35
Unify view events naming, remove client from event structs 2017-11-21 09:50:00 +01:00
emersion
151901123f
Merge branch 'master' into refactor-wlr-list 2017-11-20 21:15:58 +01:00
emersion
54f1135c05
Fix fullscreen in xdg-shell 2017-11-20 20:53:13 +01:00
emersion
abab2902f5
Check for subsurfaces and popups before using wlr_output_set_fullscreen_surface 2017-11-20 19:45:10 +01:00
emersion
80998cdf57
Add support for fullscreen xwayland views 2017-11-20 17:58:26 +01:00
emersion
b04a9a248d
Initial fullscreen support 2017-11-20 17:27:36 +01:00
emersion
1d08d31709
Merge branch 'master' into laggy-move-resize 2017-11-20 14:35:31 +01:00
emersion
0153a0ed8f
Fix laggy move-resize for xwayland views 2017-11-20 12:05:21 +01:00
emersion
7904b625f0
Merge branch 'master' into laggy-move-resize 2017-11-19 22:28:51 +01:00
emersion
97ddd2d1df
Add roots_seat_cycle_focus 2017-11-19 19:21:18 +01:00
emersion
bf41e7a794
Make the close command use roots_seat_get_focus, rename a few symbols 2017-11-19 19:14:31 +01:00
emersion
a8b31da52c
Remove roots_seat_{add,remove}_view 2017-11-19 18:15:11 +01:00
emersion
76e8e1a6ad
Merge branch 'master' into seat-views 2017-11-19 17:56:26 +01:00
Tony Crisci
af23192ede wlr-seat: remove client bound and unbound signal 2017-11-19 11:13:59 -05:00
Tony Crisci
bd8cdf1e9f rootston: remove grab listeners 2017-11-19 10:20:32 -05:00
Tony Crisci
390b526450 Merge branch 'bug/xwayland-ready-listener' into refactor/wlr-drag-icon 2017-11-19 10:11:39 -05:00
Tony Crisci
90d2eca218 rootston: xwayland ready listener 2017-11-19 10:07:30 -05:00
Tony Crisci
3b74db467b data-device: wlr-drag-icon 2017-11-19 09:33:55 -05:00
emersion
016744ef4d
Refactor wlr_list inside wlroots 2017-11-19 00:17:40 +01:00
emersion
72d877658a
Merge branch 'master' into seat-views 2017-11-18 22:18:25 +01:00
Tony Crisci
f277f28eef Merge branch 'master' into feature/wlr-seat-touch 2017-11-18 13:43:25 -05:00
emersion
5b13f51dfc
Add per-seat cursor configuration 2017-11-18 17:34:24 +01:00
emersion
cd566ccd8e
Add cursor theme to rootston config 2017-11-18 09:47:53 +01:00
emersion
a3a8b7bfd8
Fixed a bug with move-resize, removed xdg-shell ack_configure event
Fixed move-resizing a view when only one coordinate changes.
2017-11-18 09:09:23 +01:00
emersion
e2843d87c8
Ensure to move the view when configured 2017-11-17 23:52:42 +01:00
emersion
27937add76
Merge branch 'master' into laggy-move-resize 2017-11-17 23:29:47 +01:00
emersion
bb6d34e7a5
rootston: add per-seat views 2017-11-17 12:45:07 +01:00
Tony Crisci
f61986e8db rename touch slot to touch id 2017-11-16 17:53:52 -05:00
Tony Crisci
fb18e345a6 wlr-seat: return serial from touch down interface 2017-11-16 17:44:10 -05:00
Tony Crisci
584ff1df4c Merge branch 'master' into feature/wlr-seat-touch 2017-11-16 16:19:17 -05:00
emersion
53d4cb47ff
Refactor rootston keyboard 2017-11-16 16:13:23 +01:00
Tony Crisci
12758a00a2 rootston: touch to focus 2017-11-15 08:34:48 -05:00
Tony Crisci
ac4841ba37 put dnd icon in the right place 2017-11-15 08:34:48 -05:00
Tony Crisci
a337e95505 wlr-touch: make dnd work 2017-11-15 08:34:48 -05:00
Tony Crisci
4eab61f86f wlr-seat: refactor touch grab interface 2017-11-15 08:34:48 -05:00
Tony Crisci
6a516f7c41 basic touch dnd 2017-11-15 08:34:48 -05:00
Tony Crisci
94e7dc8a3e data-device: touch grab stubs 2017-11-15 08:34:48 -05:00
Tony Crisci
cbb6fd7352 wlr-seat: touch grab begin and end 2017-11-15 08:34:48 -05:00
Tony Crisci
469729d3af wlr-seat: document seat touch functions 2017-11-15 08:34:48 -05:00
Tony Crisci
4240096b83 wlr-seat: default touch grab 2017-11-15 08:34:48 -05:00
Tony Crisci
e5a31ae870 wlr-seat: basic touch 2017-11-15 08:34:48 -05:00
emersion
3f6cf517b9
Add wlr_xdg_surface_v6_popup_get_position 2017-11-15 14:03:13 +01:00
emersion
f8b43940b1
Merge branch 'master' into cursor-scale 2017-11-12 22:12:50 +01:00
Drew DeVault
a317ecdab8 Run startup command after xwayland is ready 2017-11-12 16:01:48 -05:00
emersion
28fc813ca9
Merge branch 'master' into cursor-scale 2017-11-12 21:16:45 +01:00
Drew DeVault
1e0e73efaa Spawn views on last active output 2017-11-12 09:55:28 -05:00
emersion
5d986f1e87
Remove unnecessary include 2017-11-12 15:49:27 +01:00
emersion
8605243459
Introduce wlr_xcursor_manager 2017-11-12 11:10:56 +01:00
emersion
2dccb11741
rootston: keep one xcursor_theme per seat 2017-11-11 23:53:45 +01:00
emersion
09279b90a6
Add wlr_output.serial 2017-11-11 19:09:34 +01:00
emersion
aaf0691883
rootston: add roots_xcursor_theme
roots_xcursor_theme loads multiple wlr_xcursor_theme at different scales.
2017-11-11 18:42:14 +01:00
emersion
ac1573b0e7
Add scale parameter to wlr_cursor_set_image 2017-11-11 17:27:44 +01:00
Tony Crisci
1db3b55128 rootston: prefix config structs and functions 2017-11-11 10:59:04 -05:00
Tony Crisci
18079e234a rootston: documentation for config.h functions 2017-11-11 10:44:29 -05:00
Tony Crisci
6e00140e8a rootston: remove unused import and old todo from config header 2017-11-11 10:41:18 -05:00
Tony Crisci
2a9dc60f28 Merge branch 'master' into feature/multiseat 2017-11-11 09:59:39 -05:00
emersion
eb89f1dcd2
Fix resize issues with some xdg-shell apps.
Also renames view_get_size to view_get_box to be more consistent with wlroots API and make it more obvious that x,y are set (while in roots_view.get_size this isn't the case).
Fixes #407
2017-11-11 15:39:15 +01:00
Drew DeVault
5f3b27347c
Merge pull request #404 from emolitor/CPP-Compatibility
Remove VLA from session.h
2017-11-10 10:18:43 -05:00
Eric Molitor
5be11a5c95 Remove VLA from session.h
VLAs are optional C11 features and not supported by C++.
2017-11-10 15:12:00 +00:00
Tony Crisci
27a3a810ab rootston: fix multiseat focus 2017-11-10 08:27:45 -05:00
Drew DeVault
e6babc07a0
Merge pull request #390 from emersion/rootston-maximize
Maximize views in rootston
2017-11-10 08:26:20 -05:00
Drew DeVault
425713b837 Merge branch 'hidpi' 2017-11-10 08:21:50 -05:00
Timidger
80bf3cfff0 Fixes #399 Adds wlr_data_device_manager destructor
Fixed issues
2017-11-09 18:52:58 -08:00
Tony Crisci
739361aa70 wlr-keyboard: take out modifiers event struct (for now) 2017-11-09 17:29:28 -05:00
emersion
bf1b12a725
Fix maximize delay in xdg-shell 2017-11-09 21:41:11 +01:00
emersion
26dadacb71
Add wl_shell support for maximized views 2017-11-09 20:06:05 +01:00
Drew DeVault
66587eb430 Merge remote-tracking branch 'origin/master' into hidpi 2017-11-09 08:36:27 -05:00
Tony Crisci
79f5bd6ef8 Merge branch 'master' into feature/multiseat 2017-11-08 20:21:59 -05:00
emersion
2118c691b1
Add maximize support for xwayland in rootston 2017-11-08 23:03:07 +01:00
Tony Crisci
06642859f1 rootston: drag icons 2017-11-08 15:35:47 -05:00
Tony Crisci
428bf18ec7 rootston: request set cursor 2017-11-08 15:23:56 -05:00
Tony Crisci
992f931ae9 rootston: cleanup for multiseat 2017-11-08 14:53:08 -05:00
emersion
882e620639
Always read state from wlr_keyboard in the seat 2017-11-08 19:02:56 +01:00
Tony Crisci
a00b7f1e9b rootston: remove devices from seat 2017-11-08 09:04:33 -05:00
emersion
84d5e6bbb4
Send current keyboard state when entering a surface 2017-11-08 10:57:46 +01:00
Tony Crisci
09c6092423 multiseat: somewhat working 2017-11-07 15:56:11 -05:00
emersion
03d3fdc158
Basic maximization implementation for xdg-shell 2017-11-05 16:29:43 +01:00
Tony Crisci
2280928bb2 rootston: roots_cursor 2017-11-05 09:20:11 -05:00
Tony Crisci
b74c4cf974 Merge branch 'master' into feature/multiseat 2017-11-05 08:09:45 -05:00
emersion
3e3209cba2
Fix laggy move-resize in xdg-shell 2017-11-05 10:22:42 +01:00
Tony Crisci
704f0f158a rootston: move device init to seat 2017-11-04 13:12:35 -04:00
Tony Crisci
5354fe8729 move keyboard to seat 2017-11-04 09:23:57 -04:00
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.
2017-11-04 01:35:12 -04:00
emersion
cf713edc10
Fix moving views when resizing below min size 2017-11-03 14:49:15 +01:00
Tony Crisci
9bd0f47efd rootston: refactor keyboard 2017-11-03 06:21:24 -04:00
Tony Crisci
447c561d15 rootston: seat config by device 2017-11-03 06:08:37 -04:00
Drew DeVault
86b8729998 Merge remote-tracking branch 'origin/master' into hidpi 2017-11-02 23:34:02 -04:00
Tony Crisci
53021f8ed4 rootston: break up input.h 2017-11-02 20:31:19 -04:00
Drew DeVault
62734d0553
Merge pull request #380 from emersion/xwayland-root-cursor
Set xwayland root cursor
2017-11-02 12:28:31 -04:00
emersion
3f4ad47421
Use compositor theme for xwm cursor 2017-11-02 16:49:22 +01:00
emersion
d11973ed7d
Fix disabled cursors 2017-11-02 11:37:43 +01:00
emersion
e18460c981
Add wlr_output.needs_swap 2017-11-01 20:08:15 +01:00
emersion
0df7a3c22d
Add wlr_seat_pointer_request_set_cursor_event.serial 2017-11-01 18:15:37 +01:00
Drew DeVault
0d9d670dbd
Merge pull request #365 from emersion/wayland-backend-transform
Cursors ✕ Output Transformations fixes
2017-11-01 10:21:02 -04:00
emersion
60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend 2017-11-01 14:25:41 +01:00
Drew DeVault
a6930cd8ea Handle output enter/leave correctly 2017-11-01 08:51:59 -04:00
Drew DeVault
a7446792a1 Consider scale factor when rendering views 2017-11-01 08:44:07 -04:00
Tony Crisci
1a756b3123 bugfix: dnd force cancel 2017-11-01 08:05:02 -04:00
emersion
0beae99188
Apply output transformation to pointer events in Wayland backend 2017-11-01 11:00:27 +01:00
emersion
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend 2017-10-31 12:30:57 +01:00
emersion
4230a577cc
Remove wlr_cursor_set_xcursor for now 2017-10-31 12:30:56 +01:00
emersion
95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot 2017-10-31 12:30:56 +01:00
emersion
2e2d63a164
Manage wlr_output_cursor from wlr_cursor 2017-10-31 12:30:56 +01:00
emersion
1b6c729360
Add wlr_output_cursor 2017-10-31 12:30:03 +01:00
Drew DeVault
ebca06bfe4
Merge pull request #358 from acrisci/refactor/sec-to-msec
refactor input time_sec to time_msec
2017-10-30 15:50:31 -04:00
Tony Crisci
875a5b446f remove time usec 2017-10-30 15:43:06 -04:00
Tony Crisci
74bca7251b rename wlr_seat to seat on seat structs 2017-10-30 08:44:39 -04:00
Tony Crisci
fddef4d58e rename seat handle to seat client 2017-10-30 08:37:54 -04:00
Tony Crisci
a224e74fad refactor input time_sec to time_msec 2017-10-30 06:40:06 -04:00
Tony Crisci
c01248cf17 Merge branch 'master' into feature/xwm-rewrite 2017-10-29 10:43:10 -04:00
Drew DeVault
50e86a0efa Allow configuring output mode in rootston
Fixes #336
2017-10-28 15:32:08 -04:00
Drew DeVault
4281aefbf8
Merge pull request #324 from acrisci/feature/keyboard-redesign
wlr-seat: keyboard redesign
2017-10-28 10:56:41 -04:00
Tony Crisci
c555a66dda Merge branch 'master' into feature/xwm-rewrite 2017-10-27 15:22:00 -04:00
Tony Crisci
325def3841 xwm: create colormap and visual depth detection 2017-10-27 15:20:50 -04:00
Drew DeVault
9f1ed70b81
Merge pull request #344 from emersion/compositor-action-cursors
Set compositor cursor for move, resize and rotate
2017-10-27 13:42:53 -04:00
emersion
315c01ba0f
Remove input.last_active_view 2017-10-27 19:21:26 +02:00
Tony Crisci
be297d9d14 xwm: net wm state 2017-10-27 13:17:34 -04:00
emersion
ec5beeb8b8
Move xcursor stuff into its own file 2017-10-27 19:09:38 +02:00
Tony Crisci
6a4290b86a xwm: moveresize events 2017-10-27 10:48:09 -04:00
Drew DeVault
4bee96bd30 Merge pull request #333 from emersion/server-decoration
Add server-decoration protocol
2017-10-27 09:28:25 -04:00
emersion
a43acae000
Send server-decoration ack event automatically 2017-10-27 00:02:30 +02:00
emersion
c0c4816b13
Fix fallback when there are two config blocks for a keyboard 2017-10-26 22:38:03 +02:00
Tony Crisci
4a106648c4 xwm: remove incorrect implementation of net wm state 2017-10-26 15:58:18 -04:00
emersion
4e5d23daa9
Per-keyboard configuration 2017-10-26 19:59:32 +02:00
emersion
9d587d759f
Do not set hw cursor if disabled when switching VT 2017-10-26 18:58:44 +02:00
emersion
7c85709de1
Focus last view on close in rootston 2017-10-25 20:34:40 +02:00
Tony Crisci
0d1dd84a48 xwm: improve activation and dont send focus twice 2017-10-25 08:39:28 -04:00
Tony Crisci
e5ee01254b xwm: map and unmap notify 2017-10-24 21:07:46 -04:00
Tony Crisci
2ff94d0036 xwm: get rid of displayable surfaces list 2017-10-24 18:57:20 -04:00
emersion
e84d573b91
Complete server-decoration implementation 2017-10-24 23:22:27 +02:00
emersion
e521b0404b
Add server-decoration skeleton 2017-10-24 21:56:18 +02:00
Tony Crisci
79e14f65e0 xwm: fix lists 2017-10-24 14:37:18 -04:00
Tony Crisci
a3f2754668 xwm: add surface to rootston on surface commit 2017-10-24 12:00:43 -04:00
Tony Crisci
1dbe314937 Merge branch 'master' into feature/data-device-selection 2017-10-24 07:57:36 -04:00
Tony Crisci
d33a9f8eaa wlr-seat: keyboard redesign 2017-10-24 07:18:11 -04:00
emersion
eea532911a
Send output current mode when changed 2017-10-23 21:03:00 +02:00
Tony Crisci
d1dd0a6970 refactor buffer detection 2017-10-22 21:07:32 -04:00
emersion
1cc8f21d8e
Cleanup wlr_gamma_control 2017-10-22 23:11:26 +02:00
emersion
e1d213fccd
Create globals only for enabled outputs in DRM backend 2017-10-22 22:21:23 +02:00
Drew DeVault
c5fff08f8a Forgot to rename these 2017-10-22 10:56:40 -04:00
Drew DeVault
16f35ecbea Merge branch 'master' into heghe/wl_list 2017-10-21 22:03:48 -04:00
Drew DeVault
169b68b17c Rename remaining refs to wlr_list 2017-10-21 22:02:36 -04:00
Drew DeVault
24ae081001 Merge pull request #308 from ascent12/render-fixups
Render fixups
2017-10-21 18:08:58 -04:00
Scott Anderson
bdeffad7e5 Remove drm field from wlr_drm_connector 2017-10-22 10:36:07 +13:00
Scott Anderson
822a9f65a4 Add pointer to backend inside wlr_output 2017-10-22 10:36:07 +13:00
Scott Anderson
4ea84c5765 Remove unnecesary wlr_renderers 2017-10-22 10:36:07 +13:00
Scott Anderson
9b984253e2 Move egl.h to render/egl.h 2017-10-22 10:36:07 +13:00
Tony Crisci
6fcac087fe rootston: remove mostly unused mapped icon param 2017-10-21 09:59:35 -04:00
Tony Crisci
3c7ef3aae6 Merge branch 'master' into feature/data-device-selection 2017-10-21 09:43:24 -04:00
Tony Crisci
a87b60e31e Merge branch 'master' into feature/data-device-selection 2017-10-21 09:37:58 -04:00
emersion
c8570d0e42
Remove wl_list_init when using wl_signal_add 2017-10-21 12:35:51 +02:00
Drew DeVault
1782d5e7b7 Implement simple touch support for rootston 2017-10-20 23:19:41 -04:00
Heghedus Razvan
d3f0878d71 Replace list_t with wl_list in wlr_wl_backend
Now wlr_backend->outputs is a list of wlr_wl_backend_output instead of
wlr_output.

Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 19:44:59 +03:00
D.B
8c759d7abe Add startup command option to rootston
Allows specifying a command to run at startup.
2017-10-20 17:49:04 +02:00
Tony Crisci
eaed6b6d29 wl-output: send layout position 2017-10-20 07:29:01 -04:00
Heghedus Razvan
e1f196a3e9 Replace list_t with wl_list for wlr_input_device
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:50:43 +03:00
Heghedus Razvan
1d716241af Replace list_t with wl_list in wlr_output
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:09 +03:00
Heghedus Razvan
c03e774636 Replace list_t with wl_list in wlr_drm_backend
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:03 +03:00
Heghedus Razvan
bde25fe020 Replace list_t with wl_list in wlr_multi_backend
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:45:31 +03:00
Tony Crisci
169bc216ed rootston: view set position 2017-10-19 12:33:02 -04:00
Tony Crisci
c00a94ca76 data-device: fix drag icon position 2017-10-17 17:21:11 -04:00
Tony Crisci
b7c622a319 Merge branch 'master' into feature/data-device-selection 2017-10-17 16:01:17 -04:00
Drew DeVault
62371a9974 Merge pull request #257 from emersion/fix-client-cursors
[WIP] Fix client cursors
2017-10-17 09:22:43 -04:00
Tony Crisci
19784360f1 bug: fix view centering 2017-10-16 14:35:16 -04:00
Tony Crisci
2d35e20691 data-device: keyboard grabs 2017-10-16 07:52:04 -04:00
Tony Crisci
3f3110452c wlr-seat: pointer state button info 2017-10-16 06:31:53 -04:00
Tony Crisci
34f27ff691 wlr-seat: selection signal 2017-10-16 05:07:09 -04:00
Tony Crisci
02f4acc69f data-device: refactor set selections for xwayland 2017-10-15 14:49:43 -04:00
Tony Crisci
df0a8d3abe wlr-data-device: drag icons 2017-10-15 11:06:03 -04:00
Tony Crisci
a1bfa4a2f2 wlr-data-device: basic drag and drop 2017-10-15 05:59:52 -04:00
Tony Crisci
07259cf8ea wlr-data-device: source actions 2017-10-15 05:59:52 -04:00
Tony Crisci
25831d287e wlr-data-device: offer set actions 2017-10-15 05:59:52 -04:00
Tony Crisci
3892acecac wlr-data-device: basic clipboard 2017-10-15 05:59:52 -04:00
Tony Crisci
6a7560fae0 wlr-data-device interface 2017-10-15 05:59:52 -04:00
emersion
29abf93bb6
Check pointer focused surface instead of view at cursor 2017-10-12 14:28:37 +02:00
emersion
92daa790bb
Allow to update the cursor hotspot without its pixels 2017-10-12 09:40:51 +02:00
Enerccio
f53616ab1c Fixed wrong function name
Apparently I am first guy to ever call this...
2017-10-11 11:20:06 +02:00
Tony Crisci
0a6f54384c wl-shell: documentation 2017-10-10 12:24:56 -04:00
Tony Crisci
821cf92498 wl-shell: fix popup grab 2017-10-10 12:20:39 -04:00
Tony Crisci
f7e7f6271d wl-shell: cleanup 2017-10-10 11:13:11 -04:00
Tony Crisci
1b2742d0b2 bug: emit surface new event later 2017-10-10 10:28:43 -04:00
Tony Crisci
fe3c6c929b wl-shell: popup input handling 2017-10-10 10:00:09 -04:00
Tony Crisci
22a16a59ca wl-shell: basic pointer grab 2017-10-10 08:39:08 -04:00
Tony Crisci
cd1204f71f wl-shell: render popups in the right place 2017-10-10 08:39:08 -04:00
Versus Void
a6db47196c Upload texture on surface commit 2017-10-10 11:18:38 +03:00
Drew DeVault
c39bfe7f84 Merge pull request #206 from emersion/client-cursor
Client provided cursors
2017-10-09 17:56:05 -04:00
Tony Crisci
654e2ccd6b move surface finder functions to wlroots 2017-10-09 16:51:55 -04:00
Drew DeVault
d0d6413772 Merge pull request #220 from versusvoid/optional-xwayland
Make Xwayland optional
2017-10-09 08:09:03 -04:00
emersion
8492174088
Switch back to compositor cursor when switching from one view to another 2017-10-09 13:12:38 +02:00
emersion
4d157fe5de
Switch back to compositor cursor when leaving view 2017-10-09 12:51:28 +02:00
Timidger
3abf713e35 Fixed include in wlr_keyboard.h 2017-10-08 18:55:59 -07:00
emersion
8a77d1b6a2
Listen to cursor surface commit & destroy events 2017-10-08 23:11:59 +02:00
emersion
9b83caa658
Add wlr_output_set_cursor_surface 2017-10-08 21:21:06 +02:00
emersion
65d57920e5
rootston: handle request_set_cursor 2017-10-08 20:37:47 +02:00
emersion
78d3582b70
Add request_set_cursor event 2017-10-08 20:32:43 +02:00
emersion
7b6d785f52
Rename wlr_surface->signals to events 2017-10-08 19:12:28 +02:00
Drew DeVault
82a6598ca7 Merge pull request #243 from acrisci/feature/input-bounds
Use wl_surface input bounds for input handling
2017-10-08 12:52:53 -04:00
Drew DeVault
8dcf3bfdf7 Merge pull request #239 from emersion/center-views
Center views in rootston
2017-10-08 12:51:42 -04:00
Tony Crisci
db15ab77b4 use input bounds for pointer events 2017-10-08 12:33:39 -04:00
emersion
518ef46ef2
Activate new views 2017-10-08 18:19:05 +02:00
emersion
3774d6c2c0
Center wl shell views 2017-10-08 17:59:38 +02:00
emersion
3c6f2f29bf
Do not remove the commit listener 2017-10-08 17:28:19 +02:00
Drew DeVault
9e1ff2dce9 Merge pull request #140 from emersion/screenshooter
Add screenshooter
2017-10-08 10:06:41 -04:00
emersion
d09d01236b
Center xdg shell views 2017-10-08 12:17:25 +02:00
Scott Anderson
c0e5feea37 Add GL/EGL extension loader generator 2017-10-08 13:23:41 +13:00
emersion
0ce3135304
Move read_pixels from output to renderer 2017-10-08 02:11:56 +02:00
Tony Crisci
4f848000af Merge branch 'master' into feature/xdg-popup 2017-10-07 13:04:04 -04:00
emersion
a87f016017
Remove cairo dependency, write raw pixels 2017-10-07 19:01:11 +02:00
Tony Crisci
4680943e74 xdg-seat: keyboard grabs 2017-10-07 12:52:02 -04:00
emersion
d4cc82f11a
Call glReadPixels right before swapping buffers 2017-10-07 16:22:03 +02:00
emersion
05096ab458
rootston: create screenshooter interface 2017-10-07 16:22:03 +02:00
emersion
d0db6a80ab
Add post_frame event to wlr_output, use wlr_drm_plane_make_current in wlr_drm_output_read_pixels 2017-10-07 16:22:02 +02:00
emersion
35f9700251
First attempt to implement screenshooter 2017-10-07 16:22:02 +02:00
emersion
1c8b72e0cd
Add screenshooter skeleton 2017-10-07 16:22:02 +02:00
Versus Void
9cab66f0f9 Make xwayland compile-time optional 2017-10-06 21:50:25 +00:00
Versus Void
decd87043f Add config option to disable Xwayland 2017-10-06 21:48:50 +00:00
Drew DeVault
08ccc7f653 Merge pull request #221 from versusvoid/wayland-xkb_state_update_mask
Use xkb_state_update_mask() with Wayland backend
2017-10-06 15:16:10 -04:00
Versus Void
568b270cdf Use xkb_state_update_mask() with Wayland backend
Fix #158
2017-10-06 22:02:29 +00:00
emersion
69aff9b35e
Implement wlr_xdg_toplevel_v6_send_close 2017-10-06 16:03:35 +02:00
emersion
972e9dbd1b
Add close command, add close for xwayland 2017-10-06 16:03:35 +02:00
Tony Crisci
67ea307753 xdg-shell: cleanup 2017-10-06 07:52:18 -04:00
Tony Crisci
48ae4fc588 rootston: handle grab end 2017-10-06 07:32:59 -04:00
Tony Crisci
4657f10dd2 Merge branch 'master' into feature/xdg-popup 2017-10-06 07:04:27 -04:00
Tony Crisci
d3ebf99b0f xdg-popup: basic pointer grab 2017-10-06 06:54:43 -04:00
Versus Void
641d08ce7e Transform hotspot with cursor
Fix #188
2017-10-06 09:07:08 +03:00
Drew DeVault
b2d478a418 Merge pull request #189 from emersion/xwayland-hints
xwayland: add support for window hints
2017-10-05 16:27:30 -04:00
emersion
12b9b1a4bd
Copy xcb_icccm structs into wlroots 2017-10-05 22:23:37 +02:00
Tony Crisci
17b134e178 wlr-seat: pointer grab interface 2017-10-05 13:30:46 -04:00
Drew DeVault
d74a6d254f Merge pull request #198 from emersion/rootston-move-resize-rotate
rootston: force move, resize and rotate
2017-10-05 13:12:29 -04:00
emersion
454a6a902b
Parse _MOTIF_HINTS 2017-10-05 19:11:28 +02:00
emersion
fc61e82795
Use pointers for xwayland hints and size_hints 2017-10-05 19:11:28 +02:00
emersion
267f24753f
Add support for WM_HINTS 2017-10-05 19:10:24 +02:00
emersion
ca68ef37f0
Add padding if xcb_icccm is not available 2017-10-05 19:10:24 +02:00
emersion
ed9796ec68
xwayland: parse normal hints 2017-10-05 19:10:23 +02:00
emersion
ef5914bdb6
xwayland: add wlr_xwayland_surface->motif_hints 2017-10-05 19:10:23 +02:00
Versus Void
c5df6ca900 Fix memory leaks 2017-10-05 20:01:56 +00:00
Tony Crisci
30eabf38b8 Merge branch 'master' into feature/xdg-popup 2017-10-03 18:58:38 -04:00
emersion
f9dbc1841d
rootston: add meta-key to config file 2017-10-03 22:14:25 +02:00
Versus Void
606311c755 Reset buffer resource pointer on destroy signal 2017-10-03 19:57:54 +00:00
emersion
9b88f25208
rootston: rotate views! 2017-10-03 21:06:32 +02:00
emersion
521e893528
Add modifiers signal, remove wlr_keyboard_update_modifiers 2017-10-03 14:03:26 +02:00
emersion
d3d9aca40c
Add modifiers support in wayland backend, parse modifiers in rootston config 2017-10-03 08:46:11 +02:00
emersion
3a8fdebaaa
Fix modifiers handling, add wlr_keyboard_get_modifiers 2017-10-03 08:46:11 +02:00
emersion
2fccff16eb
Begin modifiers support 2017-10-03 08:46:11 +02:00
emersion
238ded1578
Use a command string rather than an action enum 2017-10-03 08:46:10 +02:00
emersion
97d0fe8976
Parse bindings in config, execute bindings 2017-10-03 08:46:10 +02:00
emersion
d32018f1ac
Use keysyms instead of keycodes 2017-10-03 08:46:10 +02:00
emersion
ab6c1f88e6
Add keyboard state to rootston 2017-10-03 08:46:09 +02:00
Tony Crisci
e003296c23 xdg-popup: render popups in the right place 2017-10-02 19:10:36 -04:00
Tony Crisci
97cdcccaf0 xdg-surface: get popup 2017-10-02 19:10:36 -04:00
Drew DeVault
87a0cb7ba3 Merge pull request #182 from ascent12/drm-multi-gpu
DRM Multi-GPU
2017-10-02 08:46:06 -04:00
Scott Anderson
f193623ca1 Change iface prefix to suffix 2017-10-02 21:44:33 +13:00
Drew DeVault
f2ea691b93 Add basic drawing tablet support to rootston 2017-10-01 11:21:55 -04:00
Scott Anderson
f6f9c40965 Minor fixes 2017-10-01 22:44:24 +13:00
Scott Anderson
009c3747a8 Multi-GPU DRM 2017-10-01 22:29:25 +13:00
Scott Anderson
fa3d0ed929 Change wlr_session to open every GPU 2017-10-01 16:47:05 +13:00
Scott Anderson
eaef028976 Add renderer pointer inside drm_surface 2017-10-01 15:55:25 +13:00
Tony Crisci
8f41c497a7 Merge branch 'master' into feature/subcompositor 2017-09-30 13:29:31 -04:00
Tony Crisci
8b7ae61ad4 subsurface handle parent destroy 2017-09-30 13:24:59 -04:00
Tony Crisci
4c1bd9bde8 input events for subsurfaces 2017-09-30 12:59:45 -04:00
emersion
7f5d0624d6
Add x, y, width, height arguments to wlr_xwayland_surface_configure 2017-09-30 16:33:04 +02:00
Tony Crisci
19e30aab9b subcompositor protocol errors 2017-09-30 08:55:40 -04:00
Tony Crisci
93f79378f7 subsurface stacking requests 2017-09-30 08:55:40 -04:00
Tony Crisci
86bc4840a0 subsurface commit and render 2017-09-30 08:55:40 -04:00
Tony Crisci
cb2d05e83b subsurface sync and position 2017-09-30 08:55:40 -04:00
Tony Crisci
7f39578824 cleanup wlr_surface.[ch] 2017-09-30 08:55:40 -04:00
Tony Crisci
68eeebc647 subsurface implementation stubs 2017-09-30 08:55:40 -04:00
emersion
74f2d0cd63
Completely fix resize offset 2017-09-30 14:02:09 +02:00
emersion
77d28183b5
Partially fix resize offset 2017-09-30 13:54:51 +02:00
emersion
28d4b475dc
Add edges support, remove get_input_bounds 2017-09-30 13:22:42 +02:00
Scott Anderson
4101b89700 Rename wlr_drm_output to wlr_drm_connector 2017-09-30 23:31:08 +13:00
emersion
33a97576ca
Add view_resize 2017-09-30 11:57:39 +02:00
Scott Anderson
22e77d9195 Rename backend to drm 2017-09-30 22:22:26 +13:00
Scott Anderson
ec5b95e08f Add pointer to backend from DRM outputs 2017-09-30 22:01:59 +13:00
emersion
97679b8e12
React to xdg shell resize requests 2017-09-30 10:39:06 +02:00
Scott Anderson
096249a2a1 Split DRM rendering to its own file 2017-09-30 20:52:58 +13:00
Scott Anderson
d0708b1a3a Split DRM internal interface to its own header 2017-09-30 19:11:41 +13:00
Scott Anderson
610b0493ac Rename files to remove pointless drm prefix 2017-09-30 19:03:34 +13:00
Scott Anderson
c8a8ff66f2 Removed unused fields 2017-09-30 18:53:05 +13:00
Drew DeVault
a48dedba3d Merge pull request #170 from emersion/xwayland
Improve xwayland, batch 2
2017-09-29 17:25:58 -04:00
emersion
4ccb83bf33
xwayland: add wlr_xwayland_surface_close 2017-09-29 23:18:12 +02:00
emersion
5002d968f3
xwayland: add window_type support 2017-09-29 23:03:01 +02:00
emersion
b78ae54158
xwayland: add pid support 2017-09-29 22:43:14 +02:00
emersion
97346e7a1b
xwayland: add state support 2017-09-29 22:26:03 +02:00
emersion
7c9f3240f6
xwayland: add set_parent event 2017-09-29 20:22:35 +02:00
emersion
d8c86431e0
xwayland: add signals for configure, set_{class,title} 2017-09-29 18:28:38 +02:00
emersion
f2b03b2ec1
Add reply->type checks, add XCB_ATOM_WM_TRANSIENT_FOR 2017-09-29 16:44:22 +02:00
emersion
47d767dbc4
xwayland: expose wlr_xwayland_surface_configure 2017-09-29 16:19:06 +02:00
emersion
e3917af69d
xwayland: read window title & class 2017-09-29 15:57:21 +02:00
Scott Anderson
1b18b0a27d Fix time and transform 2017-09-29 16:31:04 +13:00
Scott Anderson
6bf508df81 Add closing with WM button 2017-09-29 16:15:09 +13:00
Scott Anderson
8027232ae5 Add timer for rendering loop 2017-09-29 16:15:09 +13:00
Scott Anderson
9ca5b0cae8 Add basic input 2017-09-29 16:15:09 +13:00
Scott Anderson
3a5b150df2 Basic rendering 2017-09-29 16:15:09 +13:00
Scott Anderson
bbe90d41bb Add EGL for X11 2017-09-29 16:15:09 +13:00
Scott Anderson
517ba0bc16 Change egl_get_config to always use visual id 2017-09-29 16:15:09 +13:00
Scott Anderson
7ad2a57feb Open X11 Window 2017-09-29 16:12:13 +13:00
Scott Anderson
a598e6d026 Add X11 backend skeleton 2017-09-29 16:12:13 +13:00
Drew DeVault
ada7fde6fb DRY up focus and implement z ordering 2017-09-28 19:48:55 -04:00
Drew DeVault
10240af6ea Handle input device removal 2017-09-28 19:05:38 -04:00
emersion
b7927078e9
x11 -> xwayland, window -> surface, fix some calloc sizes and wrong types 2017-09-28 23:26:31 +02:00
Drew DeVault
c92199a953 Merge pull request #163 from emersion/wl_shell-fixes
wl_shell fixes
2017-09-28 13:29:49 -04:00
Drew DeVault
220a6e9bf6 Add xwayland activate and fix EGL bug 2017-09-28 09:11:16 -04:00
Drew DeVault
906a816abf Fix rootston keyboard, add Xwayland 2017-09-28 08:54:57 -04:00
emersion
9d405cffa7
Use enums instead of uint32_t where applicable 2017-09-28 13:12:01 +02:00
emersion
3d03ef2d02
role -> state 2017-09-28 12:45:47 +02:00
emersion
27ca8eaced
Fix typo: s/transcient/transient/ 2017-09-28 12:38:41 +02:00
Drew DeVault
7cf4ee128e Merge remote-tracking branch 'origin/master' into rootston 2017-09-27 20:25:34 -04:00
emersion
a04462ba8b
wl_shell: listen for wlr_surface destroy signal 2017-09-28 01:31:31 +02:00
emersion
63f277f3b9
rootston: handle request_move 2017-09-28 00:29:37 +02:00
emersion
d6c6b7c506
class_ -> class, free more stuff in destroy_shell_surface 2017-09-27 23:47:39 +02:00
emersion
241fec4d87
wl_shell: add wlr_wl_shell_surface_{configure,popup_done} 2017-09-27 23:45:09 +02:00
emersion
14ab56b6c5
wl_shell: implement set_popup request 2017-09-27 23:10:33 +02:00
emersion
663bfe4cd8
wlr_wl_shell: implement all requests except set_popup 2017-09-27 21:15:31 +02:00
emersion
e001e40022
Set view->surface 2017-09-27 15:03:35 +02:00
emersion
acf58e04de
Fix segfault, add wl_shell view 2017-09-27 14:48:53 +02:00
Drew DeVault
d7d73cd298 Merge pull request #144 from ascent12/drm-dp-mst
DisplayPort MST
2017-09-27 07:58:01 -04:00
emersion
ed9a43c213
Add first try to add wl_shell to rootston 2017-09-26 23:59:25 +02:00
Drew DeVault
e6a6634bc5 Minor tweaks to (broken) keyboard support 2017-09-25 08:47:00 -04:00
Drew DeVault
f4387b437f Merge branch 'master' into rootston 2017-09-25 08:29:51 -04:00
Drew DeVault
61e451ea1b Move keyboard logic to wlr_{keyboard,seat} 2017-09-24 14:12:56 -04:00
Drew DeVault
b84d59403f Initial keyboard support in rootston 2017-09-23 18:32:03 -04:00
Drew DeVault
0ca7932c3f Implement xdg surface request_move 2017-09-23 18:18:19 -04:00
Drew DeVault
eaf6c0ccf4 Implement pointer motion and buttons 2017-09-23 17:48:13 -04:00
Drew DeVault
d89272dbbd Merge pull request #156 from acrisci/feature/wlr-keyboard-events
[wip] wlr-seat-keyboard: keyboard events
2017-09-23 15:00:52 -04:00
Drew DeVault
57c50c78f0 Implement wlr_cursor in rootston 2017-09-23 14:53:15 -04:00
Tony Crisci
84a8f1b42d add keys array param to seat keyboard enter 2017-09-23 14:41:57 -04:00
Tony Crisci
3895593998 wlr-seat: keyboard layout 2017-09-23 14:09:54 -04:00
Drew DeVault
e81e99d16d Render XDG shell surfaces 2017-09-23 11:13:18 -04:00
Drew DeVault
7523de7c61 Wire up pointer, start on cursor 2017-09-23 10:36:32 -04:00
Drew DeVault
0699aa62d8 Initial pass on roots_input 2017-09-23 10:13:05 -04:00
emersion
4809b7b3e4
Fix some include guard names in interfaces/ 2017-09-23 13:10:10 +02:00
emersion
427bdb5b55
Use more consistent include guard names 2017-09-23 10:26:01 +02:00
Scott Anderson
025b3ee515 Add error recovery for failed page flips 2017-09-23 18:27:14 +12:00
Scott Anderson
459d138fa2 Add timeout to DRM cleanup
This prevents a potential infinite loop preventing us from closing
properly.
2017-09-23 16:32:25 +12:00
Drew DeVault
b6d7c3ed8e Initialize display, backend; add frame handling 2017-09-23 00:30:39 -04:00
Drew DeVault
550748681d Establish rootston headers & main 2017-09-22 23:30:40 -04:00
Tony Crisci
30b5d76426 wlr-seat: keyboard modifiers 2017-09-22 17:09:47 -04:00
Tony Crisci
cef1f60522 wlr-seat-keyboard: basic events 2017-09-22 16:28:11 -04:00
Drew DeVault
e5e6dab7fd Fix use of serial on motion_request 2017-09-22 11:11:53 -04:00
Tony Crisci
e38248f34c wlr-seat: implement cursor axis events
Axis events for the cursor are generated with the scroll wheel.
2017-09-22 10:30:09 -04:00
Scott Anderson
8cb49f4d68 Add stdbool.h 2017-09-22 14:17:29 +12:00
Drew DeVault
d558745633 Handle tablet motion in example compositor 2017-09-21 18:51:33 -04:00
Tony Crisci
7a3edf6e62 use double for cursor coordinates 2017-09-21 11:38:04 -04:00
Tony Crisci
8b74450b39 wlr_seat: pointer events 2017-09-20 19:43:49 -04:00
Tony Crisci
aeaa983631 wlr_seat: formatting cleanup 2017-09-19 15:38:06 -04:00
Tony Crisci
5b9373a791 xdg-toplevel-v6 set parent 2017-09-16 20:07:19 -04:00
Tony Crisci
2573c429ee reset pending geometry on ack configure 2017-09-16 19:32:23 -04:00
Tony Crisci
94f4f1878d xdg-surface-v6: implement ping 2017-09-16 12:35:49 -04:00
Tony Crisci
0f865c547a xdg-toplevel-v6: seat events 2017-09-16 08:31:08 -04:00
Tony Crisci
27161a673f xdg-shell new surface and ack configure events 2017-09-15 08:53:08 -04:00
Tony Crisci
569b147bba schedule configure request on toplevel first commit 2017-09-15 07:50:13 -04:00
Tony Crisci
a0bdbc92ba xdg-shell-toplevel configure requests 2017-09-14 16:27:14 -04:00
Tony Crisci
45a3b761a6 xdg-surface-v6: add events 2017-09-14 08:39:57 -04:00
Tony Crisci
50f4275298 implement xdg-toplevel state properties 2017-09-13 09:19:10 -04:00
Tony Crisci
353629b034 xdg-surface geometry 2017-09-13 08:44:32 -04:00
Tony Crisci
2fd5c7999b set title and app_id 2017-09-13 07:57:16 -04:00
Tony Crisci
9d2dc8447a use wlr_surface on shell struct and listen to events 2017-09-13 07:57:16 -04:00
Tony Crisci
b2c71287f2 set toplevel role on wlr_surface 2017-09-13 07:57:14 -04:00
Tony Crisci
c5f8f81e58 xdg_surface: handle wlr_surface destroy 2017-09-11 17:24:55 -04:00
Tony Crisci
74e9578889 add surface destroy signal 2017-09-11 13:01:53 -04:00
emersion
6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl 2017-09-06 18:53:08 +02:00
emersion
cd125377fc
Add wlr_output_{set_gamma,get_gamma_size} 2017-09-06 17:34:09 +02:00
emersion
1b588e7c1f
Add gamma_control skeleton 2017-09-06 14:48:27 +02:00
Tony Crisci
e733b0e643 Rename wlr_output_layout_init()
Rename wlr_output_layout_init() to wlr_output_layout_create() to be consistent
with the rest of the api.
2017-09-05 17:53:29 -04:00
Tony Crisci
57c18c38bb wlr_cursor: handle layout changes
Add the layout `destroy` and `change` events.

When a layout is destroyed, detach is from the wlr_cursor.

When a layout is changed, warp the cursor to the closest layout boundary.
2017-09-05 07:48:28 -04:00
Tony Crisci
d84deb0742 add wlr_output destroy event 2017-08-31 07:47:44 -04:00
Tony Crisci
40bd6bcc43 implement output layout auto configuration 2017-08-31 07:47:44 -04:00
Drew DeVault
6daf9e9ab2 Merge pull request #120 from acrisci/feature/wlr-cursor
wlr_cursor
2017-08-29 12:12:18 -05:00
Tony Crisci
b6031d1065 refactor wlr_output_layout_closest_point 2017-08-29 12:36:39 -04:00
Tony Crisci
9b65d0b3f0 refactor and rename wlr_geometry to wlr_box 2017-08-29 12:36:39 -04:00
Tony Crisci
a51b76083e rename wlr_cursor_init to wlr_cursor_create 2017-08-29 12:36:39 -04:00
Tony Crisci
1fb8bc9340 wlr_cursor.c: fix formatting 2017-08-29 12:36:39 -04:00
Tony Crisci
3449777a8d wlr_output_layout.c: fix style 2017-08-29 12:36:39 -04:00
Drew DeVault
30611894f2 Implement tablet_tool support in pointer example 2017-08-28 22:12:35 -04:00
Tony Crisci
5c845f14ed handle input device destroy 2017-08-28 10:29:53 -04:00
Tony Crisci
df0ee7f25f implement tablet tool devices 2017-08-28 10:23:14 -04:00
Tony Crisci
5e06d61e42 implement touch up and touch down 2017-08-27 17:35:12 -04:00
Dominique Martinet
871646d225 Double-fork for xwayland execution
The intermediate fork needs to wait for SIGUSR1 for when Xserver is
ready, or SIGCHLD if the exec didn't work out.

Also change the exit() to _exit() as that is apparently more appropriate
for forks (and waitpid's status was wrong without it for some reason)

Fixes #122.
2017-08-27 21:41:08 +02:00
Tony Crisci
c914697676 add device to touch events 2017-08-27 11:44:55 -04:00
Tony Crisci
ed126b0881 add touch events 2017-08-27 11:34:25 -04:00
Tony Crisci
ac503a47a7 intersect cursor and device regions 2017-08-26 11:55:24 -04:00
Tony Crisci
0a97b68278 implement cursor and device geometry mapping 2017-08-26 08:32:11 -04:00
Tony Crisci
98f4cdfccb implement wlr_cursor_map_input_to_output 2017-08-26 08:32:11 -04:00
Tony Crisci
13e895d943 implement wlr_cursor_map_to_output 2017-08-26 08:32:11 -04:00
Tony Crisci
a4810203cc change output layout coords to double type 2017-08-26 08:32:11 -04:00
Tony Crisci
0cba06dcef implement wlr_cursor_warp 2017-08-26 08:32:11 -04:00
Tony Crisci
dd68f680e4 handle cursor to output edge cases 2017-08-26 08:32:11 -04:00
Tony Crisci
e3d47376dc add wlr_cursor basic implementation 2017-08-26 08:32:11 -04:00
Scott Anderson
d16b2977f6 Remove single GPU assumptions from wlr_session 2017-08-26 14:50:16 +12:00
Scott Anderson
fb93628bda Merge wlr_udev into wlr_session 2017-08-26 14:02:04 +12:00
Scott Anderson
46823152ea Rename functions to be consistent with #93 2017-08-26 11:56:43 +12:00
Dominique Martinet
fd3ad3b9e4 xwayland: fix shutdown caused by Xwayland/client stop 2017-08-24 07:51:24 +02:00
Dominique Martinet
3391e5b634 xwayland: fix style issues 2017-08-23 22:03:49 +02:00
Dominique Martinet
1458a95e65 example compositor: loop through xwayland surfaces 2017-08-23 22:03:49 +02:00
Dominique Martinet
eb5b9cc6da xwayland: move & split internal header file 2017-08-23 22:03:49 +02:00
Dominique Martinet
fa0e1015c6 xwm: fix minimal init, this gets us some events on window creations 2017-08-23 22:03:49 +02:00
Dominique Martinet
6eb20fb8d2 init xwm only once Xwayland server is ready 2017-08-23 22:03:49 +02:00
Dominique Martinet
3cc5b1acc6 wlr_compositor: add signal for create_surface 2017-08-23 22:03:49 +02:00
Dominique Martinet
b2bab1af5c xwayland: split xwm structure out, initial xwm.c 2017-08-23 22:03:49 +02:00
Dominique Martinet
49a823d4c6 Xwayland: first draft, just start server for now 2017-08-23 22:03:49 +02:00
Dominique Martinet
1ca08dc4cb wlr_compositor: change _init/finish to _create/destroy 2017-08-19 23:17:39 +02:00
Dominique Martinet
4110788159 move wl_compositor into wlroots as wlr_compositor 2017-08-19 21:56:51 +02:00
Dominique Martinet
f24b3df980 wlr renderer/texture: rename init to create when it does alloc 2017-08-19 08:33:31 +02:00
Tony Crisci
f03be94309 rename wlr_cursor to wlr_xcursor
This is for the implementation of another type that should be called wlr_cursor.
2017-08-18 19:48:55 -04:00
nyorain
86314caa5b Implement wlr_data_{source,device,device_manager} 2017-08-18 18:56:21 +02:00
Drew DeVault
e5fd858394 Merge pull request #101 from nyorain/texture_fix
Fix surface buffer uploading
2017-08-18 10:16:45 -04:00
Drew DeVault
3138c5ddf0 Clean up wlr_output_layout 2017-08-17 21:06:28 -04:00
Tony Crisci
5a9baf487e add helper methods for intersection 2017-08-17 21:05:13 -04:00
Tony Crisci
2e9e237f9d layout-output example: handle empty config 2017-08-17 21:05:13 -04:00
Tony Crisci
44181b57ac Add wlr_output_layout implementation
An output layout consists of a mapping of outputs to their position in a global
coordinate system that usually cooresponds to the output position in physical
space in front of the user.

Add an example that allows configuration of an output layout and demonstrates
its boundaries with a bouncing image.
2017-08-17 21:05:13 -04:00
nyorain
10eee58d2d Fix surface buffer uploading 2017-08-17 17:50:09 +02:00
Drew DeVault
18f1538108 Merge pull request #99 from nyorain/wlr_seat2
wlr_seat
2017-08-17 08:42:24 -04:00
nyorain
ad22b4874d Fix wlr_seat; add to example compositor 2017-08-17 13:06:53 +02:00
Drew DeVault
af5db7a44c Initial pass on wlr_seat 2017-08-17 12:57:04 +02:00
Dominique Martinet
577d2f6fcd wayland backend: switch to xdg shell
Closes #72 and #96.
2017-08-17 10:24:27 +02:00
Calvin Lee
901c14c409 Prevent alloc errors from crashing in list_t
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
2017-08-16 09:23:21 +02:00
Dominique Martinet
f9b55dfa95 Make wlr_wl_shell_create work like xdg
Also:
- rename wlr_xdg_shell_v6_init to create as that is what it does
- free wlr_xdg_shell on failure to create wl_global, the struct
is not initialized enough to call destroy at that point
2017-08-15 15:36:02 +02:00
Dominique Martinet
5dae8e1be8 example compositor: only iterate over wl_shell and xdg_shell surfaces 2017-08-15 15:34:26 +02:00
Dominique Martinet
f4e6b138fb Move wl_shell into wlroots 2017-08-15 15:13:23 +02:00
Drew DeVault
f60b53c6e3 Change how surface matricies are calculated 2017-08-15 08:52:30 -04:00
Tony Crisci
d5f98dbf61 refactor getting surface size into a function 2017-08-15 08:22:22 -04:00
Tony Crisci
5b1ce84350 implement buffer transform 2017-08-15 07:36:51 -04:00
Tony Crisci
84c6dbd58d remove unused dimension from buffer calculations 2017-08-15 07:36:51 -04:00
Tony Crisci
e46ec57b43 implement surface sizing 2017-08-15 07:36:51 -04:00
Tony Crisci
72a33b736f implement texture get buffer size 2017-08-15 07:36:50 -04:00
Tony Crisci
f0f190bfa5 implement buffer scale
Keep track of the scale of the buffer set by surface.set_buffer_scale.

Calculate the height and width of the texture from the buffer depending on the
scale when it is attached.

Use buffer damage to determine the damage of the buffer when flushing damage.

Convert surface damage to buffer damage and union to the surface buffer_damage
prior to flushing damage.
2017-08-15 07:36:50 -04:00
Drew DeVault
d2e796edb7 Merge pull request #86 from nyorain/master
Fix style issues
2017-08-15 07:18:22 -04:00
nyorain
d7dcbbc175 Add wayland backend cursor support 2017-08-14 18:02:05 -04:00
nyorain
f998bb8299 Fix style issues 2017-08-14 17:09:56 +02:00
Dominique Martinet
ba20d5b3ca Refactor out wlr_touch_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
bd67849c03 Refactor out wlr_tablet_tool_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
a289940bff Refactor out wlr_tablet_pad_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
53e7bebd23 Refactor out wlr_pointer_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
0a3246ad97 Refactor out wlr_keyboard_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
e6ad67911b Refactor out wlr_input_device_state 2017-08-14 16:22:31 +02:00
Drew DeVault
de6f32c84e Refactor away wlr_renderer_state 2017-08-14 08:37:50 -04:00
Drew DeVault
94e6e6334b Refactor out wlr_texture_state 2017-08-14 08:25:26 -04:00
Drew DeVault
c8c6619146 Refactor out wlr_output_mode_state 2017-08-14 08:03:51 -04:00
Calvin Lee
de66bdb867 Add backend detection functions
Resolves #80
2017-08-13 23:08:33 +02:00
Drew DeVault
41e735242d Remove wlr_output_state, update backends 2017-08-13 11:38:03 -04:00
Drew DeVault
4386816889 wlr_backend_init -> wlr_backend_start
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
2017-08-13 10:19:57 -04:00
Dominique Martinet
5c82d2f5c3 libinput backend: massive renaming
- 'libinput' (backend's) to libinput_context
- 'device' (libinput_device) to libinput_dev
- 'dev' (wlr_device) to wlr_dev
- 'devices' lists tangling of libinput devices to wlr_devices
- 'devices' list of wlr_devices in backend state to wlr_device_lists
2017-08-13 08:18:05 +02:00
Drew DeVault
234b2104e4 Refactor wlr_backend_state out of DRM backend 2017-08-12 19:52:22 -04:00
Drew DeVault
c95a108d2f Update libinput backend with new state design 2017-08-12 13:51:47 -04:00
Drew DeVault
81cd90297d Refactor out wlr_backend_state from wl/multi 2017-08-12 11:43:36 -04:00
Dominique Martinet
3ea878b76e wayland backend: free seatName 2017-08-12 01:19:45 +02:00
Dominique Martinet
8427749dd0 wayland backend: emit signal for input/output removal 2017-08-12 01:16:12 +02:00
Drew DeVault
ce65a0c138 Merge pull request #69 from 4e554c4c/user_data
Add user data to wlr_* structs
2017-08-11 14:59:15 -04:00
Calvin Lee
a8c1e8ce69 Add user data to wlr_* structs
Resolves #68
2017-08-11 20:44:17 +02:00
nyorain
ed2fc30625 Fix wlr_surface invalid values 2017-08-11 20:30:42 +02:00
Drew DeVault
62d8b252c0 Refactor meson and move xdg-shell into wlroots 2017-08-11 09:37:09 -04:00
Drew DeVault
c24351681f Refactor EGL handling 2017-08-10 22:15:37 -04:00
Drew DeVault
7095274a9e Merge branch 'master' into drm_buffer 2017-08-10 13:19:39 -04:00
Drew DeVault
7da43ff8b0 Implement wlr_surface_flush_damage 2017-08-10 08:26:16 -04:00
nyorain
31d78ff497 Fix wlr_surface destruction bug 2017-08-10 12:42:35 +02:00
Tony Crisci
14654ecb77 implement compositor create region
Complete the implementation of wlr_region_create and put it in the compositor.
2017-08-10 05:59:43 -04:00
nyorain
1901c3e1b6 Fix example for updated gles 2017-08-10 11:03:58 +02:00
nyorain
67369173aa Implement drm (egl) buffer attaching 2017-08-10 10:59:58 +02:00
Drew DeVault
750d0ad458 Flesh out wlr_surface state lifecycle a bit
Sprinked some TODOs around for future work
2017-08-09 23:34:50 -04:00
Drew DeVault
4de930542f Implement partial texture uploads 2017-08-09 22:17:40 -04:00
Tony Crisci
8306f46dfb implement surface frame
The surface frame callback lets a window know when it is a good time to show the
next frame if it is animating. In particular, this callback is used by
weston-simple-shm to throttle drawing.
2017-08-09 17:31:38 -04:00
nyorain
cf9ee6ce3f Move wlr_surface into wlr 2017-08-09 17:27:12 +02:00
nyorain
1bea754521 Implement wlr_region using pixman 2017-08-09 17:05:55 +02:00
Scott Anderson
af67966d92 Atomic modesetting 2017-08-09 08:07:00 -04:00
nyorain
e167f41fde Rename wlr_surface -> wlr_texture; attach -> upload 2017-08-08 18:25:16 +02:00
Drew DeVault
7486263f7e Add xcursor sublibrary 2017-08-07 21:13:04 -04:00
Scott Anderson
d09ca20a4d Use gbm_bo_map for cursor 2017-08-07 21:07:42 +12:00
Scott Anderson
5a636b21ba Remove old fields 2017-08-06 21:51:34 +12:00
Scott Anderson
5f7042a1f2 Moved headers 2017-08-06 21:49:04 +12:00
Scott Anderson
1db97a9af9 Updated DRM cursor rendering 2017-08-06 21:38:40 +12:00
Scott Anderson
7b772e1a4b DRM resource initalisation 2017-08-06 15:49:02 +12:00
Drew DeVault
5bf61ca7ed Check for multi backend before using it 2017-08-05 23:08:35 -04:00
Scott Anderson
4d4da18437 Fixed VT switching 2017-08-06 13:37:49 +12:00
Scott Anderson
cb4d50e22c Changed header paths. 2017-08-06 13:25:26 +12:00
Scott Anderson
2ae5cd6539 Moved session/ into backend/ 2017-08-06 13:25:26 +12:00
Scott Anderson
ae4478e17f Changed ownership of wlr_session to the multi backend.
Currently breaks VT switching for examples.
2017-08-06 13:25:26 +12:00
Tony Crisci
effea557bb Implement destroying surfaces
Add a signal for wlr_surface destruction on the wlr_surface that compositors
can listen to to remove the surface from their state.

Implement a listener for this in the example wl_compositor to remove the
surface from its internal list of surfaces.

Destroy the surface in the compositor destroy_surface callback given when the
surface resource was created.

Add a reference to the surface resource to the wlr_surface so a compositor can
find it in its list of resources upon wlr_resource destruction.
2017-08-04 11:53:55 -04:00
Drew DeVault
e92a65fee8 Remove use of missing header 2017-07-12 09:49:26 -04:00
Scott Anderson
8189c64d7f Fixed that warnings that showed up with optimisations. 2017-07-11 00:14:55 +12:00
Scott Anderson
5b8ec107b9 Session documentation. 2017-07-09 23:02:41 +12:00
Scott Anderson
3779ef802d Stop remembering the drm fd in child. 2017-07-09 22:23:54 +12:00
Scott Anderson
2f2c8205d8 Moved IPC to its own file. 2017-07-09 22:12:50 +12:00
Scott Anderson
bd5bca5283 Added public fields to wlr_session 2017-07-09 17:53:13 +12:00
Drew DeVault
8920b5d607 Merge branch 'wlcore' 2017-06-29 16:00:24 -04:00
Drew DeVault
18e6ddc1c5 Remove wlr_compositor 2017-06-28 17:25:01 -04:00
Drew DeVault
f5b7bc033e Add wlr_wl_compositor and remove wlr_wl_shm 2017-06-26 10:26:55 -04:00
Scott Anderson
0cd94f0cf0 Added software cursor fallback 2017-06-26 17:34:15 +12:00
Drew DeVault
8a18cf456a Remove endian.h
Fuck big endian systems anyway
2017-06-23 14:46:18 -04:00
Drew DeVault
5a2796266f Support wl_shm pixel formats in gles2 renderer 2017-06-23 14:25:55 -04:00
Drew DeVault
2aafb5dd19 Add wlcore/wl_shm (WIP) 2017-06-23 13:41:07 -04:00
Drew DeVault
b18209c904 Switch to GLES2
Closes #13
2017-06-23 11:38:45 -04:00
Drew DeVault
168f0955ab Add wl_output globals for wlr_outputs 2017-06-22 14:27:35 -04:00
nyorain
dbde1f7340 Store wayland backend axis source 2017-06-22 17:58:53 +02:00
nyorain
272030652a Implement absolute motion events for wayland 2017-06-22 17:55:00 +02:00
nyorain
c1520077b6 Implement wayland backend input events 2017-06-22 16:53:48 +02:00
Drew DeVault
3d71969b2a Make event names consistent 2017-06-21 14:07:09 -04:00
Drew DeVault
f4453d104d Reorganize wlr-common 2017-06-21 12:10:07 -04:00
Drew DeVault
fd91244e83 Update everyone to use new headers 2017-06-21 10:27:45 -04:00
Drew DeVault
53a8b4f127 Split out types.h and wlr/types.h
TODO: Update the code accordingly and move other types into the same
paradigm
2017-06-21 10:10:04 -04:00
Scott Anderson
55854565dc Fixed VT switching 2017-06-21 13:31:29 +12:00
Scott Anderson
091de12bf4 Changed session signal to only emit on DRM changes 2017-06-21 12:47:53 +12:00
Drew DeVault
c2d0090ad7 Support multiple wl backend outputs 2017-06-20 18:22:21 -04:00
Drew DeVault
b9d36c8149 Add dynamic output resizing for Wayland backend
This allows outputs to:
- Not support modesetting
- Resize themselves
2017-06-20 17:51:45 -04:00
nyorain
50ce35e9da Implement wayland backend output 2017-06-20 18:27:05 +02:00
nyorain
62b1421635 Make egl_error function part of the egl interface
The function may be useful for backends using egl.
2017-06-20 18:26:29 +02:00
nyorain
792d535225 Rework wayland backend output implementation 2017-06-19 22:36:40 +02:00
nyorain
e65ca967f9 Merge branch 'master' into wayland-backend 2017-06-19 21:22:42 +02:00
Drew DeVault
41b5294013 Merge pull request #16 from nyorain/master
Make logging ninja friendly
2017-06-19 15:18:48 -04:00
Drew DeVault
632a04f1b7 Implement keyboard LEDs 2017-06-19 15:15:37 -04:00
Drew DeVault
ecb04afcad Implement tablet pads 2017-06-19 14:49:07 -04:00
nyorain
acbc0a019a Make logging ninja friendly
When building with ninja instead of make __FILE__ will be relative
and logging therefore break. This moves stripping the path
from __FILE__ to runtime and handles a relative filepath as
well as a full one.
2017-06-19 20:01:35 +02:00
nyorain
8fbf1ca3ff Continue wayland backend update
Update wayland backend to new api.
Start to use the input interfaces.
Compiling now, not tested.
2017-06-19 19:05:10 +02:00
nyorain
41a477375c Merge branch 'libinput' into wayland-backend 2017-06-19 17:49:26 +02:00
nyorain
904739c405 Start to fix wayland backend
Starts to update the wayland backend to the new backend api.
Not yet updated to libinput branch (not yet compiling).
2017-06-19 17:46:50 +02:00
Drew DeVault
7e038a6110 Add (broken) DRM hardware cursors 2017-06-16 15:38:34 -04:00
Drew DeVault
2443a070e7 Add colored quad and ellipse rendering primitives 2017-06-15 15:31:13 -04:00
Drew DeVault
4a9966b1a4 Implement wlr_tablet_tool 2017-06-15 14:32:53 -04:00
Drew DeVault
3f24f8a1be Flesh out touch events and add demo 2017-06-14 14:50:09 -04:00
Drew DeVault
d6905f86cb Allocate wlr_touch devices 2017-06-14 11:40:03 -04:00
Drew DeVault
a63230e59c Implement libinput wlr_pointer 2017-06-13 11:05:45 -04:00
Drew DeVault
e257afeb7e Establish multi backend support 2017-06-13 08:10:36 -04:00
Drew DeVault
5dd96c0772 Incorporate XKBCommon into example 2017-06-13 08:10:36 -04:00
Drew DeVault
7a5f35b5bb Reassign ownership of libinput handle 2017-06-13 08:10:36 -04:00
Drew DeVault
f479b7c8c7 Split keyboard code out into its own file 2017-06-13 08:10:36 -04:00
Drew DeVault
59ceaf507e Handle key presses 2017-06-13 08:10:36 -04:00
Drew DeVault
0e75d157f5 Initialize keyboards from libinput 2017-06-13 08:10:36 -04:00
Drew DeVault
019fff06be Fix issues, flesh out event handling somewhat 2017-06-13 08:10:36 -04:00
Drew DeVault
af69591e62 Add error handling and init in backend_autocreate 2017-06-13 08:10:36 -04:00
Drew DeVault
1262f1400c Initial pass on libinput backend 2017-06-13 08:10:22 -04:00
Drew DeVault
325a331425 Fix some build errors 2017-06-12 22:45:25 -04:00
Drew DeVault
2b06f88f0b Combine internal DRM headers into one
Everything always just included both anyway
2017-06-10 12:30:02 -04:00
Drew DeVault
2b909e1729 Add error "handling" to gles3 backend 2017-06-09 10:28:50 -04:00
Scott Anderson
63c3faa006 Fixed rendering bug: Delay calling gbm_surface_release_buffer until it
has been scanned out.
2017-06-09 17:15:55 +12:00
Drew DeVault
cd6a40d816 Further improvements to rendering subsystem 2017-06-08 15:52:42 -04:00
Drew DeVault
83f8864f0a Add wlr_renderer and move quad rendering there 2017-06-08 12:02:51 -04:00
Drew DeVault
211488131f Add wlr_shader to wlr-render 2017-06-08 11:30:38 -04:00
Drew DeVault
fc1dc1b5b0 Use constant VBO for quad, add matrix stuff 2017-06-07 21:35:07 -04:00
Scott Anderson
382f712792 Merge remote-tracking branch 'upstream/master' into rotation 2017-06-08 00:52:33 +12:00
Scott Anderson
632a7acb03 Filled out more wlr_output fields. 2017-06-08 00:39:40 +12:00
Scott Anderson
53dd622263 Provide user with transformation matrix 2017-06-07 16:43:57 +12:00
Drew DeVault
6f5c70ac69 Let backend track transform state
This will be necessary to provide it to clients via wl_output.
2017-06-06 11:48:30 -04:00
Scott Anderson
c97de93fe1 Added output rotation example 2017-06-05 22:48:51 +12:00
Scott Anderson
b537656b4b Removed inline function 2017-06-05 15:09:41 +12:00
Scott Anderson
cf07a9fc4f Logging improvements 2017-06-05 14:50:33 +12:00
Drew DeVault
7d82476590 Refactor type implementations 2017-06-04 19:30:50 -04:00
Scott Anderson
5df56653ab Changed invalidate interface. 2017-06-04 17:43:34 +12:00
Scott Anderson
de44994dfc Udev event device matching 2017-06-03 15:47:33 +12:00
Drew DeVault
40b85d992a Refactor udev and drm initialization 2017-06-01 20:29:10 -04:00
ascent12
62d612a01e Merge branch 'master' into session 2017-06-01 23:10:19 +12:00
Drew DeVault
e2ee67125e s/wayland.h/types.h/g 2017-05-31 16:24:32 -04:00
Drew DeVault
c7f6981d9c Clean up outputs on exit 2017-05-31 16:17:04 -04:00
Drew DeVault
fee409bd0a Generalize DPMS, remove DRM refs from example 2017-05-31 15:38:26 -04:00
Drew DeVault
03c9b46034 Have backend manage opengl context 2017-05-31 15:15:42 -04:00
Scott Anderson
f9d363fece Added device matching 2017-05-14 13:07:34 +12:00
Scott Anderson
7efdd3c9fc Refactored renderer startup to function. 2017-05-14 12:48:47 +12:00
Scott Anderson
058b8bdf27 Working commit 2017-05-14 12:42:49 +12:00
Scott Anderson
c88f252580 Initial D-Bus signal support. 2017-05-14 12:40:17 +12:00
Scott Anderson
599d1bcbdc DPMS support 2017-05-13 20:37:15 +12:00
Drew DeVault
00931f2f8f Generalize output handling 2017-05-07 12:26:48 -04:00
Drew DeVault
15b1ce9e6c Refactor backend state management 2017-05-07 10:12:54 -04:00
Scott Anderson
7e9feb70a0 Fixed hotplugging + make EGL more chatty. 2017-05-04 21:58:11 +12:00
Scott Anderson
4285b0c218 Removed unused fields. 2017-05-03 22:50:18 +12:00
Scott Anderson
ef9768858e Changed modesetting interface. 2017-05-03 22:41:49 +12:00
Scott Anderson
d196a79b6c Changed backend to accept wl_display. 2017-05-03 21:28:44 +12:00
Scott Anderson
0002b8dd08 Added 'direct' session backend 2017-05-03 19:26:43 +12:00
Scott Anderson
18387468bb Renamed 'wlr_drm_display' to 'wlr_drm_output' 2017-05-03 17:49:03 +12:00
Scott Anderson
15d247bf34 Changed drm to use new EGL interface. 2017-05-03 17:17:14 +12:00
Scott Anderson
dbceaee9fa Added EGL interface for backends. 2017-05-03 17:04:41 +12:00
Scott Anderson
81998fdc98 Removed old session code from DRM backend. 2017-05-03 16:23:07 +12:00
Scott Anderson
762ac7f4c0 New session interface. 2017-05-03 14:11:22 +12:00
Scott Anderson
e446a5300b Added example. 2017-05-02 18:13:17 +12:00
Scott Anderson
e9d716fc0c Changed display to use list_t. 2017-05-02 14:34:33 +12:00
Scott Anderson
115d4ae637 Changed events to use wayland functions. 2017-05-02 14:08:34 +12:00
Scott Anderson
562d43a5ec Changed logging. 2017-05-02 13:00:25 +12:00
Scott Anderson
41a82fd2fc Renaming. 2017-05-01 17:49:18 +12:00
Scott Anderson
95a553dc51 Moved headers to the correct place. 2017-05-01 15:33:42 +12:00
Drew DeVault
1aed987301 Add free functions for allocated resources 2017-04-25 21:26:29 -04:00
Drew DeVault
5ca9d612f4 Flesh out wayland backend registry 2017-04-25 19:19:21 -04:00
Drew DeVault
de01e654ce Flesh out wayland backend somewhat, add example 2017-04-25 15:06:58 -04:00
Drew DeVault
52e6ed54cb Initial commit 2017-04-25 11:32:52 -04:00