Commit Graph

488 Commits

Author SHA1 Message Date
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
Drakulix 8e92c9c922 Add InputConfig 2017-03-18 17:14:52 +01:00
Drakulix 460630d0c8 Fixup documentation 2017-03-14 19:35:12 +01:00
Drakulix 728bab5690 Code cleanup 2017-03-14 19:35:02 +01:00
Drakulix ec8149b084 Initial glutin backend implementation 2017-03-14 19:34:48 +01:00
Victor Berger 4adea0950a rustfmt 2017-03-13 18:41:12 +01:00
Victor Berger 38708c4ead travis: Add clippy 2017-03-11 09:15:17 +01:00
Victor Berger 4fc1e44f62
shm: detail what SHM is 2017-02-22 19:36:52 +01:00
Victor Berger 34accc7da3 Properly close FD on memmap drop 2017-02-22 11:39:13 +01:00
Victor Berger a51a780e77 Add slog integration 2017-02-22 11:00:03 +01:00
Victor Berger 78ba42bdb1 shm: improve doc 2017-02-22 10:59:44 +01:00
Victor Berger 0499c4b8ed shm: kill bad client & document SIGBUS 2017-02-21 16:26:01 +01:00
Victor Berger 9d27537633 shm: SIGBUS handling machinery 2017-02-21 16:09:06 +01:00
Victor Berger 64a4fcb699 shm: add a proper Drop implementation to MemMap 2017-02-21 14:42:24 +01:00
Victor Berger 12dc3b65d8 shm: mmap logic 2017-02-20 22:32:03 +01:00
Victor Berger 48424da89b shm: API & wayland structure of the code
shm/pool.rs is left WIP and will handle the actual memory-map logic.
2017-02-19 20:39:05 +01:00
Victor Berger bddc46b53a Initial commit 2017-01-20 09:54:05 +01:00