Commit Graph

170 Commits

Author SHA1 Message Date
Poly ea59b2f522
wayland.xdg-activation: fix `retain_requests` typo
Co-authored-by: Victor Berger <vberger@users.noreply.github.com>
2021-07-31 22:38:42 +02:00
Poly f24332f4b4 wayland.xdg-activation: Initial implementaion 2021-07-31 21:16:39 +02:00
Poly 1c6db1e7ee wayland.shell.layer: change role static to constant 2021-07-31 13:45:57 +02:00
Poly 84d3d6e609 wayland.shell: implement wlr_layer_shell 2021-07-31 13:44:04 +02:00
i509VCB 23a8af399d xdg-foreign
This is very much incomplete, but it implements the import and export of surfaces. However functions related to setting and imported surface the parent of another surface is not done.

importer destructor destroys all imports made from the same client 


Implement SetParentOf, no undoing yet


Add inner import type


Destroy child surface relationships when importing


A note


move init function upwards


use 0.29.0 crate


Move role string constants into the public


Use toplevel_like for surface checks in foreign


add methods to get the parent surface


Make sure ZXDG roles are public api


Consistent ordering of parameters on xdg_foreign impl methods


Let's update the changelog


Document how to use xdg_foreign


wl_shell_surface is likely invalid, so it cannot be imported or exported


Changelog suggestions


remove redundant inner ref cell


Remove all uses of the refcell like behavior


Allow compositor to export surfaces on server



Appease new clippy lints


then


Use string references and iterate in reverse to simplify removals


heed request for order
2021-07-31 11:40:24 +02:00
Poly df9be985ca Fix Clippy 2021-07-30 18:10:48 +02:00
Poly c136cd5f34 wayland.data_device: Early return on protocol error 2021-07-27 09:32:34 +02:00
Poly 6856ae891f wayland.data_device: Add None as a valid DND action 2021-07-27 09:32:34 +02:00
Victor Berger 07deba4c1b Documentation fixes in preparation for release 2021-07-25 11:19:09 +02:00
i509VCB 7e4eff529e Put smithay's docs through a spell checker.
I noticed quite a few spelling errors, so I fixed a whole bunch of them.
2021-07-25 09:09:56 +02:00
Victor Berger 782b21f363 Update dependencies 2021-07-25 09:09:12 +02:00
Poly 7e4e78151a Implement XdgOutput protocol 2021-07-24 18:51:27 +02:00
Victor Brekenfeld 1cf1d4739b buffer: use Size instead of width/height 2021-07-13 23:37:28 +02:00
Victor Berger 54ea0d3a74 Introduce Logical/Physical Point/Rectangle 2021-07-13 13:58:06 +02:00
Poly 07743faad2 Apply suggestions from code review & Rebase 2021-07-05 23:57:28 +02:00
Poly 90a62aeae7 wayland.tablet: Add tablet manager protocol 2021-07-05 22:36:32 +02:00
Victor Berger 468a3bb8dc doc: expand root documentation 2021-07-05 22:34:54 +02:00
Victor Berger d5b033f5b5 move signaling to utils::signaling 2021-07-05 22:34:54 +02:00
Victor Berger 0ac045eb17 wayland.data_device: review docs & API 2021-07-05 22:34:54 +02:00
Victor Berger 6454ebecf0 wayland.dmabuf: review docs & API 2021-07-05 22:34:54 +02:00
Victor Berger 694666b31f wayland.seat: review docs & API 2021-07-05 22:34:54 +02:00
Victor Berger e96272cae5 wayland.shell.xdg: review docs & API 2021-07-05 22:34:54 +02:00
Victor Berger ba6bef3e85 wayland.shell.legacy: review docs & API 2021-07-05 22:34:54 +02:00
Victor Berger 4214cb9fc5 wayland.shm: review docs 2021-07-05 22:34:54 +02:00
Victor Berger 811df39214 Add all missing Debug implementations
Fixes #258
2021-07-05 21:40:50 +02:00
Victor Berger f27658b759
Merge pull request #306 from cmeissl/feature/surface-enter-leave 2021-07-03 17:01:13 +02:00
Christian Meissl 6b2273235a fix popup geometry calculation and relative
placement to parent geometry
2021-07-01 23:52:40 +02:00
Christian Meissl df208fa6c8 clamp cursor with current output height
move fullscreen output geometry calculation to
a helper function

rename with_outputs to with_client_outputs and
take client instead of generic resource
2021-06-30 23:56:01 +02:00
Christian Meissl 0d88a392fa add an output_map which handles...
the positioning of outputs, tracks
the surfaces on the outputs and
sends enter/leave for the surfaces

Additionally the output_map will
handle re-location of windows if
a output mode is changed, an output is
added or removed.

The shell has been updated to use the
primary output for the initial placement.
The fullscreen/maximize requests will now
handle the shell part correctly. For real
fullscreen output the rendering has to be
changed.

The output name is considered unique
and an output can be retrieved from
the map by location, output or name.
This can be used as the base for HiDPI
handling.
2021-06-30 18:24:51 +02:00
Victor Berger 3a0c631edd Rudimentary xdg_popup support 2021-06-29 23:59:55 +02:00
Victor Berger 47bc37c67b Disable pointer grab with dead starting surface 2021-06-29 23:27:23 +02:00
Christian Meissl 736eb11cd5 use platform specifc types for XlibWindow and gbm
this fixes compilation on 32bit targets like armv7
2021-06-29 18:46:00 +02:00
Victor Berger 053bc98faa Fix all CI warnings 2021-06-29 18:03:44 +02:00
Victor Berger ad55ab71c9 compositor: Introduce transaction state tracking
This changes the state handling logic of wl_surface to automatically
track subsurface pending in the form of transactions. The role enum
(and the associated type parameter) is no more, and replaced by a
general-purpose typemap-like container on surfaces.

The new logic is introduced in the files:

- `src/wayland/compositor/cache.rs`
- `src/wayland/compositor/transaction.rs`

The rest of the PR is the fallout of these changes, as well as a few
trivial clippy fixes.
2021-06-26 21:52:38 +02:00
Christian Meissl 6bd0d71ebc do not remove the surface focus during ungrap
fixes #163
2021-06-22 13:15:30 +02:00
Christian Meissl c4f2d34647 fix clippy unknown lint 2021-06-20 12:08:04 +02:00
cmeissl e9aef7caad
rework xdg_shell (#286)
* rework xdg_shell
use distinct surface roles for xdg_toplevel and
xdg_popup using a xdg_role! macro

* fix clippy warnings in shell

* added a generic DeadResource error and...
...added a result to xdg with_pending_state
Renamed the ToplevelState to ToplevelStateSet
2021-06-15 23:32:02 +02:00
Victor Berger 41c7b22cc4 doc: fix ci upload & broken links 2021-06-11 17:46:32 +02:00
Victor Berger 9ad0edd2a3 Fix several clippy lints 2021-06-10 22:01:10 +02:00
Victor Berger c630bd9086 cargo fmt 2021-06-10 22:01:10 +02:00
Stefan Schick b17b40c2bb
Use Default derive for ModifiersState and remove new() (#285) 2021-06-08 21:58:21 +02:00
Victor Berger ad444ead75 wayland.dmabuf: fix doctest 2021-06-08 21:57:35 +02:00
Victor Brekenfeld a38592bc92 dmabuf: Unify types of `wayland::dmabuf` and `allocator::dmabuf` 2021-06-08 21:57:35 +02:00
Victor Berger 3f01f978f8 wayland.compositor: DispatchData available in the callback 2021-06-03 11:45:22 +02:00
Christian Meissl 4f0161658f make the frame_callback a list 2021-05-30 15:40:35 +02:00
Victor Berger 6bfe6e1f25 Fix damage handling to support multiple rectangles 2021-05-24 23:50:14 +02:00
Victor Brekenfeld e696ce4c35 fix intra-doc links 2021-05-24 19:15:46 +02:00
Victor Brekenfeld 6c25dde36e Fix some missing Debug implementations 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 52c01535d0 rustfmt 2021-05-15 16:12:12 +02:00
Victor Brekenfeld c388a502c4 Add allocator module
- Add module that deals with different kinds of buffers (memory and external),
  their allocation and usage for rendering. Also try to properly support modifiers this time.
- Describe gbm functionality as an allocator (instead of a rendering device/surface).
- Also create a quick-and-dirty dumb buffer allocator for tesing / simpler tasks.
- Add a (current untested) wrapper for dmabufs and some code for converting from gbm for now.
- (also untested) Swapchain helper to manage front/backbuffers for surfaceless rendering.
2021-05-15 16:12:12 +02:00