Sergey Smirnykh
73345375ac
Update winit dependency to version 22.0
2020-04-08 15:21:17 +02:00
Dorota Czaplejewicz
178a447394
winit: Don't resize in resize handler
...
The resize handler with a window resize request causes oscillations between two window sizes (presumably the inner and the outer). While it's not clear what part of the stack causes it, checking `window.get_inner_size()` already presents the correct size.
Either way, changing the same property in its change handler is a recipe for feedback loops as this one and should be avoided whenever possible, and then carefully fortified too.
2020-04-06 10:35:27 +02:00
Victor Berger
1b5537d537
Restore logind as a default feature
2020-04-05 20:03:09 +02:00
Jonas Platte
b8c20ebf30
Update wayland-rs to 0.25 ( #171 )
...
Update wayland-rs to 0.25 and calloop to 0.5
Co-authored-by: Victor Berger <victor.berger@m4x.org>
2020-04-05 19:01:08 +02:00
Victor Brekenfeld
fbe20d6c1f
Merge pull request #170 from Smithay/vberger/fix-libinput-device-drop
...
backend.libinput: fix tracking of removed devices
2020-04-01 18:24:41 +02:00
Victor Berger
63702a308a
backend.libinput: fix tracking of removed devices
2020-04-01 11:03:54 +02:00
Ivan Molodetskikh
e42ccc8aee
wayland: fix deadlock in SurfaceData::cleanup ( #166 )
2020-02-16 16:38:07 +01:00
Victor Berger
a60e1cd7fd
Merge pull request #156 from YaLTeR/resize
...
anvil: implement the Resize request
2020-02-12 22:57:32 +01:00
Ivan Molodetskikh
e1396d2e1a
anvil.shell: add our own ResizeEdge
...
It mirrors the one in wl_shell_surface and lets us not depend on it.
2020-02-11 11:06:36 +03:00
Victor Berger
517070d079
Merge pull request #158 from YaLTeR/fix-wl-shell-initial-size
...
anvil.shell: don't send first configure to WlShell
2020-02-09 17:07:49 +01:00
Ivan Molodetskikh
c0d0d0d2b8
anvil.shell: respect min and max size in resize
2020-02-08 18:36:09 +03:00
Ivan Molodetskikh
e76f9f14ed
anvil.shell: store min_size and max_size
2020-02-08 13:51:12 +03:00
Ivan Molodetskikh
097445bc20
shell.xdg: fix two copy-paste errors
2020-02-08 13:51:12 +03:00
Ivan Molodetskikh
adbab32bd8
anvil.shell: update location on top-left resizing
2020-02-08 13:51:11 +03:00
Ivan Molodetskikh
60ca2f9c88
anvil.shell: don't send first configure to WlShell
...
It doesn't need it, and it also takes the (0, 0) size literally, which
makes everything try to be the smallest size possible initially.
2020-02-08 09:53:50 +03:00
Ivan Molodetskikh
09d7f597d4
anvil.shell: refresh toplevels on commit
...
This updates the toplevel state in the WindowMap as soon as it's
committed. It will be used to update the toplevel location on top-left
resize, but this is a better approach in general than the current
update-every-drawn-frame. I think we should update the WindowMap state
as soon as possible, and only when necessary.
2020-02-08 08:47:14 +03:00
Ivan Molodetskikh
ab45cdecdc
anvil.window_map: add refresh_toplevel
2020-02-08 08:47:14 +03:00
Ivan Molodetskikh
9eb51b8439
shell.xdg: add XdgRequest::AckConfigure
...
This will be used for convenient resize state tracking.
2020-02-08 08:47:14 +03:00
Ivan Molodetskikh
223b523f80
anvil.window_map: add WindowMap::find
2020-02-08 08:47:14 +03:00
Ivan Molodetskikh
6d36375f27
anvil.window_map: implement Clone for Kind
2020-02-08 08:47:14 +03:00
Ivan Molodetskikh
33a9e242ed
wayland.shell: implement Clone for toplevels
2020-02-08 08:47:13 +03:00
Ivan Molodetskikh
ca7e91a98c
anvil.shell: implement the Resize request
...
Currently doesn't move the window when resizing left or top.
2020-02-08 08:47:13 +03:00
Ivan Molodetskikh
546ff48af5
anvil.window_map: add WindowMap::geometry
2020-02-03 16:54:11 +03:00
Ivan Molodetskikh
9fd9db82ae
anvil.shell: store geometry in SurfaceData
2020-02-03 16:54:11 +03:00
Ivan Molodetskikh
ebb3a05502
anvil: make get_size and contains_point methods
...
This removes the need to store them as generic members, and will ease
the addition of new methods.
2020-02-03 16:54:11 +03:00
Ivan Molodetskikh
533a006bd1
anvil.window_map: fix bbox computation
...
It said max_y = y + w instead of y + h.
2020-02-03 16:54:11 +03:00
Ivan Molodetskikh
5814626dbe
anvil.window_map: rename input_bbox to bbox
...
Since this value turns out to be more useful than for just input fast
path.
2020-02-03 16:54:10 +03:00
Victor Berger
7fa7fe03be
Merge pull request #155 from YaLTeR/fix-dimensions
...
anvil: retrieve buffer dimensions on commit
2020-02-03 14:53:35 +01:00
Victor Berger
719295931b
Merge pull request #153 from YaLTeR/move
...
Implement the Move request
2020-02-03 14:53:06 +01:00
Ivan Molodetskikh
a224f774ee
anvil: store buffer dimensions separately
...
Before this change, the texture size was used for the dimensions.
However, the texture is not created until the next rendered frame, which
means that frequently size was returned as zero, resulting in pointer
focus artifacts. With this change, the dimensions are retrieved
immediately on surface commit.
2020-02-03 12:56:59 +03:00
Ivan Molodetskikh
825995687a
anvil: add BufferUtils
...
A helper struct which currently contains only a method for retrieving
buffer dimensions. Will be used for getting the buffer dimensions early,
before rendering, to always have up-to-date size which is not zero.
2020-02-03 12:56:59 +03:00
Ivan Molodetskikh
46348367b1
backend.egl: add egl_buffer_dimensions
...
Allows to retrieve just the dimensions, without creating images and
whatnot.
2020-02-03 12:41:35 +03:00
Ivan Molodetskikh
fab0b7a05f
seat: remove ClickGrab.pending_focus
...
It was unused.
2020-02-03 12:31:39 +03:00
Ivan Molodetskikh
32613f3cd6
anvil.shell: check that grab is correct in Move
...
Check that the grab had a focus and it was the same client as this
surface.
2020-02-03 12:31:39 +03:00
Ivan Molodetskikh
d8495d81f2
anvil.shell: check that there's a grab before Move
...
If there's no click grab then the request is invalid.
2020-02-03 12:31:38 +03:00
Ivan Molodetskikh
03392bf7d1
seat: add GrabStartData to PointerGrab
...
Stores the data about the event that started the grab. Will be useful
for things like move and resize requests.
2020-02-03 12:31:38 +03:00
Ivan Molodetskikh
24af494cbf
anvil.shell: implement the Move request
2020-02-03 07:51:05 +03:00
Ivan Molodetskikh
ba1396ca8c
seat: add PointerHandle::current_location
2020-02-02 15:37:06 +03:00
Ivan Molodetskikh
0ea4ec9abe
anvil.window_map: add WindowMap::set_location
2020-02-02 15:37:06 +03:00
Ivan Molodetskikh
a51e421c19
anvil.window_map: add WindowMap::location
2020-02-02 15:37:06 +03:00
Ivan Molodetskikh
69b1c1870e
anvil.window_map: add Kind::equals
2020-02-02 15:37:06 +03:00
Victor Berger
e07a57885b
Merge pull request #154 from YaLTeR/input-region
...
Store and use the committed input_region
2020-02-02 11:27:34 +01:00
Ivan Molodetskikh
13cac4f693
anvil.shell: use correct region in contains_point
...
The one in SurfaceAttributes has potentially not been committed yet, and
the one in SurfaceData is the most up-to-date committed one.
2020-02-02 12:45:35 +03:00
Ivan Molodetskikh
fac4ca260e
anvil.shell: store input_region in SurfaceData
...
This is the most up-to-date committed input region.
2020-02-02 12:45:35 +03:00
Ivan Molodetskikh
fd50b45e61
anvil: implement input region check
2020-01-22 08:06:15 +03:00
Ivan Molodetskikh
9cf5b415c6
compositor: add RegionAttributes::contains
2020-01-22 08:05:15 +03:00
Ivan Molodetskikh
d30567512c
anvil.window_map: use Rectangle::default
2020-01-22 07:47:10 +03:00
Ivan Molodetskikh
52d86d3abf
rectangle: derive Default
2020-01-22 07:46:40 +03:00
Ivan Molodetskikh
aa65f3608d
anvil: add a contains_point fn for Window.matching
...
Currently implemented to be equivalent to the previous size-based check.
This will allow implementing an input-region-aware check.
2020-01-22 07:46:26 +03:00
Ivan Molodetskikh
9bfa85efc9
anvil.window_map: add some comments
2020-01-22 06:58:41 +03:00