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
Drakulix
73d262e292
drm: reformat
2017-09-20 15:51:39 +02:00
Drakulix
9c71793b0e
drm: Add more inline comments explaining the drm code
2017-09-20 15:51:39 +02:00
Drakulix
7bf4105050
drm: Add error for multi-use of a single crtc
2017-09-20 15:51:39 +02:00
Drakulix
f2bff6172b
drm: Documentation
2017-09-20 15:51:38 +02:00
Drakulix
0698775153
drm: Introduce the Drm Backend
...
- new backend rendering via egl via gbm directly on a drm device
- refine EGLContext and EGLSurface dependencies through lifetimes
- fixup the old winit backend to work with these changes
- add new example using the drm backend instead
- change GliumDrawer to be static for the drm example
2017-09-20 15:50:14 +02:00
Victor Berger
32e60de4f3
shell: update to new wayland-server
2017-09-20 15:03:39 +02:00
Victor Berger
33f80a622f
compositor: update to new wayland-server
2017-09-20 15:02:45 +02:00
Victor Berger
bb86b1c3ed
shm: update to wayland-server-0.10
2017-09-20 09:56:44 +02:00
Victor Berger
22a2f4649f
shell: fix doc typos
2017-09-08 13:13:07 +02:00
Victor Berger
08e6187e47
shell: module-level documentation
2017-09-06 16:35:49 +02:00
Victor Berger
eeb6373ded
Silence example warnings.
2017-09-06 16:33:35 +02:00
Victor Berger
3171160cff
shell: fix warnings
2017-09-06 15:21:12 +02:00
Victor Berger
6dec2cb5da
shell: types documentation
2017-09-06 14:41:59 +02:00
Victor Berger
db6bad1676
compositor: return value from Token::with_surface_data
2017-09-05 21:23:17 +02:00
Victor Berger
aab56047f0
Update example to use shell global
2017-09-05 21:09:50 +02:00
Victor Berger
88773cf1b3
cargo fmt
2017-09-05 19:51:05 +02:00
Victor Berger
3128585fc9
shell: shell backend first draft
2017-09-05 19:50:22 +02:00
Victor Berger
70f7b19940
compositor: add missing token method
2017-09-05 12:05:42 +02:00
Victor Berger
5c46ba73e9
compositor: rework roles
2017-09-04 13:15:20 +02:00
Victor Berger
b19fafa1a0
Update winit dependency
2017-06-24 10:31:36 +02:00
Victor Berger
030261116d
winit's Event has more variants now
2017-06-23 16:14:33 +02:00
Victor Berger
4f6a852652
cargo fmt
2017-06-23 15:40:28 +02:00
Victor Berger
9d2f03943e
replace unsafe impls from wayland-server with declare_handler macro
2017-06-23 15:24:23 +02:00
Victor Berger
d475435fcb
cargo fmt
2017-06-23 15:24:23 +02:00
Victor Berger
a487c5963a
compositor: TraversalAction for tree traversal
2017-06-23 15:20:09 +02:00
Victor Berger
bffc02c5f1
glium: impl Facade
2017-06-23 15:20:09 +02:00
Victor Berger
d819e15e29
compositor: Handler is now parametred by user data
2017-06-23 15:20:09 +02:00
Victor Berger
afd9ca5656
shm: rename ShmGlobalToken to ShmToken
2017-06-23 15:20:09 +02:00
Victor Berger
bf9ee9a395
cargo fmt
2017-06-23 15:20:09 +02:00
Victor Berger
e009651371
compositor: various doc fixes
2017-06-23 15:19:27 +02:00
Victor Berger
267847eebf
compositor: add logging
2017-06-23 15:19:27 +02:00
Victor Berger
627008dbce
compositor: module documentation
2017-06-23 15:19:27 +02:00
Victor Berger
9fe6f16af3
compositor: provide default noop impls from Handler
2017-06-23 15:19:27 +02:00
Victor Berger
deb072afbb
compositor: give access to surface children and region metadata
2017-06-23 15:19:27 +02:00
Victor Berger
a5ae27be84
Implement wl_subsurface.place_{above,below}.
2017-06-23 15:19:27 +02:00
Victor Berger
1e960af5f2
Add subhandler for wl_surface.{commit,frame}
2017-06-23 15:19:27 +02:00
Victor Berger
8809f182b5
Fuse CompositorGlobal and CompositorHandler
2017-06-23 15:19:27 +02:00
Victor Berger
13d0479264
First draft of compositor global.
2017-06-23 15:19:27 +02:00
Drakulix
206007f5a5
rustfmt 0.9 update
2017-06-20 11:31:18 +02:00
Drakulix
b131f8168e
Shorten surface type matching
2017-06-20 10:50:20 +02:00
Drakulix
f70cc6bf55
rustfmt
2017-06-18 19:20:23 +02:00
Drakulix
57833f2b2d
Bugfix surface_attribute termination
2017-06-15 13:34:01 +02:00
Drakulix
40e49ad7e9
Fix typos
2017-06-15 13:33:43 +02:00
Drakulix
5155b44946
Check if surface type is matching context type
2017-06-15 13:33:18 +02:00
Drakulix
eef617258e
rustfmt
2017-06-10 23:29:09 +02:00
Drakulix
2d255fd48d
Decouple EGLSurface from EGLContext
2017-06-10 23:28:09 +02:00
Drakulix
11e9999cb9
Better wording for winit make_current
2017-06-05 14:06:58 +02:00
Drakulix
7a0639fae6
Reorder egl library loading
2017-06-04 23:22:51 +02:00
Drakulix
83b98ba77b
Run cargo fmt
2017-06-04 23:13:19 +02:00
Drakulix
2453545329
Added logging to egl&winit + small bugfixes
...
- Added logging to winit & egl
- Fixed winit pointer scroll event only yielding horizontal events
- Fixed unsupported double_buffering for egl
2017-06-04 23:11:26 +02:00
Drakulix
4053d2bc30
Fixed copy&paste logging message errors
2017-06-04 23:10:50 +02:00
Drakulix
a7628610d4
Remove robustness for now
2017-06-02 15:32:31 +02:00
Drakulix
f890b4011d
Fix egl initialization segfaults
...
- Don't initialize a surface twice, if context creation fails for one
version
- Don't let the loaded egl library go out of scope and thus invalidating
the function pointers
2017-06-02 15:25:16 +02:00
Drakulix
e191c08186
Move glium.rs
2017-06-02 13:55:34 +02:00
Drakulix
2c9f6a7479
Flesh out glium compatibility
2017-06-02 13:55:28 +02:00
Drakulix
115eb4d200
Update winit
2017-06-02 13:54:34 +02:00
Drakulix
dbaf4f7746
Rename variable to avoid confusion
2017-05-23 11:03:03 +02:00
Drakulix
94d6a0f987
Fix broken robost implementation
2017-05-23 11:02:39 +02:00
Drakulix
786d719dad
rustfmt fixes
2017-05-21 22:50:50 +02:00
Drakulix
5bc641852f
Bugfixes
2017-05-21 22:40:15 +02:00
Drakulix
b950714c03
First EGL Rework draft
2017-05-18 22:28:02 +02:00
Drakulix
196b48041b
Use an enum instead of a struct for `UnusedEvent`
2017-04-29 16:23:45 +02:00
Drakulix
3bd25011b0
Replace `()` with `UnusedEvent`
2017-04-27 16:12:06 +02:00
Drakulix
a2f3b2a303
Fix some clippy warnings
2017-04-26 20:19:57 +02:00
Drakulix
f7d3b3dee3
Fix formatting
2017-04-26 20:10:28 +02:00
Drakulix
4c5e2be11e
Update libinput to v0.1.1
2017-04-26 20:09:57 +02:00
Drakulix
092fc198c3
Fixup glutin backend and more bugfixes
2017-04-24 00:30:02 +02:00
Drakulix
4fc595f68a
Fixup libinput backend to use new event api
2017-04-23 19:55:43 +02:00
Drakulix
d62f491801
Refactor `InputBackend` to use events.
2017-04-23 19:55:11 +02:00
Drakulix
056ce6312c
Add set_cursor_representation
2017-04-21 22:25:01 +02:00
Drakulix
9b6273f297
Add set_output_metadata
2017-04-18 21:57:53 +02:00
Drakulix
109f4035e8
Move set_cursor_position to the graphics backend
2017-04-18 21:20:08 +02:00
Drakulix
f95faba80f
Add libinput documentation
2017-04-15 22:53:09 +02:00
Drakulix
4afad6f939
Expand `Seat` documentation
2017-04-15 22:48:55 +02:00
Drakulix
cc6f0c9d73
Expand `on_seat_changed` documentation
2017-04-15 22:45:26 +02:00
Drakulix
66ea275d71
Fixup seat implementation
2017-04-15 22:42:42 +02:00
Drakulix
4c591a86bd
Add initializer
2017-04-15 22:38:33 +02:00
Drakulix
8cbe96d1ac
Add more logging
2017-04-15 22:28:51 +02:00
Drakulix
da93b4ac67
Add touch event passing
2017-04-15 22:20:11 +02:00
Drakulix
2cc401594d
Add pointer button event passing
2017-04-15 22:02:44 +02:00
Drakulix
01884a6aa8
Add pointer axis event passing
2017-04-15 21:46:27 +02:00
Drakulix
a5cfed8715
Impl key events
2017-04-15 20:26:44 +02:00
Drakulix
3edb489a92
Add logging to libinput backend
2017-04-15 20:17:26 +02:00
Drakulix
4f3a140543
Fix capability update
2017-04-15 19:29:15 +02:00
Drakulix
0980f8a66c
Remove done todos
2017-04-15 19:29:15 +02:00
Drakulix
ab35f140a0
Use entry api for `DeviceAddedEvent`s seat creation/update
2017-04-15 19:29:15 +02:00
Drakulix
7aca2edb13
Adjust InputBackend for libinput compatibility
...
- Make id be an `u64` to be able to populate it by a hash
- Add internal interface to get a mutable capabilities reference from a `Seat`.
- `InputConfig` type does not need to be `Sized` on `InputBackend`
2017-04-15 19:29:15 +02:00
Drakulix
5369cc2927
First draft of a libinput backend
...
- Only does DeviceEvent parsing for now
- No way to initialize it
2017-04-15 19:29:15 +02:00
Drakulix
cba111bf4f
Add input crate
2017-04-15 19:29:15 +02:00
Victor Berger
c83792c570
Fix typo
2017-04-15 12:54:37 +02:00
Victor Berger
7b8a744aa2
Add logging to xkbcommon handler
2017-04-15 12:32:20 +02:00
Victor Berger
0c3bd1d001
Update slog and centralize log handling.
2017-04-12 21:31:31 +02:00
Victor Berger
4adcadd937
Create kdb handler from RMLVO rules
2017-04-11 08:41:33 +02:00
Victor Berger
a7117369a2
cargo fmt
2017-04-09 16:43:10 +02:00
Victor Berger
f5bee06b7b
keyboard: first draft of xkbcommon handling
2017-04-09 16:01:00 +02:00
Drakulix
ae375624ac
Fix formatting
2017-03-20 14:33:27 +01:00
Drakulix
d53a7fcc1d
Added SeatCapabilities
2017-03-19 21:55:32 +01:00
Drakulix
3120683b24
Fix glium support
2017-03-18 17:27:49 +01:00
Drakulix
55e56ffc6d
Rename Renderer to GraphicsBackend
2017-03-18 17:27:38 +01:00
Drakulix
4c2e0f889f
Update features
2017-03-18 17:26:51 +01:00