1897 Commits (26eac25d7f7d25a5bfbeb308aa09de618a1384ef)

Author SHA1 Message Date
Ryan Dwyer dc58c1356d Introduce set_hints event for xwayland
6 years ago
Markus Ongyerth 454f2a84a8 tablet-v2 tablet_pad grab implementation
6 years ago
emersion 153f37bdf5 xwayland: handle override_redirect flag changes
6 years ago
emersion 16d7e09d99 surface: add wlr_surface_role.precommit
6 years ago
Markus Ongyerth 9a6f77fc2c tablet-v2: fix merge commits and test again
6 years ago
Markus Ongyerth 43b20bfea2 First feedback pass from acrisci
6 years ago
Markus Ongyerth d9e978e1b3 rename wlr_tablet_tool to wlr_tablet
6 years ago
Markus Ongyerth 6b51f3b57a use previous resource versions and destroy pads
6 years ago
Markus Ongyerth 48e2cba9b6 Handle relative motion for mouse tools
6 years ago
Markus Ongyerth 5cbdd13df8 remove unused wl_listener
6 years ago
Markus Ongyerth 2bc09d91c3 Silent conversion from double to int should be illegal
6 years ago
Markus Ongyerth dc525a9c5f Clean up serial handling and automate proximity acompaning events
6 years ago
Markus Ongyerth 25c2808153 Clean up serial handling
6 years ago
Markus Ongyerth 2c12011472 Send all tablet tool axis events
6 years ago
Markus Ongyerth b79d11395c Hook up set_cursor in rootston
6 years ago
Markus Ongyerth 0c9a26828a Use wlr_list for paths, and improve inert resource handling
6 years ago
Markus Ongyerth 31cec36b74 1st feedback pass
6 years ago
Markus Ongyerth 5c7a37f309 Add tool buttons
6 years ago
Markus Ongyerth 391eef6ea9 Propagate most axis events to clients
6 years ago
Markus Ongyerth f375246657 Implement basic tablet_pad handling (bound to keyboard focus)
6 years ago
Markus Ongyerth e235f7d336 Basic tablet_v2 object lifetime
6 years ago
Markus Ongyerth 77bac448cc storage commit #2
6 years ago
Markus Ongyerth 000b305ecc backend/libinput: Manage tablet tool livetimes
6 years ago
emersion 5bb272d7f3 surface: add wlr_surface.opaque_region
6 years ago
emersion c4915d1492 render: add wlr_texture_is_opaque
6 years ago
Drew DeVault c0b4217fce
Merge pull request #1116 from emersion/surface-role
6 years ago
emersion 7cbef15206
util: add wlr_ prefix to log symbols
6 years ago
emersion deeca53e33
Rename wl_resources to resource, wl_global to global
6 years ago
emersion c19d475753
xdg-output: don't send no-op updates
6 years ago
emersion 33db4263a0
surface: replace wlr_surface_set_role_committed with wlr_surface_role
6 years ago
emersion 226306ed45
surface: rename wlr_surface_state.buffer to buffer_resource
6 years ago
emersion 012e38fbe5
surface: add wlr_surface.previous
6 years ago
emersion 78555abba3
surface: move position and scale out of wlr_surface_state
6 years ago
emersion 233bfe2f4f
surface: do not monkey-patch state damage
6 years ago
emersion adf0423f7c
surface: better buffer position handling
6 years ago
emersion e6399c61b7
surface: fix WLR_SURFACE_STATE_BUFFER_DAMAGE value
6 years ago
emersion 3c0d672ebd
surface: make pending and current embedded structs
6 years ago
emersion 64836ddfe7
surface: remove wlr_surface_state.subsurface_position
6 years ago
emersion 3ee86b6105
surface: rename invalid state
6 years ago
Ryan Dwyer 86f401e827 Introduce wlr_xdg_surface_for_each_popup
6 years ago
emersion dbb01cbcd0
screencopy: listen to buffer destroy
6 years ago
emersion c421700f3d
screncopy: update protocol
6 years ago
emersion bf7560b7cd
screencopy: add capture_output_region support
6 years ago
emersion 2b9cbaddf3
screencopy: add support for frame flags
6 years ago
emersion 73755ad348
screencopy-v1: add basic implementation
6 years ago
Dominique Martinet c263f7ca29 s/wlr_subsurface_from_surface/wlr_subsurface_from_wlr_surface/
6 years ago
Dominique Martinet 0ced9df350 wlr_idle_inhibit_v1: add *data pointer to wlr structs
7 years ago
Dominique Martinet d0b902b962 wlr_idle: add helper to enable/disable all timers
7 years ago
Drew DeVault e459fe0ec7
Merge pull request #992 from emersion/screencontent
7 years ago
emersion 0e3b35c87e
Merge pull request #1072 from emersion/surface-remove-matrices
7 years ago
emersion 831b7297a4
surface: remove matrices
7 years ago
emersion a6c0e25d36
surface: remove wlr_frame_callback
7 years ago
emersion 57548b557a
Merge branch 'master' into screencontent
7 years ago
Drew DeVault fb118ac996
Merge pull request #1062 from emersion/wlr-buffer-comeback
7 years ago
Scott Anderson 47985d2dc5 Multiseat fixes
7 years ago
emersion 0378d143d9
surface: remove wlr_surface.texture
7 years ago
Drew DeVault 5e4af4862e
Merge pull request #1050 from emersion/wlr-buffer
7 years ago
emersion 38d415dd20
buffer: make wlr_buffer_ref return the buffer
7 years ago
Vincent Vanlaer f1a62a3200 Rename egl.exts to match the extension names
7 years ago
emersion 9ea5b1a85e
Merge branch 'master' into wlr-buffer
7 years ago
Vincent Vanlaer 5ec6d8230d Split eglSwapBuffersWithDamage feature detection
7 years ago
emersion 7d24af43e5
buffer: improve docs
7 years ago
emersion e4933ab445
Introduce wlr_buffer
7 years ago
emersion 457bfcab19
render/egl: only request high priority context on DRM
7 years ago
emersion d425edc96c
render/egl: consistent extension checking
7 years ago
emersion cbfe0e834a
Request a high priority EGL context
7 years ago
emersion 32f9699359
Merge pull request #1029 from emersion/wl-backend-keyboard-focus-keys
7 years ago
emersion 6f895081e1
Merge pull request #1043 from acrisci/drag-icon-unmap
7 years ago
Ilia Bozhinov a989104a6b xdg-shells: add a set_parent signal to toplevel surfaces
7 years ago
Tony Crisci 319ebdf476 add back map event
7 years ago
Tony Crisci 1c75d4e54a rename drag-icon map to unmap
7 years ago
emersion 78966417f4
Merge pull request #1031 from martinetd/multibind-seat
7 years ago
Dominique Martinet 51b9883ea0 seat: allow clients to bind to seat multiple times
7 years ago
Tony Crisci 58d549c98a add data to wlr_drag_icon
7 years ago
emersion 551700e887
backend/wayland: fix keyboard keys not pressed/released when focus changes
7 years ago
Timidger 2eb8b240e1
Added data field to wlr_subsurface
7 years ago
Markus Ongyerth 3994762ae0 Add wlr_surface_get_geometry
7 years ago
emersion 21928cbe61
Merge branch 'master' into screencontent
7 years ago
emersion 135721118a
render: remove wlr_renderer_check_import_dmabuf
7 years ago
emersion 28020ff577
Only allow one modifier per DMA-BUF, split attributes struct in render/
7 years ago
emersion 00e108f2fc
export-dmabuf: correctly finish wlr_linux_dmabuf_attribs
7 years ago
emersion e26f4dff98
export-dmabuf: wait for the frame to be ready, send timestamp
7 years ago
emersion 5ba1a9af56
render: add wlr_texture_to_dmabuf
7 years ago
emersion 36bd4795d4
export-dmabuf: add basic and incomplete implementation
7 years ago
emersion 9e26808c28
output, backend/drm: add wlr_output_export_dmabuf
7 years ago
emersion e1f56538a8
Merge pull request #999 from dcz-purism/virtual-keyboard
7 years ago
Tony Crisci 044fa52be4 reword new_surface docs
7 years ago
Tony Crisci c27cd5f065 document the map/unmap xdg-shell events
7 years ago
Dorota Czaplejewicz 5334ee8bfd virtual-keyboard: add support for the virtual-keyboard-v1 protocol
7 years ago
emersion 47f097e09b
xdg-shell: add wlr_xdg_toplevel_set_tiled
7 years ago
Tony Crisci 9971d06afb document key and modifier signals
7 years ago
emersion 6eb4b5b54d
Merge pull request #993 from emersion/bind-wl-drm-in-renderer
7 years ago
Ilia Bozhinov 24cf70ae96 backends: implement custom EGL and renderer initialization
7 years ago
emersion 41130fe54b
render: bind wl_drm in renderer
7 years ago
emersion 52bd8aa716
backend/multi: disallow multiple renderers at the same time
7 years ago
emersion facc5aa359
xdg-shell-v6: split into separate files
7 years ago
emersion db84379242
Send axis source event
7 years ago
emersion 0b58579564
Add support for discrete axis values
7 years ago
emersion cf5013416d
xdg-output: redesign resource destroy
7 years ago
Vincent Vanlaer 72a75b3a72 Fix Xwayland cleanup
7 years ago
emersion 13098a18ea
Fix hardware cursors scale & transform
7 years ago
emersion 8e831cd416
Merge pull request #959 from VincentVanlaer/xwayland-lazy
7 years ago
Vincent Vanlaer 119a6cf35c Make xwayland_finish* clean up wlr_xwayland
7 years ago
Markus Ongyerth 8931452e1d add wlr_layer_surface_surface_at
7 years ago
Vincent Vanlaer c80bf1591e Allow xwayland to start lazily
7 years ago
emersion 5087199d5d
output-damage: limit the number of damaged rectangles
7 years ago
emersion cf10cbc00c
Use UTF-8 xwayland window title if available
7 years ago
emersion caf9f9022c
Merge pull request #936 from emersion/full-hardware-cursors
7 years ago
Drew DeVault 57d03a3eda
Merge pull request #931 from emersion/redesign-resource-destroy
7 years ago
morganamilo 6305e6327f
Fix typos in comments and strings
7 years ago
emersion 5d37b14116
data-device: make sure resources are correctly destroyed
7 years ago
emersion ff4708d406
linux-dmabuf: correctly destroy resources
7 years ago
emersion 2cff6dbd63
seat: split into multiple files
7 years ago
emersion 225d182765
output: always use hardware cursors if available
7 years ago
emersion 9f8a7c8fc4
backend/wayland: create one virtual pointer per output
7 years ago
emersion 2551ef8871
input-device: add output_name field, populate it from libinput
7 years ago
Drew DeVault a0f4903063
Merge pull request #926 from emersion/fix-x11-backend-memory-leaks
7 years ago
emersion f8e0a03451
backend/x11: correctly destroy input devices
7 years ago
emersion 6e7c0b57f6
cursor: use NAN for unspecified axes, refactor absolute warping code
7 years ago
emersion 43012f3740
compositor: redesign how resources are managed
7 years ago
Ryan Dwyer daa1ee35be Make WLR_DIRECTION enum powers of 2
7 years ago
Drew DeVault fecb971518
Merge pull request #902 from emersion/various-memory-leaks
7 years ago
Drew DeVault 25dddc0094
Merge pull request #911 from RyanDwyer/fix-output-direction
7 years ago
Ryan Dwyer de97f90246 Fix WLR_DIRECTION enums.
7 years ago
emersion 449f06556a
Destroy wlr_surface with wlr_renderer
7 years ago
emersion d47713ac0f
compositor: destroy subsurface resources with wlr_subcompositor
7 years ago
emersion 89a9c96fab
compositor: make wlr_compositor_destroy destroy resources
7 years ago
emersion b0d99f5c67
Remove wlr_ prefix from local symbols
7 years ago
Drew DeVault 097561d6bf
Merge pull request #901 from emersion/layer-shell-minor-memory-leak
7 years ago
emersion 018b82c01e
render/egl: allow passing NULL to surface and image destructors
7 years ago
emersion eaed6bd03b
render/egl: add wlr_egl_destroy_surface
7 years ago
emersion 8e2f3056f8
layer-shell: fix small memory leak
7 years ago
Drew DeVault 0a0627f5d0 Finish forward-porting @acrisci's positioner work
7 years ago
Drew DeVault 2e3d901ac5 Forward-port xdg-shell-v6 positioner improvements
7 years ago
Drew DeVault 278aa84619 Basic layer popup rendering
7 years ago
Drew DeVault d3cdb00208 Add (shitty) support for popups to layer example
7 years ago
Drew DeVault 6b7b64ec1e Generalize xdg-shell popups and add to layer-shell
7 years ago
Drew DeVault 177b548b15 Update layer shell with optional wl_output
7 years ago
emersion bfcd3f3707
Add wlr_subcompositor
7 years ago
emersion fa84b267e0
Remove wlr_surface::subsurface
7 years ago
emersion 70d820be25
Add wlr_renderer_init_wl_shm to advertize supported renderer formats
7 years ago
emersion 94fa6c88f4
output: don't emit the mode event if it hasn't changed
7 years ago
emersion bcf5da5cd7
Merge pull request #866 from emersion/xwayland-unmapped-on-create
7 years ago
emersion fa02e30adf
xwayland: emit new_surface when unmapped
7 years ago
Drew DeVault 4dbf7f8b88
Merge pull request #865 from martinetd/str_truncation
7 years ago
Dominique Martinet 555206cf60 Fix gcc string truncation warnings
7 years ago
emersion 8dec7036d0
Always unmap before destroying surface
7 years ago
emersion 17d0440b75
Add wlr_xwayland_surface_ping
7 years ago
emersion d2ebbd103c
backend: remove wlr_backend_get_egl
7 years ago
Drew DeVault ae4cef9e41
Merge pull request #825 from emersion/surface-iterators
7 years ago
Drew DeVault 6710de9878 Merge branch 'master' into xwayland-dnd
7 years ago
emersion 4a9a9eae9a
Add surface iterators
7 years ago
emersion 19b576734e
Merge pull request #834 from emersion/surface-is-subsurface
7 years ago
emersion aced024819
Add wlr_surface_is_subsurface and wlr_subsurface_from_surface
7 years ago
Drew DeVault da73b4f60b
Merge pull request #830 from swaywm/xdg-output
7 years ago
Drew DeVault abfe7923c4 Add wlr_xdg_output_manager
7 years ago
Timidger 527cc702d9
Added userdata to wlr_output_layout
7 years ago
emersion 3ea425d4e2
Fix xdg-shell popups, add wlr_xdg_surface_surface_at
7 years ago
emersion c9d21106b4
Add wlr_xdg_surface_v6_surface_at and wlr_wl_shell_surface_surface_at
7 years ago
emersion 1a8b24bdd2
rootston: fix view_at
7 years ago
emersion d16127b3cb
Fix wlr_surface_subsurface_at, change it to be wlr_surface_surface_at
7 years ago
emersion 9b440edaf4
output: document wlr_output_set_custom_mode
7 years ago
Drew DeVault 2ecce27dd5
Merge pull request #807 from swaywm/input-inhibit
7 years ago
Timidger 920ab9f108
Added user data field for wlr_cursor
7 years ago
Drew DeVault 56deff41b6 Implement input inhibit in rootston
7 years ago
Drew DeVault ef4e833f13 Add wlr_input_inhibitor
7 years ago
emersion 41fccb8507
Merge branch 'master' into xwayland-dnd
7 years ago
Danilo Spinella f83ad3f3ef Install include directory into includedir
7 years ago
emersion 58ac05c276
Merge branch 'master' into xwayland-dnd
7 years ago
Drew DeVault 506acbdecd Missed a spot
7 years ago
Drew DeVault 333ab59902 Add wlr_surface_is_*_surface
7 years ago
emersion 8836b4f024
Merge branch 'master' into xwayland-dnd
7 years ago
Drew DeVault 1f4a4a8641
Merge pull request #800 from emersion/untie-gles2-renderer-texture
7 years ago
emersion f3f61bed3e
Untie wlr_gles2_renderer and wlr_gles2_texture
7 years ago
Tony Crisci 5a47da1ea6 annotate wlr-output-layout coord variables
7 years ago
emersion a7bb48b404
render/egl: add wlr_egl_create_image_from_wl_drm
7 years ago
emersion 33a2eb4b77
Untie wlr_backend from wlr_renderer
7 years ago
Drew DeVault 96c6091f80
Merge pull request #786 from emersion/x11-backend-multiple-outputs
7 years ago
emersion 90fbab6f39
xwyaland: fix style issues
7 years ago
emersion 0a7a8cbd1c
backend/x11: add WLR_X11_OUTPUTS support
7 years ago
Drew DeVault e19ee6d469 Add wlr_surface_point_accepts_input
7 years ago
Tony Crisci 212d957c69
Merge pull request #779 from emersion/xwayland-map-consistency
7 years ago
emersion 47a529a69c
output-damage: fix missing wlr_box include
7 years ago
emersion 865b0aa123
xwayland: rename map_notify to map for consistency
7 years ago
emersion d5f46f4db4
data-device: redesign wlr_data_source
7 years ago
Drew DeVault 4137d9fc80 Destroy layer surfaces on client destroyed
7 years ago
emersion 743466d475
data-device: add seat.drag_source
7 years ago
emersion a316396eab
Merge pull request #720 from acrisci/xdg-positioner
7 years ago
Tony Crisci 2e63d1a0ca toplevel_box to toplevel_sx_box
7 years ago
Tony Crisci 967bccffcd remove xdg-positioner wlr wrappers
7 years ago
Tony Crisci 376d1cc0da rename xdg-positioner structs
7 years ago
Tony Crisci dbffda7549 xdg-positioner wlr abstractions
7 years ago
emersion 2a34b154e6
xwayland: send DND_DROP
7 years ago
emersion 73394deb76
xwayland: send DND_POSITION
7 years ago
emersion 0d7a81ccdf
xwayland: send DND_ENTER
7 years ago
Drew DeVault 32bdcdf719 Address review feedback
7 years ago
Drew DeVault ac219cbda6 Remove width_mm from tablet events
7 years ago
Drew DeVault 324b9d910d Remove width_mm from wlr_touch events
7 years ago
Drew DeVault a35a5786b0 Remove width_mm from wlr_pointer events
7 years ago
Tony Crisci 41e54ba632 Merge branch 'master' into xdg-positioner
7 years ago
Tony Crisci 330ee08126
Merge pull request #744 from emersion/texture-redesign
7 years ago
Drew DeVault 96a8df2f9a Fix ack configure/configure flow
7 years ago
Drew DeVault 52fe2688ea Address @emersion's feedback
7 years ago
Drew DeVault 13edb19a6c Fix issue starting up client EGL on X11 backend
7 years ago
Drew DeVault 86ca4bea6d Fix layer rendering/layout bugs
7 years ago
Drew DeVault d1c0e6fe2c Add layer_surface.close
7 years ago
Drew DeVault 4bf936360d Arrange & render layer surfaces
7 years ago
Drew DeVault 88eec637a4 Address feedback
7 years ago
Drew DeVault 1628730b09 Add wlr_layer_surface_configure
7 years ago
Drew DeVault b06105b564 Implement layer surface requests
7 years ago
Drew DeVault 3ba57fccd1 Wire up layer surface resources to stubs
7 years ago
Drew DeVault f29d8b55ae Initial scaffolding of layer shell
7 years ago
emersion c42fd1018b
render: remove GL calls from wlr_egl
7 years ago
Tony Crisci 8371e2f41d implement flip_x
7 years ago
Drew DeVault 1ed90541f9
Merge pull request #753 from emersion/xdg-shell-unmap-destroy
7 years ago
emersion 171e28eaff
xdg-shell: don't destroy role resources on unmap, move toplevel fields
7 years ago
Drew DeVault ac715969ac Improve documentation of wlr_cursor
7 years ago
Tony Crisci bbd0e23fa7 xdg-positioner constraint detection
7 years ago
emersion a918ec877e
xdg-shell-v6, xdg-shell: explain what popup geometry is
7 years ago
emersion 334bab543d
xdg-shell-v6: move toplevel specific fields in wlr_xdg_toplevel_v6
7 years ago
emersion adf4fb08dd
Merge branch 'master' into texture-redesign
7 years ago
emersion 5233801530
xdg-shell-v6: don't destroy role resources on unmap
7 years ago
Drew DeVault 891610081f
Merge pull request #751 from emersion/rotated-surface-damage
7 years ago
emersion 4555fc8a54
Fix damage tracking for rotated surfaces
7 years ago
Tony Crisci 4da18f7fc3 xdg-positioner attrs
7 years ago
emersion 793c3b3047
render: add simple functions to render rectangles and ellipses
7 years ago
emersion c63d94483b
Redesign wlr_texture
7 years ago
Tony Crisci f53575e3a3 unified xdg-surface close
7 years ago
Tony Crisci 30b8fb5572 Merge branch 'master' into xdg-positioner
7 years ago
emersion a854c2f246
Merge branch 'master' into gles2-renderer-redesign
7 years ago
Drew DeVault ef3769851f
Merge pull request #740 from emersion/egl-debug
7 years ago
Dominique Martinet de955a0f63 xdg_popup_grab: add listener on seat destroy
7 years ago
emersion b1f93bc5cc
render/egl: use EGL_KHR_debug
7 years ago
emersion 3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
7 years ago
emersion 95e86e675a
render/gles2: remove global state, use OpenGL debug extension
7 years ago
emersion c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
Drew DeVault a76cef475b
Merge pull request #733 from emersion/fix-matrix-transpose
7 years ago
Drew DeVault 8d490fdb34 Write some more docs
7 years ago
emersion 6ecb0eefcb
render/gles2: transpose matrices before binding them
7 years ago
Drew DeVault 1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
7 years ago
Tony Crisci 09413aa7f1
Merge pull request #711 from emersion/map-unmap
7 years ago
emersion 7894fca224
matrix: rename wlr_matrix_texture to wlr_matrix_projection
7 years ago
emersion e607d0f7ee
xdg-shell: add map/unmap support
7 years ago
emersion 876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
7 years ago
emersion 1914a1aa2b
surface: drop wlr_surface_get_matrix
7 years ago
emersion 8b58e1a3ad
Merge branch 'master' into matrix-redesign
7 years ago
emersion 824a95ad19
matrix: use 2D matrices
7 years ago
emersion de0e40d621
Merge pull request #698 from agx/linux-dmabuf
7 years ago
Guido Günther 14cdb6153f Add initial linux_dmabuf protocol support
7 years ago
emersion d26b67cb06
matrix: unify API, don't use array pointers
7 years ago
emersion b6a3f240c7
matrix: move to types/
7 years ago
Tony Crisci 8836b167bf store xdg-positioner properties on the popup
7 years ago
emersion ace738dbca
xdg-shell-v6: next_geometry and geometry fields are not longer pointers in wlr_xdg_surface_v6
7 years ago
emersion 149209b72e
xdg-shell-v6: rename toplevel and popup fields in wlr_xdg_surface_v6 for consistency
7 years ago
emersion 657e5c8c0d
xdg-shell-v6: changed wlr_xdg_surface_v6_configure.toplevel_state to be NULL if surface isn't a toplevel
7 years ago
emersion e74ddaaf10
xdg-shell-v6: redesign the configure/ack_configure workflow
7 years ago
Guido Günther 2d0db16942 render: Flip textures in case of inverted_y
7 years ago
emersion 3f072bedd9
xdg-shell-v6: add map signal
7 years ago
Drew DeVault bfc0e95d2c Add mode support to libinput backend
7 years ago
Scott Anderson 3c9fc7c68e Add const to x11 and input interfaces
7 years ago
Dominique Martinet 7d1870c6f1 move xwm.h out of include/wlr
7 years ago
emersion c2ba1869ce
Merge pull request #670 from Ongy/xwayland_unmanaged
7 years ago
Markus Ongyerth bb676013ed add xwayland unmanaged tests to support dmenu
7 years ago
Drew DeVault 3296365ce5
Merge pull request #659 from agx/alpha
7 years ago
Guido Günther d08792bfff Add alpha to wlr_render_with_matrix
7 years ago
Tony Crisci b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
7 years ago
Markus Ongyerth 67285c1d57 idle-inhibit: style adjustments and motivation
7 years ago
emersion b1e2718dd7
xwayland: fix some use-after-free in xwm
7 years ago
emersion bd9583a7e8
Merge pull request #652 from agx/symbols-file
7 years ago
Markus Ongyerth a715826751 move activity_notify into events in wlr_idle
7 years ago
Markus Ongyerth 87a7afb641 idle-inhibit: second feedback pass
7 years ago
Guido Günther 2688f6163f Rename _strip_path to wlr_strip_path
7 years ago
Markus Ongyerth 3016133f91 idle-inhibit: feedback pass
7 years ago
Drew DeVault 1d9be89e2d
Revert "ELF Visibility"
7 years ago
Drew DeVault 09cfa39392
Merge pull request #632 from acrisci/output-layout-adjacent
7 years ago
Scott Anderson f27c0b44b8 Remove usec_to_msec from public API
7 years ago
Tony Crisci 9a8808f8cf move direction to wlr_output_layout.h
7 years ago
Tony Crisci d2c7defa10 Merge branch 'master' into output-layout-adjacent
7 years ago
Markus Ongyerth 50d573b2ca implements the idle_inhibit protocol type
7 years ago
emersion 717bdccb6e
Merge remote-tracking branch 'upstream/master' into martinetd/xdg_shell
7 years ago
Tony Crisci 85871cb666 add wlr_output_layout_adjacent_output
7 years ago
Dominique Martinet 7d26a6debd xdg-shell stable: copy-pasta implementation
7 years ago
emersion 392d54a35d
Wrap wl_resource_get_user_data into safer helper functions
7 years ago
emersion c2e1474010
Reformat all #include directives
7 years ago
emersion 36ead80cd1
Make wlr_signal_emit_safe private
7 years ago
emersion 10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
7 years ago
emersion 5e58d46cc1
Add wlr_signal_emit_safe
7 years ago
emersion a9632341bf
output_damage: listen to transform and scale output events
7 years ago
emersion 5a8f098eea
output, output_damage: add docs
7 years ago
emersion ec837e3c9e
Introduce wlr_output_damage
7 years ago
emersion bf6d245400
Swap buffers with damage
7 years ago
emersion faa57341ca
output: replace raw GL calls by wlr_renderer_* calls
7 years ago
emersion ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
7 years ago
emersion 3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Drew DeVault 39d5e78d37 Fix typo in xcursor.h
7 years ago
Drew DeVault 8cf622f074 Improve xcursor docs
7 years ago
emersion 8eed857292
output: add destroy signal for wlr_output_cursor
7 years ago
emersion edb4c8d858
output: damage whole output when fullscreen surface size changes
7 years ago
emersion 704130cc11
output: fix performance issues with wlr_output_schedule_frame
7 years ago
emersion 2a855e6282
rootston: fix urxvt damage on HiDPI outputs
7 years ago
emersion d498855b9d
backend/drm: fix hw cursor position on rotated and scaled outputs
7 years ago
emersion d0961a02af
render: add wlr_renderer_scissor docs
7 years ago
emersion 51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Tony Crisci ed5b1fdedd
Merge pull request #580 from emersion/screenshooter-renderer-backport
7 years ago
emersion 7111dd79ef
rootston: damage tracking for rotated views
7 years ago
emersion 8d58ed502b
output: add wlr_output_schedule_frame
7 years ago
emersion ece2c1e4e2
Damage tracking for transformed outputs
7 years ago
emersion a98ece68d3
util: add docs for wlr_region_scale
7 years ago
emersion 4223fbc763
rootston: damage tracking scale support
7 years ago
emersion 6281deb90f
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion 7a2e9a17ba
Merge pull request #579 from Ongy/dpms_decouple
7 years ago
Markus Ongyerth f946c10cb1 re-adds wlr_output_update_enabled
7 years ago
emersion 4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
7 years ago
Markus Ongyerth 3cf7225cec decouples outputenable state and wl_output global
7 years ago
emersion 4d282c8590
rootston: damage tracking for drag icons
7 years ago
emersion 415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor
7 years ago
emersion 3f1c4f5be7
rootston: damage tracking for wl_shell
7 years ago
Tony Crisci 85a6939cf2 rename matrix model box to project box
7 years ago
emersion 59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Tony Crisci d13114520a move matrix model code to matrix.h
7 years ago
Tony Crisci 7474f00591 Merge branch 'master' into decorations
7 years ago
emersion 66ae4071a7
rootston: damage tracking for xdg popups
7 years ago
emersion eeffe11337
surface: add wlr_surface new_subsurface and wlr_subsurface destroy events
7 years ago
emersion c6aab6f56c
Add docs and comments
7 years ago
emersion 0365b587f0
output: add damage tracking via buffer age
7 years ago
emersion 4ca38b84ed
backend/drm: fix hardware cursors not moving
7 years ago
emersion e29a0df8c1
output: fix software cursors damage tracking
7 years ago
emersion a0f24b809e
output: add damage event
7 years ago
emersion 443bd4cd89
output: fullscreen surface damage tracking
7 years ago
emersion bde255933e
output: add wlr_output::damage, fixes #572
7 years ago
Tony Crisci b6f29e87e8 dont use pointer for modifiers
7 years ago
Tony Crisci 43896af90f Merge branch 'master' into modifier-fixes
7 years ago
Tony Crisci dc701b72fc abstract box matrix
7 years ago
Drew DeVault b331c5c2c5
Merge pull request #549 from emersion/output-enabled
7 years ago
Tony Crisci c690420501
Merge pull request #562 from emersion/xwayland-fullscreen-render-children
7 years ago
Tony Crisci e46d2dd0f8
Merge pull request #556 from raazvvann/heghe/idle-protocol
7 years ago
emersion 65b28b3823
xwayland: render children window in fullscreen
7 years ago
Markus Ongyerth dfae5ff98f Update comment for wlr_headless_backend_create
7 years ago
Markus Ongyerth c00e9d1416 adds remote argument to wayland backend create
7 years ago
Heghedus Razvan 21cc5e6fef Add idle protocol
7 years ago
Tony Crisci b40a5f084a keyboard grab enter with modifiers
7 years ago
emersion 8ebd7d4dbe
output: rename resolution event to mode
7 years ago
Tony Crisci 0ef2df21f2 compositor modifier hook
7 years ago
emersion d9ecfbaf32
Add wlr_output enable event
7 years ago
emersion 771263380c
Add wlr_output::enabled
7 years ago
Tony Crisci ce3a48c316
Merge pull request #542 from emersion/abstract-data-source
7 years ago
Drew DeVault b23bd8ea28
Merge pull request #544 from emersion/fix-views-outside-output-layout
7 years ago
Drew DeVault d438a877fd
Merge pull request #545 from emersion/fix-output-destroy
7 years ago
Calvin Lee 5a26ed645a Allow configurable verbosity
7 years ago
emersion 9ac9ba861f
Free fullscreen surface and cursors when destroying output
7 years ago
emersion 1fe1d64042
Fix views outside output layout
7 years ago
emersion 38ed3b4245
seat: rename selection_source to selection_data_source, remove unused data_device
7 years ago
emersion b20aed66d6
Abstract wlr_primary_selection_source
7 years ago
emersion f237b5c7a7
Make wlr_data_source abstract.
7 years ago
Dominique Martinet ec952931a1 wlr_xwayland: preserve end of struct on restart
7 years ago
Dominique Martinet e0eafa0429 xwayland: listen to wlr_seat destroy signal
7 years ago
Dominique Martinet 58488ec5ce wlr_seat: add destroy signal
7 years ago
Dominique Martinet bb0d888f25 xwayland selection: further cleanup on Xwayland exit
7 years ago
Drew DeVault c23bd2ab7a Further fixes to header install dir
7 years ago
Drew DeVault 9c163b7d38
Merge pull request #531 from acrisci/keyboard-num-keycodes
7 years ago
Tony Crisci e8b810ce3e keep track of number of keycodes pressed
7 years ago
Björn Esser 71e42dae90
libwlroots: Add shared library versioning
7 years ago
Björn Esser 48ecbff691
include: Generate and install version-header
7 years ago
Björn Esser 892f7a5db0
include: Install headers in an isolated include-dir
7 years ago
Björn Esser ff13849624
config: Avoid clash with other config-headers
7 years ago
Tony Crisci 815d71a3aa validate grab serial for shell events
7 years ago
emersion a79dc7df51
Merge pull request #524 from acrisci/role-committed
7 years ago
Tony Crisci 5c5f0611c4 xwayland: role committed
7 years ago
Tony Crisci e42d762a88 drag-icon: surface committed
7 years ago
Tony Crisci 68328700c7 wl-shell: role committed
7 years ago
Tony Crisci e809250171
Merge pull request #519 from emersion/xwayland-primary-selection
7 years ago
Tony Crisci d5ffa26564 xdg-shell: role-committed func
7 years ago
Tony Crisci 5a18f62fee add role-committed hook
7 years ago
Tony Crisci 6c2242e66b
Merge pull request #522 from emersion/fix-drm-output-transform-cursor
7 years ago
emersion 43435d4915
Add output transform helpers docs
7 years ago
Björn Esser 57a09c8ca4
config: Put all defines into config.h
7 years ago
emersion e737f65e38
Fix cursor on transformed output with DRM backend
7 years ago
emersion 4a11609b76
Fix use-after-free when destroying selection sources
7 years ago
emersion 6dffaa7bb7
Implement xwayland primary selection sync
7 years ago
emersion 4476f79850
Fix primary clipboard issues
7 years ago
emersion a95d09d561
Add missing gtk-primary-selection interfaces
7 years ago
emersion 0a171d3ace
Add wlr_primary_selection_device_manager and wlr_primary_selection_source
7 years ago
Tony Crisci ee39dff1e7 rootston: handle backend creation failed
7 years ago
Tony Crisci 58e69c9ce1 multibackend remove subbackend
7 years ago
Tony Crisci a937016e38 remove session from multibackend
7 years ago
Tony Crisci 4e804ef40f add backend destroy event
7 years ago
Dominique Martinet fcd7062542 x11 backend: add wlr_input_device_is_x11
7 years ago
Dominique Martinet 169bc9fa10 wl backend: add wlr_input_device_is_wl
7 years ago
Dominique Martinet d9eaca6c9f headless backend: add wlr_output_is_headless
7 years ago
Dominique Martinet 995383b049 headless backend: add wlr_input_device_is_headless
7 years ago
Dominique Martinet be95147385 drm backend: add wlr_output_is_drm
7 years ago
Dominique Martinet dabfe159de wl backend: add wlr_output_is_wl
7 years ago
Dominique Martinet f83b16bc17 x11 backend: add wlr_output_is_x11
7 years ago
Dominique Martinet 3e228b0b2a libinput backend: add wlr_input_device_is_libinput
7 years ago
emersion 4a36ba4bdd
Destroy multi backend on display destroy
7 years ago
Drew DeVault f3769a4b1f
Merge pull request #496 from emersion/headless-backend
7 years ago
Drew DeVault 10c72f4bf6
Merge pull request #487 from emersion/xwm-selection
7 years ago
emersion b99d1f4fcc
Refactor wlr_egl_init to accept config_attribs
7 years ago
emersion bc5bdb7793
Add headless input devices
7 years ago
emersion 0256de0002
Add full refresh rate support to custom modes
7 years ago
emersion 3970264ccf
Initialize headless backend
7 years ago
emersion 8af6fbd7a0
Support multiple resources per seat client for data_device
7 years ago
emersion 4f0443a344
Support multiple resources per seat client for pointer, keyboard, touch
7 years ago
emersion 51db087210
Introduce fractional scaling
7 years ago
emersion 6b42bfad18
Merge branch 'master' into xwm-selection
7 years ago
Drew DeVault 23fb663ea4
Merge pull request #453 from emersion/surface-transform
7 years ago
emersion 466e86b7b2
Merge branch 'master' into surface-transform
7 years ago
emersion 75ef7860bb
Merge branch 'master' into display-destroy
7 years ago
emersion 6ef0219763
Merge branch 'master' into xwm-selection
7 years ago
Tony Crisci ea4b871e16 xwm: user custom event handler
7 years ago
emersion 3b4b8953d9
Update output layout when scale or transform changes
7 years ago
emersion c67a5824b8
Merge branch 'master' into display-destroy
7 years ago
emersion 529675b7b0
Add wlr_output_set_custom_mode
7 years ago
Drew DeVault eb4e91f96d
Merge pull request #474 from emersion/customize-repeat-info
7 years ago
emersion 2c6e52c164
Add docs for wlr_keyboard_set_repeat_info
7 years ago
emersion a3c0f97810
Make keyboard repeat info configurable
7 years ago
Tony Crisci 35188834db Merge branch 'master' into feature/xwm-selection
7 years ago
emersion c5fa415a03
Send wl_surface.{enter,leave} to cursor surfaces
7 years ago
Tony Crisci 4c60072be5 move get_resize_name to xcursor
7 years ago
Tony Crisci d74ac69f7b bring edges into wlr
7 years ago
emersion 6001235b04
Listen to display destroy in session
7 years ago
emersion b06535718d
Do not destroy wl_client in wlr_xwayland_finish
7 years ago
emersion 18eb1eee3f
Listen to display destroy in xwayland, rename wlr_egl_free
7 years ago
emersion bdb6e0b84c
Remove destroy event in screenshooter for now
7 years ago
emersion 0e066f0d76
Listen to display destroy in output
7 years ago
emersion cbf5763c22
Listen to display destroy in xdg-shell-v6
7 years ago
emersion 9ddaea14a1
Listen to display destroy in wl-shell
7 years ago
emersion 983ea3033f
Listen to display destroy in seat
7 years ago
emersion 088ff9a614
Listen to display destroy in gamma control manager
7 years ago
emersion c7900663bc
Add display destroy listener to data device
7 years ago
emersion e6d2e72401
Remove display destroy listeners, add compositor listener
7 years ago
emersion 32591d66d6
Add display destroy listener in server decoration
7 years ago
emersion dfe11a2b0e
Add display destroy listener in screenshooter, destroy display in rootston
7 years ago
emersion bf2b58eb6d
Add wlr_output_set_scale
7 years ago
Tony Crisci 86df909256 xwayland: remove xwayland param from xsurface methods
7 years ago
Drew DeVault 3f70043d00
Merge pull request #458 from acrisci/refactor/wlr-decoration-modes
7 years ago
Tony Crisci 344ca222db wrap server decoration modes
7 years ago
Tony Crisci 41d7bad470 wl-shell: add commit event
7 years ago
emersion 6a69b4419f
Make wlr_output_transform_* functions public, refactoring
7 years ago
emersion f4754ad1a2
Fix surface transforms
7 years ago
Tony Crisci fc17c74516 xwayland: clean up seat setting
7 years ago
Tony Crisci b0683874e9 xwm: send selection data
7 years ago
Tony Crisci 39e2ea8420 xwm: get selection targets
7 years ago
emersion dcb168914e
Merge branch 'master' into fullscreen
7 years ago
Drew DeVault 1228d0da19
Merge pull request #387 from emersion/laggy-move-resize
7 years ago
emersion 17d9e2ce35
Unify view events naming, remove client from event structs
7 years ago
emersion 151901123f
Merge branch 'master' into refactor-wlr-list
7 years ago
emersion 54f1135c05
Fix fullscreen in xdg-shell
7 years ago
emersion b04a9a248d
Initial fullscreen support
7 years ago
emersion 7904b625f0
Merge branch 'master' into laggy-move-resize
7 years ago
Tony Crisci af23192ede wlr-seat: remove client bound and unbound signal
7 years ago
Tony Crisci 3b74db467b data-device: wlr-drag-icon
7 years ago
emersion 016744ef4d
Refactor wlr_list inside wlroots
7 years ago
emersion a3a8b7bfd8
Fixed a bug with move-resize, removed xdg-shell ack_configure event
7 years ago
emersion e2843d87c8
Ensure to move the view when configured
7 years ago
Tony Crisci f61986e8db rename touch slot to touch id
7 years ago
Tony Crisci fb18e345a6 wlr-seat: return serial from touch down interface
7 years ago
Tony Crisci 12758a00a2 rootston: touch to focus
7 years ago
Tony Crisci ac4841ba37 put dnd icon in the right place
7 years ago
Tony Crisci a337e95505 wlr-touch: make dnd work
7 years ago
Tony Crisci 4eab61f86f wlr-seat: refactor touch grab interface
7 years ago
Tony Crisci 6a516f7c41 basic touch dnd
7 years ago
Tony Crisci 94e7dc8a3e data-device: touch grab stubs
7 years ago
Tony Crisci cbb6fd7352 wlr-seat: touch grab begin and end
7 years ago
Tony Crisci 469729d3af wlr-seat: document seat touch functions
7 years ago
Tony Crisci 4240096b83 wlr-seat: default touch grab
7 years ago
Tony Crisci e5a31ae870 wlr-seat: basic touch
7 years ago
emersion 3f6cf517b9
Add wlr_xdg_surface_v6_popup_get_position
7 years ago
emersion f8b43940b1
Merge branch 'master' into cursor-scale
7 years ago
Drew DeVault a317ecdab8 Run startup command after xwayland is ready
7 years ago
emersion 28fc813ca9
Merge branch 'master' into cursor-scale
7 years ago
Drew DeVault 1e0e73efaa Spawn views on last active output
7 years ago
emersion 8605243459
Introduce wlr_xcursor_manager
7 years ago
emersion 09279b90a6
Add wlr_output.serial
7 years ago
emersion ac1573b0e7
Add scale parameter to wlr_cursor_set_image
7 years ago
Tony Crisci 2a9dc60f28 Merge branch 'master' into feature/multiseat
7 years ago
Drew DeVault 5f3b27347c
Merge pull request #404 from emolitor/CPP-Compatibility
7 years ago
Eric Molitor 5be11a5c95 Remove VLA from session.h
7 years ago
Drew DeVault e6babc07a0
Merge pull request #390 from emersion/rootston-maximize
7 years ago
Drew DeVault 425713b837 Merge branch 'hidpi'
7 years ago
Timidger 80bf3cfff0 Fixes #399 Adds wlr_data_device_manager destructor
7 years ago
Tony Crisci 739361aa70 wlr-keyboard: take out modifiers event struct (for now)
7 years ago
emersion bf1b12a725
Fix maximize delay in xdg-shell
7 years ago
emersion 26dadacb71
Add wl_shell support for maximized views
7 years ago
Drew DeVault 66587eb430 Merge remote-tracking branch 'origin/master' into hidpi
7 years ago
Tony Crisci 79f5bd6ef8 Merge branch 'master' into feature/multiseat
7 years ago
emersion 882e620639
Always read state from wlr_keyboard in the seat
7 years ago
emersion 84d5e6bbb4
Send current keyboard state when entering a surface
7 years ago
Tony Crisci 09c6092423 multiseat: somewhat working
7 years ago
Tony Crisci 5354fe8729 move keyboard to seat
7 years ago
Drew DeVault 6d8e1abfc0 Improve input sensitivity
7 years ago
Drew DeVault 86b8729998 Merge remote-tracking branch 'origin/master' into hidpi
7 years ago
Drew DeVault 62734d0553
Merge pull request #380 from emersion/xwayland-root-cursor
7 years ago
emersion 3f4ad47421
Use compositor theme for xwm cursor
7 years ago
emersion d11973ed7d
Fix disabled cursors
7 years ago
emersion e18460c981
Add wlr_output.needs_swap
7 years ago
emersion 0df7a3c22d
Add wlr_seat_pointer_request_set_cursor_event.serial
7 years ago
Drew DeVault 0d9d670dbd
Merge pull request #365 from emersion/wayland-backend-transform
7 years ago
emersion 60c018c017
Fix hidden software cursors, fix cursor transformations on DRM backend
7 years ago
Drew DeVault a6930cd8ea Handle output enter/leave correctly
7 years ago
Drew DeVault a7446792a1 Consider scale factor when rendering views
7 years ago
Tony Crisci 1a756b3123 bugfix: dnd force cancel
7 years ago
emersion 0beae99188
Apply output transformation to pointer events in Wayland backend
7 years ago
emersion 4230a577cc
Remove wlr_cursor_set_xcursor for now
7 years ago
emersion 95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot
7 years ago
emersion 2e2d63a164
Manage wlr_output_cursor from wlr_cursor
7 years ago
emersion 1b6c729360
Add wlr_output_cursor
7 years ago
Drew DeVault ebca06bfe4
Merge pull request #358 from acrisci/refactor/sec-to-msec
7 years ago
Tony Crisci 875a5b446f remove time usec
7 years ago
Tony Crisci 74bca7251b rename wlr_seat to seat on seat structs
7 years ago
Tony Crisci fddef4d58e rename seat handle to seat client
7 years ago
Tony Crisci a224e74fad refactor input time_sec to time_msec
7 years ago
Tony Crisci c01248cf17 Merge branch 'master' into feature/xwm-rewrite
7 years ago
Drew DeVault 4281aefbf8
Merge pull request #324 from acrisci/feature/keyboard-redesign
7 years ago
Tony Crisci c555a66dda Merge branch 'master' into feature/xwm-rewrite
7 years ago
Tony Crisci 325def3841 xwm: create colormap and visual depth detection
7 years ago
Tony Crisci be297d9d14 xwm: net wm state
7 years ago
Tony Crisci 6a4290b86a xwm: moveresize events
7 years ago
emersion a43acae000
Send server-decoration ack event automatically
7 years ago
Tony Crisci 4a106648c4 xwm: remove incorrect implementation of net wm state
7 years ago
Tony Crisci 0d1dd84a48 xwm: improve activation and dont send focus twice
7 years ago
Tony Crisci e5ee01254b xwm: map and unmap notify
7 years ago
Tony Crisci 2ff94d0036 xwm: get rid of displayable surfaces list
7 years ago
emersion e84d573b91
Complete server-decoration implementation
7 years ago
emersion e521b0404b
Add server-decoration skeleton
7 years ago
Tony Crisci 79e14f65e0 xwm: fix lists
7 years ago
Tony Crisci a3f2754668 xwm: add surface to rootston on surface commit
7 years ago
Tony Crisci 1dbe314937 Merge branch 'master' into feature/data-device-selection
7 years ago
Tony Crisci d33a9f8eaa wlr-seat: keyboard redesign
7 years ago
emersion eea532911a
Send output current mode when changed
7 years ago
Tony Crisci d1dd0a6970 refactor buffer detection
7 years ago
emersion 1cc8f21d8e
Cleanup wlr_gamma_control
7 years ago
emersion e1d213fccd
Create globals only for enabled outputs in DRM backend
7 years ago
Drew DeVault c5fff08f8a Forgot to rename these
7 years ago
Drew DeVault 16f35ecbea Merge branch 'master' into heghe/wl_list
7 years ago
Drew DeVault 169b68b17c Rename remaining refs to wlr_list
7 years ago
Scott Anderson 822a9f65a4 Add pointer to backend inside wlr_output
7 years ago
Scott Anderson 9b984253e2 Move egl.h to render/egl.h
7 years ago
Tony Crisci a87b60e31e Merge branch 'master' into feature/data-device-selection
7 years ago
Heghedus Razvan d3f0878d71 Replace list_t with wl_list in wlr_wl_backend
7 years ago
Tony Crisci eaed6b6d29 wl-output: send layout position
7 years ago
Heghedus Razvan e1f196a3e9 Replace list_t with wl_list for wlr_input_device
7 years ago
Heghedus Razvan 1d716241af Replace list_t with wl_list in wlr_output
7 years ago
Tony Crisci b7c622a319 Merge branch 'master' into feature/data-device-selection
7 years ago
Drew DeVault 62371a9974 Merge pull request #257 from emersion/fix-client-cursors
7 years ago
Tony Crisci 19784360f1 bug: fix view centering
7 years ago
Tony Crisci 2d35e20691 data-device: keyboard grabs
7 years ago
Tony Crisci 3f3110452c wlr-seat: pointer state button info
7 years ago
Tony Crisci 34f27ff691 wlr-seat: selection signal
7 years ago
Tony Crisci 02f4acc69f data-device: refactor set selections for xwayland
7 years ago
Tony Crisci df0a8d3abe wlr-data-device: drag icons
7 years ago
Tony Crisci a1bfa4a2f2 wlr-data-device: basic drag and drop
7 years ago
Tony Crisci 07259cf8ea wlr-data-device: source actions
7 years ago
Tony Crisci 25831d287e wlr-data-device: offer set actions
7 years ago
Tony Crisci 3892acecac wlr-data-device: basic clipboard
7 years ago
Tony Crisci 6a7560fae0 wlr-data-device interface
7 years ago
emersion 92daa790bb
Allow to update the cursor hotspot without its pixels
7 years ago
Enerccio f53616ab1c Fixed wrong function name
7 years ago
Tony Crisci 0a6f54384c wl-shell: documentation
7 years ago
Tony Crisci 821cf92498 wl-shell: fix popup grab
7 years ago
Tony Crisci f7e7f6271d wl-shell: cleanup
7 years ago
Tony Crisci 1b2742d0b2 bug: emit surface new event later
7 years ago
Tony Crisci fe3c6c929b wl-shell: popup input handling
7 years ago
Tony Crisci 22a16a59ca wl-shell: basic pointer grab
7 years ago
Tony Crisci cd1204f71f wl-shell: render popups in the right place
7 years ago
Versus Void a6db47196c Upload texture on surface commit
7 years ago
Drew DeVault c39bfe7f84 Merge pull request #206 from emersion/client-cursor
7 years ago
Tony Crisci 654e2ccd6b move surface finder functions to wlroots
7 years ago
Timidger 3abf713e35 Fixed include in wlr_keyboard.h
7 years ago
emersion 8a77d1b6a2
Listen to cursor surface commit & destroy events
7 years ago
emersion 9b83caa658
Add wlr_output_set_cursor_surface
7 years ago
emersion 78d3582b70
Add request_set_cursor event
7 years ago
emersion 7b6d785f52
Rename wlr_surface->signals to events
7 years ago
Drew DeVault 9e1ff2dce9 Merge pull request #140 from emersion/screenshooter
7 years ago
Scott Anderson c0e5feea37 Add GL/EGL extension loader generator
7 years ago
emersion 0ce3135304
Move read_pixels from output to renderer
7 years ago
Tony Crisci 4f848000af Merge branch 'master' into feature/xdg-popup
7 years ago
emersion a87f016017
Remove cairo dependency, write raw pixels
7 years ago
Tony Crisci 4680943e74 xdg-seat: keyboard grabs
7 years ago
emersion d4cc82f11a
Call glReadPixels right before swapping buffers
7 years ago
emersion d0db6a80ab
Add post_frame event to wlr_output, use wlr_drm_plane_make_current in wlr_drm_output_read_pixels
7 years ago
emersion 35f9700251
First attempt to implement screenshooter
7 years ago
emersion 1c8b72e0cd
Add screenshooter skeleton
7 years ago
Drew DeVault 08ccc7f653 Merge pull request #221 from versusvoid/wayland-xkb_state_update_mask
7 years ago
Versus Void 568b270cdf Use xkb_state_update_mask() with Wayland backend
7 years ago
emersion 69aff9b35e
Implement wlr_xdg_toplevel_v6_send_close
7 years ago
Tony Crisci 67ea307753 xdg-shell: cleanup
7 years ago
Tony Crisci 48ae4fc588 rootston: handle grab end
7 years ago
Tony Crisci 4657f10dd2 Merge branch 'master' into feature/xdg-popup
7 years ago
Tony Crisci d3ebf99b0f xdg-popup: basic pointer grab
7 years ago
Versus Void 641d08ce7e Transform hotspot with cursor
7 years ago
emersion 12b9b1a4bd
Copy xcb_icccm structs into wlroots
7 years ago
Tony Crisci 17b134e178 wlr-seat: pointer grab interface
7 years ago
emersion 454a6a902b
Parse _MOTIF_HINTS
7 years ago
emersion fc61e82795
Use pointers for xwayland hints and size_hints
7 years ago
emersion 267f24753f
Add support for WM_HINTS
7 years ago
emersion ca68ef37f0
Add padding if xcb_icccm is not available
7 years ago
emersion ed9796ec68
xwayland: parse normal hints
7 years ago
emersion ef5914bdb6
xwayland: add wlr_xwayland_surface->motif_hints
7 years ago
Tony Crisci 30eabf38b8 Merge branch 'master' into feature/xdg-popup
7 years ago
Versus Void 606311c755 Reset buffer resource pointer on destroy signal
7 years ago
emersion 521e893528
Add modifiers signal, remove wlr_keyboard_update_modifiers
7 years ago
emersion d3d9aca40c
Add modifiers support in wayland backend, parse modifiers in rootston config
7 years ago
emersion 3a8fdebaaa
Fix modifiers handling, add wlr_keyboard_get_modifiers
7 years ago
emersion 2fccff16eb
Begin modifiers support
7 years ago
Tony Crisci e003296c23 xdg-popup: render popups in the right place
7 years ago
Tony Crisci 97cdcccaf0 xdg-surface: get popup
7 years ago
Drew DeVault 87a0cb7ba3 Merge pull request #182 from ascent12/drm-multi-gpu
7 years ago
Scott Anderson 009c3747a8 Multi-GPU DRM
7 years ago
Scott Anderson fa3d0ed929 Change wlr_session to open every GPU
7 years ago
Tony Crisci 8f41c497a7 Merge branch 'master' into feature/subcompositor
7 years ago
Tony Crisci 8b7ae61ad4 subsurface handle parent destroy
7 years ago
emersion 7f5d0624d6
Add x, y, width, height arguments to wlr_xwayland_surface_configure
7 years ago
Tony Crisci 19e30aab9b subcompositor protocol errors
7 years ago
Tony Crisci 93f79378f7 subsurface stacking requests
7 years ago
Tony Crisci 86bc4840a0 subsurface commit and render
7 years ago
Tony Crisci cb2d05e83b subsurface sync and position
7 years ago
Tony Crisci 7f39578824 cleanup wlr_surface.[ch]
7 years ago
Tony Crisci 68eeebc647 subsurface implementation stubs
7 years ago
Drew DeVault a48dedba3d Merge pull request #170 from emersion/xwayland
7 years ago
emersion 4ccb83bf33
xwayland: add wlr_xwayland_surface_close
7 years ago
emersion 5002d968f3
xwayland: add window_type support
7 years ago
emersion b78ae54158
xwayland: add pid support
7 years ago
emersion 97346e7a1b
xwayland: add state support
7 years ago
emersion 7c9f3240f6
xwayland: add set_parent event
7 years ago
emersion d8c86431e0
xwayland: add signals for configure, set_{class,title}
7 years ago
emersion f2b03b2ec1
Add reply->type checks, add XCB_ATOM_WM_TRANSIENT_FOR
7 years ago
emersion 47d767dbc4
xwayland: expose wlr_xwayland_surface_configure
7 years ago
emersion e3917af69d
xwayland: read window title & class
7 years ago
Scott Anderson 517ba0bc16 Change egl_get_config to always use visual id
7 years ago
Scott Anderson 7ad2a57feb Open X11 Window
7 years ago
Scott Anderson a598e6d026 Add X11 backend skeleton
7 years ago
emersion b7927078e9
x11 -> xwayland, window -> surface, fix some calloc sizes and wrong types
7 years ago
Drew DeVault c92199a953 Merge pull request #163 from emersion/wl_shell-fixes
7 years ago
Drew DeVault 220a6e9bf6 Add xwayland activate and fix EGL bug
7 years ago
Drew DeVault 906a816abf Fix rootston keyboard, add Xwayland
7 years ago
emersion 9d405cffa7
Use enums instead of uint32_t where applicable
7 years ago
emersion 3d03ef2d02
role -> state
7 years ago
emersion 27ca8eaced
Fix typo: s/transcient/transient/
7 years ago
emersion a04462ba8b
wl_shell: listen for wlr_surface destroy signal
7 years ago
emersion d6c6b7c506
class_ -> class, free more stuff in destroy_shell_surface
7 years ago
emersion 241fec4d87
wl_shell: add wlr_wl_shell_surface_{configure,popup_done}
7 years ago
emersion 14ab56b6c5
wl_shell: implement set_popup request
7 years ago
emersion 663bfe4cd8
wlr_wl_shell: implement all requests except set_popup
7 years ago
emersion e001e40022
Set view->surface
7 years ago
emersion ed9a43c213
Add first try to add wl_shell to rootston
7 years ago
Drew DeVault e6a6634bc5 Minor tweaks to (broken) keyboard support
7 years ago
Drew DeVault f4387b437f Merge branch 'master' into rootston
7 years ago
Drew DeVault 61e451ea1b Move keyboard logic to wlr_{keyboard,seat}
7 years ago
Drew DeVault d89272dbbd Merge pull request #156 from acrisci/feature/wlr-keyboard-events
7 years ago
Tony Crisci 84a8f1b42d add keys array param to seat keyboard enter
7 years ago
Tony Crisci 3895593998 wlr-seat: keyboard layout
7 years ago
emersion 4809b7b3e4
Fix some include guard names in interfaces/
7 years ago
emersion 427bdb5b55
Use more consistent include guard names
7 years ago
Tony Crisci 30b5d76426 wlr-seat: keyboard modifiers
7 years ago
Tony Crisci cef1f60522 wlr-seat-keyboard: basic events
7 years ago
Drew DeVault e5e6dab7fd Fix use of serial on motion_request
7 years ago
Tony Crisci e38248f34c wlr-seat: implement cursor axis events
7 years ago
Scott Anderson 8cb49f4d68 Add stdbool.h
7 years ago
Drew DeVault d558745633 Handle tablet motion in example compositor
7 years ago
Tony Crisci 7a3edf6e62 use double for cursor coordinates
7 years ago
Tony Crisci 8b74450b39 wlr_seat: pointer events
7 years ago
Tony Crisci aeaa983631 wlr_seat: formatting cleanup
7 years ago
Tony Crisci 5b9373a791 xdg-toplevel-v6 set parent
7 years ago
Tony Crisci 2573c429ee reset pending geometry on ack configure
7 years ago
Tony Crisci 94f4f1878d xdg-surface-v6: implement ping
7 years ago
Tony Crisci 0f865c547a xdg-toplevel-v6: seat events
7 years ago
Tony Crisci 27161a673f xdg-shell new surface and ack configure events
7 years ago
Tony Crisci 569b147bba schedule configure request on toplevel first commit
7 years ago
Tony Crisci a0bdbc92ba xdg-shell-toplevel configure requests
7 years ago
Tony Crisci 45a3b761a6 xdg-surface-v6: add events
7 years ago
Tony Crisci 50f4275298 implement xdg-toplevel state properties
7 years ago
Tony Crisci 353629b034 xdg-surface geometry
7 years ago
Tony Crisci 2fd5c7999b set title and app_id
7 years ago
Tony Crisci 9d2dc8447a use wlr_surface on shell struct and listen to events
7 years ago
Tony Crisci b2c71287f2 set toplevel role on wlr_surface
7 years ago
Tony Crisci c5f8f81e58 xdg_surface: handle wlr_surface destroy
7 years ago
Tony Crisci 74e9578889 add surface destroy signal
7 years ago
emersion 6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl
7 years ago
emersion cd125377fc
Add wlr_output_{set_gamma,get_gamma_size}
7 years ago
emersion 1b588e7c1f
Add gamma_control skeleton
7 years ago
Tony Crisci e733b0e643 Rename wlr_output_layout_init()
7 years ago
Tony Crisci 57c18c38bb wlr_cursor: handle layout changes
7 years ago
Tony Crisci d84deb0742 add wlr_output destroy event
7 years ago
Tony Crisci 40bd6bcc43 implement output layout auto configuration
7 years ago
Drew DeVault 6daf9e9ab2 Merge pull request #120 from acrisci/feature/wlr-cursor
7 years ago
Tony Crisci b6031d1065 refactor wlr_output_layout_closest_point
7 years ago
Tony Crisci 9b65d0b3f0 refactor and rename wlr_geometry to wlr_box
7 years ago
Tony Crisci a51b76083e rename wlr_cursor_init to wlr_cursor_create
7 years ago
Tony Crisci 1fb8bc9340 wlr_cursor.c: fix formatting
7 years ago
Tony Crisci 3449777a8d wlr_output_layout.c: fix style
7 years ago
Drew DeVault 30611894f2 Implement tablet_tool support in pointer example
7 years ago
Tony Crisci 5c845f14ed handle input device destroy
7 years ago
Tony Crisci df0ee7f25f implement tablet tool devices
7 years ago
Tony Crisci 5e06d61e42 implement touch up and touch down
7 years ago
Dominique Martinet 871646d225 Double-fork for xwayland execution
7 years ago
Tony Crisci c914697676 add device to touch events
7 years ago
Tony Crisci ed126b0881 add touch events
7 years ago
Tony Crisci ac503a47a7 intersect cursor and device regions
7 years ago
Tony Crisci 0a97b68278 implement cursor and device geometry mapping
7 years ago
Tony Crisci 98f4cdfccb implement wlr_cursor_map_input_to_output
7 years ago
Tony Crisci 13e895d943 implement wlr_cursor_map_to_output
7 years ago
Tony Crisci a4810203cc change output layout coords to double type
7 years ago
Tony Crisci 0cba06dcef implement wlr_cursor_warp
7 years ago
Tony Crisci dd68f680e4 handle cursor to output edge cases
7 years ago
Tony Crisci e3d47376dc add wlr_cursor basic implementation
7 years ago
Scott Anderson d16b2977f6 Remove single GPU assumptions from wlr_session
7 years ago
Scott Anderson fb93628bda Merge wlr_udev into wlr_session
7 years ago
Scott Anderson 46823152ea Rename functions to be consistent with #93
7 years ago
Dominique Martinet fd3ad3b9e4 xwayland: fix shutdown caused by Xwayland/client stop
7 years ago
Dominique Martinet 3391e5b634 xwayland: fix style issues
7 years ago
Dominique Martinet 1458a95e65 example compositor: loop through xwayland surfaces
7 years ago
Dominique Martinet eb5b9cc6da xwayland: move & split internal header file
7 years ago
Dominique Martinet 6eb20fb8d2 init xwm only once Xwayland server is ready
7 years ago
Dominique Martinet 3cc5b1acc6 wlr_compositor: add signal for create_surface
7 years ago
Dominique Martinet b2bab1af5c xwayland: split xwm structure out, initial xwm.c
7 years ago
Dominique Martinet 49a823d4c6 Xwayland: first draft, just start server for now
7 years ago
Dominique Martinet 1ca08dc4cb wlr_compositor: change _init/finish to _create/destroy
7 years ago
Dominique Martinet 4110788159 move wl_compositor into wlroots as wlr_compositor
7 years ago
Dominique Martinet f24b3df980 wlr renderer/texture: rename init to create when it does alloc
7 years ago
Tony Crisci f03be94309 rename wlr_cursor to wlr_xcursor
7 years ago
nyorain 86314caa5b Implement wlr_data_{source,device,device_manager}
7 years ago
Drew DeVault e5fd858394 Merge pull request #101 from nyorain/texture_fix
7 years ago
Drew DeVault 3138c5ddf0 Clean up wlr_output_layout
7 years ago
Tony Crisci 5a9baf487e add helper methods for intersection
7 years ago
Tony Crisci 2e9e237f9d layout-output example: handle empty config
7 years ago
Tony Crisci 44181b57ac Add wlr_output_layout implementation
7 years ago
nyorain 10eee58d2d Fix surface buffer uploading
7 years ago
nyorain ad22b4874d Fix wlr_seat; add to example compositor
7 years ago
Drew DeVault af5db7a44c Initial pass on wlr_seat
7 years ago
Calvin Lee 901c14c409 Prevent alloc errors from crashing in `list_t`
7 years ago
Dominique Martinet f9b55dfa95 Make wlr_wl_shell_create work like xdg
7 years ago
Dominique Martinet 5dae8e1be8 example compositor: only iterate over wl_shell and xdg_shell surfaces
7 years ago
Dominique Martinet f4e6b138fb Move wl_shell into wlroots
7 years ago
Drew DeVault f60b53c6e3 Change how surface matricies are calculated
7 years ago
Tony Crisci d5f98dbf61 refactor getting surface size into a function
7 years ago
Tony Crisci 5b1ce84350 implement buffer transform
7 years ago
Tony Crisci 84c6dbd58d remove unused dimension from buffer calculations
7 years ago
Tony Crisci e46ec57b43 implement surface sizing
7 years ago
Tony Crisci 72a33b736f implement texture get buffer size
7 years ago
Tony Crisci f0f190bfa5 implement buffer scale
7 years ago
nyorain f998bb8299 Fix style issues
7 years ago
Dominique Martinet ba20d5b3ca Refactor out wlr_touch_state
7 years ago
Dominique Martinet bd67849c03 Refactor out wlr_tablet_tool_state
7 years ago
Dominique Martinet a289940bff Refactor out wlr_tablet_pad_state
7 years ago
Dominique Martinet 53e7bebd23 Refactor out wlr_pointer_state
7 years ago
Dominique Martinet 0a3246ad97 Refactor out wlr_keyboard_state
7 years ago
Dominique Martinet e6ad67911b Refactor out wlr_input_device_state
7 years ago
Drew DeVault de6f32c84e Refactor away wlr_renderer_state
7 years ago
Drew DeVault 94e6e6334b Refactor out wlr_texture_state
7 years ago
Drew DeVault c8c6619146 Refactor out wlr_output_mode_state
7 years ago
Calvin Lee de66bdb867 Add backend detection functions
7 years ago
Drew DeVault 41e735242d Remove wlr_output_state, update backends
7 years ago
Drew DeVault 4386816889 wlr_backend_init -> wlr_backend_start
7 years ago
Drew DeVault 81cd90297d Refactor out wlr_backend_state from wl/multi
7 years ago
Drew DeVault ce65a0c138 Merge pull request #69 from 4e554c4c/user_data
7 years ago
Calvin Lee a8c1e8ce69 Add user data to wlr_* structs
7 years ago
nyorain ed2fc30625 Fix wlr_surface invalid values
7 years ago
Drew DeVault 62d8b252c0 Refactor meson and move xdg-shell into wlroots
7 years ago
Drew DeVault c24351681f Refactor EGL handling
7 years ago
Drew DeVault 7095274a9e Merge branch 'master' into drm_buffer
7 years ago
Drew DeVault 7da43ff8b0 Implement wlr_surface_flush_damage
7 years ago
nyorain 31d78ff497 Fix wlr_surface destruction bug
7 years ago
Tony Crisci 14654ecb77 implement compositor create region
7 years ago
nyorain 67369173aa Implement drm (egl) buffer attaching
7 years ago
Drew DeVault 750d0ad458 Flesh out wlr_surface state lifecycle a bit
7 years ago
Drew DeVault 4de930542f Implement partial texture uploads
7 years ago
Tony Crisci 8306f46dfb implement surface frame
7 years ago
nyorain cf9ee6ce3f Move wlr_surface into wlr
7 years ago
nyorain 1bea754521 Implement wlr_region using pixman
7 years ago
nyorain e167f41fde Rename wlr_surface -> wlr_texture; attach -> upload
7 years ago
Drew DeVault 7486263f7e Add xcursor sublibrary
7 years ago
Scott Anderson 1db97a9af9 Updated DRM cursor rendering
7 years ago
Drew DeVault 5bf61ca7ed Check for multi backend before using it
7 years ago
Scott Anderson 4d4da18437 Fixed VT switching
7 years ago
Scott Anderson cb4d50e22c Changed header paths.
7 years ago
Scott Anderson 2ae5cd6539 Moved session/ into backend/
7 years ago
Scott Anderson ae4478e17f Changed ownership of wlr_session to the multi backend.
7 years ago
Tony Crisci effea557bb Implement destroying surfaces
7 years ago
Scott Anderson 5b8ec107b9 Session documentation.
7 years ago
Scott Anderson bd5bca5283 Added public fields to wlr_session
7 years ago
Drew DeVault 8920b5d607 Merge branch 'wlcore'
8 years ago
Drew DeVault 18e6ddc1c5 Remove wlr_compositor
8 years ago
Drew DeVault f5b7bc033e Add wlr_wl_compositor and remove wlr_wl_shm
8 years ago
Scott Anderson 0cd94f0cf0 Added software cursor fallback
8 years ago
Drew DeVault 5a2796266f Support wl_shm pixel formats in gles2 renderer
8 years ago
Drew DeVault 2aafb5dd19 Add wlcore/wl_shm (WIP)
8 years ago
Drew DeVault b18209c904 Switch to GLES2
8 years ago
Drew DeVault 168f0955ab Add wl_output globals for wlr_outputs
8 years ago
Drew DeVault 3d71969b2a Make event names consistent
8 years ago
Drew DeVault f4453d104d Reorganize wlr-common
8 years ago
Drew DeVault fd91244e83 Update everyone to use new headers
8 years ago
Drew DeVault 53a8b4f127 Split out types.h and wlr/types.h
8 years ago
Scott Anderson 091de12bf4 Changed session signal to only emit on DRM changes
8 years ago
Drew DeVault c2d0090ad7 Support multiple wl backend outputs
8 years ago
Drew DeVault b9d36c8149 Add dynamic output resizing for Wayland backend
8 years ago
nyorain e65ca967f9 Merge branch 'master' into wayland-backend
8 years ago
Drew DeVault 632a04f1b7 Implement keyboard LEDs
8 years ago
Drew DeVault ecb04afcad Implement tablet pads
8 years ago
nyorain 41a477375c Merge branch 'libinput' into wayland-backend
8 years ago
nyorain 904739c405 Start to fix wayland backend
8 years ago
Drew DeVault 7e038a6110 Add (broken) DRM hardware cursors
8 years ago
Drew DeVault 2443a070e7 Add colored quad and ellipse rendering primitives
8 years ago
Drew DeVault 4a9966b1a4 Implement wlr_tablet_tool
8 years ago
Drew DeVault 3f24f8a1be Flesh out touch events and add demo
8 years ago
Drew DeVault d6905f86cb Allocate wlr_touch devices
8 years ago
Drew DeVault e257afeb7e Establish multi backend support
8 years ago
Drew DeVault 5dd96c0772 Incorporate XKBCommon into example
8 years ago
Drew DeVault 7a5f35b5bb Reassign ownership of libinput handle
8 years ago
Drew DeVault 59ceaf507e Handle key presses
8 years ago
Drew DeVault 0e75d157f5 Initialize keyboards from libinput
8 years ago
Drew DeVault af69591e62 Add error handling and init in backend_autocreate
8 years ago
Drew DeVault 1262f1400c Initial pass on libinput backend
8 years ago
Drew DeVault cd6a40d816 Further improvements to rendering subsystem
8 years ago
Drew DeVault 83f8864f0a Add wlr_renderer and move quad rendering there
8 years ago
Drew DeVault 211488131f Add wlr_shader to wlr-render
8 years ago
Drew DeVault fc1dc1b5b0 Use constant VBO for quad, add matrix stuff
8 years ago
Scott Anderson 382f712792 Merge remote-tracking branch 'upstream/master' into rotation
8 years ago
Scott Anderson 632a7acb03 Filled out more wlr_output fields.
8 years ago
Scott Anderson 53dd622263 Provide user with transformation matrix
8 years ago
Drew DeVault 6f5c70ac69 Let backend track transform state
8 years ago
Scott Anderson c97de93fe1 Added output rotation example
8 years ago
Scott Anderson cf07a9fc4f Logging improvements
8 years ago
Drew DeVault 7d82476590 Refactor type implementations
8 years ago
Drew DeVault 40b85d992a Refactor udev and drm initialization
8 years ago
ascent12 62d612a01e Merge branch 'master' into session
8 years ago
Drew DeVault e2ee67125e s/wayland.h/types.h/g
8 years ago
Drew DeVault c7f6981d9c Clean up outputs on exit
8 years ago
Drew DeVault fee409bd0a Generalize DPMS, remove DRM refs from example
8 years ago
Drew DeVault 03c9b46034 Have backend manage opengl context
8 years ago
Scott Anderson f9d363fece Added device matching
8 years ago
Scott Anderson 058b8bdf27 Working commit
8 years ago
Scott Anderson c88f252580 Initial D-Bus signal support.
8 years ago
Scott Anderson 599d1bcbdc DPMS support
8 years ago
Drew DeVault 00931f2f8f Generalize output handling
8 years ago
Drew DeVault 15b1ce9e6c Refactor backend state management
8 years ago
Scott Anderson 7e9feb70a0 Fixed hotplugging + make EGL more chatty.
8 years ago
Scott Anderson ef9768858e Changed modesetting interface.
8 years ago
Scott Anderson d196a79b6c Changed backend to accept wl_display.
8 years ago
Scott Anderson 18387468bb Renamed 'wlr_drm_display' to 'wlr_drm_output'
8 years ago
Scott Anderson dbceaee9fa Added EGL interface for backends.
8 years ago
Scott Anderson 81998fdc98 Removed old session code from DRM backend.
8 years ago
Scott Anderson 762ac7f4c0 New session interface.
8 years ago
Scott Anderson e446a5300b Added example.
8 years ago
Drew DeVault 1aed987301 Add free functions for allocated resources
8 years ago
Drew DeVault 5ca9d612f4 Flesh out wayland backend registry
8 years ago
Drew DeVault de01e654ce Flesh out wayland backend somewhat, add example
8 years ago