Victor Berger
605895e30f
update to wayland-rs 0.21
2018-09-25 00:31:58 +02:00
Colin Benner
6d31e9e5ff
address more clippy warnings
...
Not sure how much of an improvement these are.
2018-06-29 12:30:42 +02:00
Colin Benner
4598ba0b48
address a bunch of clippy warnings
2018-06-28 11:33:49 +02:00
Victor Berger
89764bf442
wayland.backend.egl: derive Debug for Format
2018-05-19 19:48:13 +02:00
Victor Berger
07a98ac5e8
wayland.shm: allow buffer access to return a value
2018-05-19 19:45:04 +02:00
Victor Berger
664327660e
Merge pull request #92 from Smithay/compositor_token_send
...
wayland.compositor: CompositorToken is threadsafe
2018-05-13 13:31:09 +02:00
Victor Berger
cba56b0af8
wayland.compositor: CompositorToken is threadsafe
...
Thanks to the refactor of wayland-rs, the CompositorToken can
be make Send/Sync again.
Fixes #66 .
2018-05-13 10:24:24 +02:00
Victor Berger
de373074fd
Update winit to 0.14
2018-05-12 12:55:37 +02:00
Victor Berger
6ee6fd6890
anvil: factor the input backend code
2018-05-08 12:47:09 +02:00
Victor Berger
6f52f9c75a
re-export crates that are actually part of the public API
2018-05-07 19:55:34 +02:00
Victor Berger
ff63209a17
XWayland: add logging
2018-05-04 10:55:31 +02:00
Victor Berger
2d8653d9d7
xwayland: take advantage of RAII for X11 lockfile
2018-05-01 12:08:01 +02:00
Victor Berger
5ae34d2613
xwayland: Use Rust's UnixStream instead of RawFd
...
THis allows us to take advantage of RAII for cleanup, among others.
2018-05-01 11:56:32 +02:00
Victor Berger
d2cbadc670
xwayland: core infrastructure
2018-04-30 21:28:17 +02:00
Victor Berger
4fda0bef4a
review comments
2018-04-24 11:00:39 +02:00
Victor Berger
048dda59e3
wayland.shell: legacy module for wl_shell
2018-04-23 11:40:41 +02:00
Victor Berger
12e13f863b
wayland.shell.xdg: make names more explicit
2018-04-23 10:49:06 +02:00
Victor Berger
4bd1501b96
wayland.shell: don't access the data of dead surfaces during cleanup
2018-04-22 11:58:18 +02:00
Victor Berger
9c88443706
wayland.shell: clean start for wl_shell
2018-04-19 13:56:13 +02:00
Victor Berger
d97fde32e9
wayland.shell: integrate the stable xdg_shell
2018-04-18 17:44:55 +02:00
Victor Berger
b8d4b17a8a
wayland.shell: split wl and xdg & port xdg
2018-04-18 12:51:08 +02:00
Victor Berger
422e8b33e0
backend.winit: migrate to wayland-rs 0.20
2018-04-18 09:58:32 +02:00
Victor Berger
53242bd974
backend.libinput: migrate to wayland-rs 0.20
2018-04-18 09:53:54 +02:00
Victor Berger
31a3d40589
backend.drm: update doc examples
2018-04-18 09:44:22 +02:00
Victor Berger
7f6af94733
backend: migrate drm & udev
2018-04-18 09:38:35 +02:00
Victor Berger
f9dbabce56
backend.graphics: port no-feature code to wayland-rs 0.20
2018-04-17 19:17:11 +02:00
Victor Berger
cb4b783dc2
backend.session.logind fixes
2018-04-17 19:08:54 +02:00
Victor Berger
b80093ffda
backend.session: migrate to wayland_rs-0.20
2018-04-17 18:39:07 +02:00
Victor Berger
6dfcef1f49
Remove unstable rustfmt options
2018-04-17 17:48:20 +02:00
Victor Berger
710d23f51f
wayland.compositor: migrate to wayland_rs-0.20
2018-04-17 11:03:42 +02:00
Victor Berger
e44b0e596e
wayland.seat: migrate to wayland_rs-0.20
2018-04-15 11:55:16 +02:00
Victor Berger
93050e2683
Doc proofreading
2018-04-15 11:44:23 +02:00
Victor Berger
1140b484cd
wayland.output: migrate to wayland_rs-0.20
2018-04-14 12:19:59 +02:00
Victor Berger
b9cac1a373
wayland.shm: migrate to wayland_rs-0.20
2018-04-13 12:45:53 +02:00
Victor Berger
570cee0987
Prepare migration to wayland-rs-0.20
2018-04-12 11:39:14 +02:00
Drakulix
7fb89ac924
Derive PartialEq,Eq,Hash for ModifiersState
2018-03-29 17:27:14 +02:00
Drakulix
c36c511c53
[glium] Remove unnecessary mutable self reference for borrowing
2018-03-29 15:31:25 +02:00
Victor Berger
cd0c5538d1
shell: add method to send close events
2018-03-23 19:27:46 +01:00
Drakulix
19300f0d54
Add missing documentation for former Drop call
2018-03-22 16:21:40 +01:00
Drakulix
23f8a2c8ee
Reexport PointerAxisHandle
2018-03-22 16:21:27 +01:00
Drakulix
d051e141cf
Refactor PointerAxisEvent to handle multiple axis
2018-03-22 16:10:32 +01:00
Drakulix
daccddf9b6
Reintroduce wl_seat 4 support
2018-03-22 16:10:32 +01:00
Drakulix
2fb36af926
Upgrade to wl_seat version 5
2018-03-21 16:37:50 +01:00
Drakulix
d005cd4fc6
Replace time stub with proper timestamps
2018-03-17 18:15:34 +01:00
Drakulix
4ee34fe43a
Fix winit transformed input for negative positions
2018-03-13 18:41:37 +01:00
Drakulix
81375a085f
Allow relative mouse movement to be negative
2018-03-13 15:06:52 +01:00
Drakulix
a6d8b2a802
Fix winit transformed input
2018-03-09 17:37:27 +01:00
Drakulix
bdb653042c
Update glium integration to allow mutable borrowing
2018-03-09 11:50:01 +01:00
Drakulix
9cb409de9b
Add missing derives for AutoId
2018-02-26 18:56:28 +01:00
Victor Berger
d8a5acef77
wayland: introduce Seat::owns
2018-02-26 16:20:33 +01:00
Drakulix
5cfdf931fb
Update for wayland-server 0.14
2018-02-21 21:02:14 +01:00
Drakulix
f4d3061b2b
Fix tests & examples
2018-02-21 14:52:43 +01:00
Drakulix
85bac997e0
Fix merge with latest logind bug fixes
2018-02-21 14:52:31 +01:00
Drakulix
4a2658090b
Code formatting
2018-02-21 14:24:37 +01:00
Drakulix
5d66f8fdb3
Give EventLoopHandle to DrmHandler
2018-02-21 14:24:20 +01:00
Drakulix
b80674bdf5
Introduce SessionObserver
...
`DrmDevice` and `UdevBackend` now do not need to be wrapped into `StateToken`s anymore, but can return a separate `SessionObserver` object using the new `AsSessionObserver` trait.
This change was motivated by allowing the `UdevHandle` to obtain a mutable reference to an `EventLoopHandle` to create wayland object, e.g. a `wl_output` object.
Previously this was not possible.
Depends on https://github.com/Smithay/wayland-rs/pull/164
2018-02-21 14:24:20 +01:00
Drakulix
0ad723a71b
Allow `DrmBackend` to act as `drm::control::Device`
2018-02-21 13:31:05 +01:00
Drakulix
cbee540013
Reexport ModifiersState to make it publically accessible
2018-02-21 07:48:54 +01:00
Drakulix
2294e79814
Reset drm device into text mode on tty switch
2018-02-20 19:19:22 +01:00
Drakulix
e3113caa72
Add new travis feature for logind
2018-02-20 19:19:22 +01:00
Drakulix
525c9b60c4
rustfmt
2018-02-20 19:19:22 +01:00
Drakulix
20e10612b9
Add documentation for logind/auto session
2018-02-20 19:19:22 +01:00
Drakulix
310bc94a20
Fix disappearing cursor after tty switch
2018-02-20 19:19:22 +01:00
Drakulix
5411209bb5
Fix libinput panic on tty switch
2018-02-20 19:19:22 +01:00
Drakulix
495c492e50
Fix trying to become drm master on logind session
2018-02-20 19:19:22 +01:00
Drakulix
a768e298f2
Add auto backend
2018-02-20 19:19:22 +01:00
Drakulix
b16c62b19f
Add logind session
2018-02-20 19:19:22 +01:00
Drakulix
4971278a25
Remove unused type parameter
2018-02-20 19:19:22 +01:00
Victor Berger
036633541a
Remove trailing code fence in documentation
2018-02-20 19:08:23 +01:00
Drakulix
ef0cfb9f2c
Add names to backend seats
2018-02-19 12:49:55 +01:00
Drakulix
d3a454ad72
Add winit events handler
2018-02-18 23:42:33 +01:00
Drakulix
b53ff34aab
Add option to access underlying window
2018-02-18 23:42:02 +01:00
Drakulix
8a30689015
Add getter for current `DrmBackend` mode
2018-02-18 22:04:13 +01:00
Drakulix
a0b6e2c916
Don't required EventLoop for wayland object creation
2018-02-15 16:17:12 +01:00
Victor Berger
f2751c824f
wayland.shell: fix memory corruption in wl_shell
...
Invalid data was set as user data for wl_shell_surface, causing
access to invalid memory at drop time.
Fixes #60
2018-01-14 13:50:39 +01:00
Drakulix
a9c75656a2
Add event_loop to `InputBackend` and `InputHandler` traits
2018-01-12 16:41:33 +01:00
Drakulix
32f48b3cd2
Fix some clippy lints
2018-01-09 14:12:31 +01:00
Drakulix
b125ce8005
Fix backend_drm feature
2018-01-07 23:44:21 +01:00
Drakulix
66c011c942
Use new rustfmt-preview
2018-01-07 22:30:38 +01:00
Drakulix
25c1e30fb3
Fix drm doc-test for new egl buffer changes
2018-01-07 22:12:34 +01:00
Drakulix
aaa68b1cce
Add documentation for the egl buffer features
2018-01-07 22:12:14 +01:00
Drakulix
efaadb8882
Fix a bunch of warnings
2018-01-07 20:24:40 +01:00
Drakulix
c5f475ebb5
Make unbind_egl_display into Drop implementation for EGLDisplay
2018-01-07 13:02:26 +01:00
Drakulix
a527456ba6
Fixup drm backends for egl hardware-acceleration
...
- Decouple DrmBackend and DrmDevice through Weak references
- Move EGL-WlBuffer related functionality into it's own trait
- Impl new trait by every struct that can theoretically bind the display although it is no rendering target (no EGLGraphicsBackend), e.g. DrmDevice
- Move texture binding into own struct `EGLDisplay` created by `bind_wl_display` that can be passed around freely
- Add device num to DrmDevice for HashMap storage
- Fixup and enable acceleration on drm and udev examples made possible by the previous changes.
2018-01-05 20:04:46 +01:00
Drakulix
c63d693a74
Fix seats of version 1
2017-12-28 15:33:18 +01:00
Drakulix
6c6d54064d
Get it to work...
2017-12-28 15:30:53 +01:00
Drakulix
726991367d
Rework egl image api
2017-12-27 12:20:16 +01:00
Drakulix
5d7e96103d
Rework EGL module
2017-12-24 14:29:45 +01:00
Drakulix
5c846d550c
Start EGL wl_buffer image retrieval
2017-12-24 14:12:51 +01:00
Drakulix
14fc36bf54
Add binding/unbinding wayland display on EGLContext
2017-12-24 14:12:51 +01:00
Drakulix
a9d30374dc
Add EGL_WL_bind_wayland_display bindings
2017-12-24 14:12:51 +01:00
Drakulix
e1b2c88c83
Use global gl_generator generator
2017-12-24 14:12:51 +01:00
Drakulix
bfed76593a
Fix backend_session_udev without backend_udev
2017-12-21 18:11:19 +01:00
Drakulix
d0046e4c60
Fix rare hot-plugging bug
2017-12-21 16:25:21 +01:00
Drakulix
4207611e6d
rustfmt code
2017-12-15 19:22:44 +01:00
Drakulix
c9e7624a33
Remove (incomplete) logind support for now
2017-12-07 15:25:21 +01:00
Drakulix
5f59ded3f0
Fix udev example
2017-12-07 15:20:33 +01:00
Drakulix
40ef1236ea
Update to released udev/libinput versions
2017-12-06 02:06:00 +01:00
Drakulix
71f107118f
Make libinput backend work without the session feature
2017-12-03 22:44:45 +01:00
Drakulix
ae5df5039d
Fix drm example and tests
2017-12-03 22:33:21 +01:00
Drakulix
c5e66176c6
Document DirectSessionNotifier Id type
2017-12-02 17:09:34 +01:00
Drakulix
bd83bc5b2d
Restore drm state correctly
2017-12-02 17:07:52 +01:00
Drakulix
33286df0d6
Make it impossible to pass invalid `SessionObserver` ids.
...
- Add an associated type to the `SessionNotifier` trait for the returned Id's instead of using usize.
- Create a new Id type for the `DirectSessionNotifier`'s implementation, wrapping the previously used usize.
- Derive necessary traits of the new wrapper, make internal value inaccessible and Id's not publically constructable.
2017-12-02 14:24:39 +01:00
Drakulix
612436e42d
Correctly scan for any encoders
2017-12-02 13:51:08 +01:00
Drakulix
13be5b1634
Add documentation
2017-11-29 22:28:14 +01:00
Drakulix
0350dca972
Automatically add udev backend to the event loop store
2017-11-29 22:28:14 +01:00
Drakulix
ef2e0571e7
Swap session signal to usr2, because xwayland may use usr1
2017-11-29 22:28:14 +01:00
Drakulix
b4be5a5786
Comment out logind integration for now
2017-11-29 22:28:14 +01:00
Drakulix
24f2d499f3
Add more logging to session
2017-11-29 22:28:14 +01:00
Drakulix
606efebe1b
Remove unnecessary mutexes
2017-11-29 22:28:14 +01:00
Drakulix
96bb3570ba
Get input working
2017-11-29 22:28:14 +01:00
Drakulix
c7682e77de
Udev backend
2017-11-29 22:28:13 +01:00
Victor Berger
c31d966fd4
Upgrade wayland-server to 0.12
2017-11-03 17:31:51 +01:00
William W Wold
291ba17a5c
added scroll events to pointer and winit demo
2017-10-15 16:29:29 +02:00
Demur Rumed
50aa38df72
Fix misc rustfmt nits
2017-10-09 15:17:19 +02:00
Demur Rumed
ce844ba9f8
Cargo.toml: include repo, update nix/image
2017-10-09 15:17:19 +02:00
Jonas Platte
4946017c0c
Apply a bunch of clippy suggestions
2017-10-07 18:40:59 +02:00
Victor Berger
8ee08ef6f2
wayland: document general behaviour of the client handlers
2017-10-01 22:47:30 +02:00
Victor Berger
249ae98e0f
Fix invalid drop in SHM doc test
...
Allowing the display to be dropped this early destroys the whole wayland
context before we start using it... bad idea.
2017-10-01 22:47:30 +02:00
Victor Berger
9e809f85dd
wayland: output global
2017-10-01 22:47:30 +02:00
Drakulix
51886fbf00
Update to stable drm-rs version
2017-10-01 22:25:52 +02:00
Victor Berger
2fbb45273f
cargo fmt
2017-09-30 12:05:28 +02:00
Victor Berger
30efcea2ee
travis: test various features combination
2017-09-30 12:05:28 +02:00
Victor Berger
15ce7134fc
Move wayland utilities to their own module.
2017-09-29 17:24:20 +02:00
Victor Berger
5a0713feb9
Fix winit backend on wayland
...
We were trying to swap_buffers while the xdg_surface had not been
configured yet, which is a protocol error.
2017-09-29 17:22:19 +02:00
Victor Berger
502a99c5f9
Remove debug printlns
2017-09-29 17:22:19 +02:00
Victor Berger
31f39ed61a
seat: increase logger metadata
2017-09-23 18:31:39 +02:00
Victor Berger
532cb6b78e
seat: doc & warnings & fmt & cleanup methods
2017-09-22 18:42:52 +02:00
Victor Berger
4b01b55f75
seat.keyboard: fix sym peek with +8 offset
2017-09-22 15:03:23 +02:00
Victor Berger
e1ade4e2e9
seat: implementation
2017-09-22 14:54:18 +02:00
Victor Berger
bb7d389be6
utils: fmt
2017-09-22 14:53:39 +02:00
Victor Berger
648da00c6a
compositor: allow the choice or iteration direction in subsurface trees
2017-09-22 14:53:07 +02:00
Victor Berger
3dd559cdf1
Move Rectangle to utils module.
2017-09-22 10:54:16 +02:00
Victor Berger
e6600dfbe9
seat.keyboard: handle repeat-info
2017-09-21 21:40:11 +02:00
Victor Berger
5241b8f79e
seat: directory structure
2017-09-21 21:08:30 +02:00
Victor Berger
2850def0f4
Rework keyboard handler
2017-09-21 21:08:30 +02:00
Drakulix
7f45283759
cargo fmt
2017-09-21 20:50:10 +02:00
Drakulix
d2617becbf
Fix drm doc test and Deref impl
2017-09-21 19:05:59 +02:00
Drakulix
f09bdd0a30
cargo fmt
2017-09-20 20:06:58 +02:00
Drakulix
518f7dbdfc
Store DrmBackend in EventLoop state
2017-09-20 19:48:58 +02:00
Drakulix
0758ec98ba
Fix the drm backend for wayland-rs 0.10
2017-09-20 17:09:37 +02:00
Drakulix
457d6d1c35
Free framebuffers correctly
2017-09-20 15:56:57 +02:00
Drakulix
fa6742fb5f
The glory of error-chain
2017-09-20 15:56:11 +02:00
Drakulix
a04bfcdd11
Add encoder detection to runtime manipulation
2017-09-20 15:54:16 +02:00
Drakulix
174e4b9d0b
Fix encoder detection
2017-09-20 15:53:19 +02:00
Drakulix
d3fca34475
Do a better job at finding a crtc in the example
2017-09-20 15:52:47 +02:00
Drakulix
bdb91fc1f1
Better explaination of the drm module
...
- Explain the types involved and their role
- Link to the drm-rs documentation
2017-09-20 15:51:59 +02:00
Drakulix
67b3621be3
drm: reformat
2017-09-20 15:51:59 +02:00
Drakulix
ab77a87725
drm: Check for valid encoder
2017-09-20 15:51:59 +02:00
Drakulix
10fd94f963
drm: add more logging
2017-09-20 15:51:39 +02:00