Jonas Platte
f34cf4b068
Upgrade anvil to wayland-server 0.23
2019-02-24 08:23:51 +01:00
Jonas Platte
c238770a1b
Remove unused imports
2019-02-24 08:23:51 +01:00
Victor Berger
3d8f22c805
Don't promise thread-safety that we can't respect
2019-02-24 08:23:51 +01:00
Victor Berger
3f2857fbf3
Update smithay to wayland-server 0.23
2019-02-24 08:23:51 +01:00
Victor Berger
89dce178c8
Make wayland support optional
2019-02-06 09:29:56 +01:00
Victor Brekenfeld
cc5d55f535
rustfmt fixes
2018-12-17 16:58:49 +01:00
Victor Brekenfeld
e5f8c351c7
Check for rust_2018_idioms
2018-12-16 19:31:38 +01:00
Victor Brekenfeld
71bd64a6bf
Fix source code for 2018 edition
2018-12-16 19:31:38 +01:00
Victor Brekenfeld
dc97e0ad03
Add reexports module
2018-12-14 14:26:50 +01:00
Victor Brekenfeld
04aee7cbc9
Replace documentation links with intra rustdoc links
2018-12-13 15:14:25 +01:00
Victor Berger
d1d608ab2b
anvil: draw custom cursors and dnd icons
2018-12-11 10:21:59 +01:00
Victor Berger
280decf863
data_device: support for custom DnD icons
2018-12-11 10:21:59 +01:00
Victor Berger
f3a68fb1af
seat: support for curstom cursor images
2018-12-11 10:21:59 +01:00
Victor Brekenfeld
a3acd48cc3
fmt: rust 1.31
2018-12-08 18:31:08 +01:00
Victor Brekenfeld
a1b8d2bf47
docs: clarify get_framebuffer_dimensions
2018-12-08 17:26:05 +01:00
Victor Brekenfeld
c24619861e
egl: style: move constraints into where clause
2018-12-08 17:26:05 +01:00
Victor Berger
7dc3d64b6e
docs: typo fixes
...
Co-Authored-By: Drakulix <github@drakulix.de>
2018-12-08 13:47:22 +01:00
Victor Brekenfeld
a8343edbd7
legacy: add legacy drm example
2018-12-05 22:51:41 +01:00
Victor Brekenfeld
bbe767002d
comments: add more explainations to new code
2018-12-05 22:48:10 +01:00
Victor Brekenfeld
a3734da9da
gbm: update to gbm 0.5
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
8fbce616a6
libinput: update to 0.4.1
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
aa2090c079
docs: add session/multi
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
2bc45d4053
docs: fix backend_session_logind
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
36b265400a
docs: add graphics/gl
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
6609754d13
docs: add drm/egl
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
1f8a7e7335
docs: add drm/gbm
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
3b92e351b1
docs: added drm/legacy
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
174c150887
docs: added drm
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
b160a91f8a
drm: remove mode & connector arguments of create_surface
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
f8a5e8bfde
anvil: allow for non-egl builds
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
f2466c5c50
drm: Fix drop order
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
2c73651327
logind: fix dbus spamming the event queue
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
51f0050d68
drm: fix dropping master when killed from another tty
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
8abcc145d7
egl: EGLContext borrow native to circumvent RefCell runtime error
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
0ed69bf2da
session: Add multiplexer
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
5741ccdd46
gbm: fix EGLSurface recreation
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
d6e7fb591e
direct: fix udev feature name
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
e7575d08b8
gbm: fix calling lock_front_buffer without eglSwapBuffers
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
9a82de6fae
graphics: Move PixelFormat out of gl module
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
7e3217f96d
lib: fix feature names for crate imports
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
d07c66985f
gbm: CursorBackend depends on backend_drm_legacy
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
59e0ad87f9
gbm: do not expose egl support, if backend_egl is not enabled
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
de526f4b23
drm: Add functions to query device state
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
2675cf94dc
egl_surface: fix CursorBackend implementation
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f17e37465b
drm: Remove associated Return type from Device
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f8499e533a
libinput: fix warning when not building backend_session
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
9e5dad4c23
session: export OFlag
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f74af7ba18
udev: use same order for bind arguments
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
9ee44672a0
cargo fmt
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
bd5690bd77
Refactor drm backend
...
- Split `DrmDevice` into `LegacyDrmDevice`, `GbmDevice` and `EglDevice`
- Provide common `Device` and `RawDevice` traits
- Change `DrmBackend` into `Surface` (and `RawSurface`) implementations of each `Device` (or `RawDevice`)
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
b537237a74
Refactor udev backend
...
- Do not open devices for `UdevHandler` anymore
- `UdevBackend` does not require `LoopHandle` or `Session` anymore
- Type of the created device can be choosed freely by the handler
- `UdevBackendObserver` is not needed anymore
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
505791e336
Upgrade backends to calloop 0.4 and renamed gl-traits
2018-11-29 16:13:05 +01:00
Victor Brekenfeld
38ec44f70c
Hide SoftwareRenderer behind feature flag
...
- Don't let backend depend on `CursorBackend` (used to be `GraphicsBackend`) anymore
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
ccc7abc94f
Create general SwapBuffersError
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
bbf28655d1
Rename GraphicsBackend to CursorBackend
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
ac0dc42e9e
Add seperate GL module
...
- Move parts of glium & egl module into own module
- Add raw GL loader as an alternative
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
c9e67cdfef
Move egl module
...
- Remove gbm code
- rename EGLWaylandExtensions to EGLGraphicsBackend
- remove OpenGL specific code where possible
2018-11-29 16:12:11 +01:00
Victor Berger
5c8e362a9e
wayland.shell: Fix a leak of surfaces
2018-11-28 23:34:30 +01:00
Victor Berger
ed00fb1d47
data_device: move default_action_chooser into smithay
2018-11-22 15:37:31 +01:00
Victor Berger
cc80233318
data_device: module-level docs
2018-11-22 15:02:01 +01:00
Victor Berger
41f1b37834
data_device: let the compositor generate DnD grabs
2018-11-22 00:29:23 +01:00
Victor Berger
d41517f85b
data_device: let the compositor interact with the selection
2018-11-21 22:24:18 +01:00
Victor Berger
35645596a8
data_device: let the compositor decide the action choice strategy
2018-11-21 16:01:34 +01:00
Victor Berger
81956c8fd0
data_device: basic DnD support
2018-11-21 15:28:41 +01:00
Victor Berger
3e28358668
seat: track pressed buttons for the grab
2018-11-20 23:27:12 +01:00
Victor Berger
0434cbb90d
data_device: basic selection support
2018-11-20 11:56:04 +01:00
Victor Berger
f1251a31e6
seat: user data mechanism for Seat
2018-11-18 23:04:50 +01:00
Victor Berger
5e9ad96b0f
seat: add a keyboard focus hook
2018-11-18 23:04:30 +01:00
Victor Berger
afd92d0a3d
seat: add utilities to Seat
2018-11-17 23:10:48 +01:00
Victor Berger
03cf6ed35f
seat: KeyboardHandle::has_focus
2018-11-17 19:08:47 +01:00
Pablo Stebler
630b659ae6
Upgrade calloop and winit ( #114 )
...
* Fix compilation with calloop 0.4
* Use `Into` instead of changing signatures
* Bump winit to 0.18
* Fix logind for calloop 0.4
* Cargo fmt
2018-11-17 18:01:04 +01:00
Colin Benner
734d2ce996
Fmt, spelling and capitalisation fixes ( #113 )
...
* Rename priviledged to privileged in backend/drm/mod.rs
* Fix a number of typos in comments
* Fix typos in string literals
* Wrap identifiers with backticks in doc comments
* Spelling and capitalisation in doc comments
* Use XWayland in comments
This seems to be the standard capitalisation, even though the executable
is called `Xwayland`.
* Use Glium instead of glium in comments
* Use DRM and API in comments
* Fix remaining occurrence of 'priviledged'
* Reformat code to appease Travis' rustfmt
2018-10-30 13:56:30 +01:00
Tim
214759aecf
Typo
2018-10-18 10:55:21 +01:00
Victor Berger
9f0a1fb244
backend.winit: remove the moved() event
...
This event poses issues regarding its semantic (what space are the
coordinates in?) and arguably won't be used anyway. So let's remove it
for now, it can still be added afterwards if it appears to be really
needed.
2018-10-15 11:15:10 +02:00
Victor Berger
df12fa4e8b
backends.winit: only expose physical sizes
...
Unify winit with the other backends in only ever dealing with physical
sizes. All dimensions and coordinates are provided in the physical space
(transformed by the dpi factor provided by winit), and the user is
responsible for dealing with the dpi scaling if they want.
A compositor using it can deal with it either by following the scaling
transmitted by the backend or using some value retrieved by other means
(like a command line argument, like weston does).
This means that a non-hidpi aware implementation will appear very small
on an hidpi screen, but not broken. This is now the current state of
anvil.
This also changes the WinitEventsHandler trait to merge the resized()
and hidpifactorchanged() callbacks into a single one, providing the
physical size and the dpi factor whenever either changes.
2018-10-15 11:15:10 +02:00
Victor Berger
f9bd83c3b5
wayland.seat: send keymaps in individual tempfiles
...
Send keymaps to client using a new tempfile for each client, rather than
a single shared tempfile. Doing so prevents a client from tempering with
the contents of the tempfile, which would then cause other clients to
read a corrupted keymap.
See this bug report for details:
https://bugs.freedesktop.org/show_bug.cgi?id=101595
2018-10-08 14:09:58 +02:00
Victor Berger
1618c45d4e
wayland: use AtomicUsize for SerialCounter
2018-10-08 13:55:21 +02:00
Victor Berger
139d0f3992
wayland.seat: Pointer grabbing logic
2018-10-08 13:55:21 +02:00
Victor Berger
1301fb6e62
wayland: global counter for client serials
2018-10-08 13:55:21 +02:00
Jonas Platte
a77e29d9b5
lib: Use nested imports
2018-10-07 22:39:18 +02:00
Jonas Platte
943f02b447
Refactor Seat::add_keyboard
...
With the new XkbConfig struct, it is now easier to just use xkbcommon's
default configuration, by moving the xkbcommon specific options into a
struct with according documentation.
Additionally, anvil now uses xkbcommon's defaults with all backends
(previously, the winit backend had a hardcoded french keyboard layout).
2018-10-02 23:12:35 +02:00
Lucas Timmins
2e9096923e
Update changelog and make the argument of `WinitEventsHandler fn moved()` a LogicalPosition
2018-09-30 19:24:13 +08:00
Lucas Timmins
673f0cd0aa
Use physical size to resize egl surface and change `WinitEventsHandler fn resized()` to take a LogicalSize
2018-09-30 19:22:35 +08:00
Lucas Timmins
ffdf245259
Upgrade winit backend to 0.17
2018-09-30 19:22:35 +08:00
Victor Berger
bd08f78acd
Return the backends to the user if binding fails.
2018-09-28 18:01:33 +02:00
Victor Berger
7f8d32429b
cargo fmt
2018-09-27 21:17:10 +02:00
Victor Berger
6328f68b71
fix yet even more errors with logind backend
2018-09-25 11:55:30 +02:00
Victor Berger
95d55f4b96
fix yet more errors with logind backend
2018-09-25 11:20:17 +02:00
Victor Berger
97e960a0f1
fix more logind backend errors
2018-09-25 10:29:35 +02:00
Victor Berger
53d27264a2
fix some logind backend errors
2018-09-25 09:44:07 +02:00
Victor Berger
269c9a5c7c
fix doc copy/paste error
2018-09-25 09:43:49 +02:00
Victor Berger
454f874284
cargo fmt
2018-09-25 00:32:09 +02:00
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
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