Commit graph

54 commits

Author SHA1 Message Date
cpli
7e120a28a1
Port to wlroots 0.16 2023-01-27 01:17:06 +01:00
tiosgz
b82e6121c6 Prefer wlr_scene as the source of truth
Use it for getting the surface under cursor, position of surfaces, etc.
2022-07-30 19:22:58 +00:00
tiosgz
670b63b64a Render using wlr_scene
Apart from removing a lot of code, this commit also introduces (thanks
to wlr_scene) fine-grained damage tracking.

The lack of our own rendering code will only be an issue if the need for
custom effects (such as blur) arises; however, that's very unlikely and
it would probably require a lot of changes anyway.
2022-07-30 19:22:58 +00:00
tiosgz
f144eb1438 Keep an up-to-date wlr scene-graph
At the moment it isn't used at all and a lot of data is duplicated. This
is a temporary state introduced for nicer diff separation into several
commits.
2022-07-30 19:22:51 +00:00
tiosgz
a12e670657 input: map pointer to output if possible
This is needed in order for wlroots to interpret some values (mostly
coords of absolute input events) correctly. It for example fixes how the
pointer behaves with WLR_WL_OUTPUTS=2.

In order to also map the pointer/output pair when the pointer is created
before the output, a list of pointers has to be managed, which wasn't
needed until now.
2022-07-14 14:15:51 +00:00
tiosgz
4f39a54e69
Attempt to exit cleanly, without crash (#51) 2021-12-04 17:25:31 +00:00
tiosgz
b9078f543b Allow interactive move and resize at once
There is no technical reason not to allow resizing on opposite edges,
effectively getting single-directional interactive move (which can be
combined with another edge for resizing in the other direction).
2021-09-15 17:15:45 +00:00
tiosgz
b364634a9c Fix top edge interactive resize
The view jumped to the cursor position vertically.

While making this change, I also put some consistency into how position
and size are set (first the original ones are considered, and then only
updated as needed). It doesn't change the functionality, but is easier
to understand IMO.
2021-09-15 17:05:05 +00:00
Niclas
537a7d7f9c
Merge pull request #41 from tiosgz/pointer-focus
Pointer focus improvements
2021-09-13 19:06:18 +00:00
tiosgz
beccbcc56a Give pointer focus to layer shell surfaces as well 2021-09-10 21:06:41 +00:00
buffet
1189d74927 Use view_set_pos in process_cursor_motion 2021-09-05 18:35:07 +00:00
tiosgz
d5352862bb Update pointer focus more often
Until now, focusing a different view didn't move pointer focus to it,
even though it was under the cursor. The pointer had to move in order
to switch its focus. Similar situations should be handled after this
commit.
2021-09-05 10:51:58 +00:00
buffet
cf228a0819 Move stuff into output_damage() function 2021-08-15 17:07:54 +00:00
buffet
8772b45583 Don't redraw on cursor movements unless required 2021-08-14 21:31:31 +00:00
buffet
99743e7e2b Redraw twice on damage (even more hacky) 2021-08-14 20:25:15 +00:00
buffet
b832975c6d Add hacky lazy damage tracking implementation 2021-08-14 19:44:20 +00:00
buffet
9c7d848ce5 Add scoll event 2021-08-14 18:42:35 +00:00
buffet
7393f5abe5 Fix small bug 2021-08-09 19:20:11 +00:00
buffet
579e7aa004 Add kiwmi:unfocus(), clang-format 2021-08-09 18:55:01 +00:00
tiosgz
ecbc88c643 Add clipboard and clipboard management support 2021-08-01 16:01:57 +00:00
tiosgz
aa22efcfe8 Fix incompatibilities with wlroots 0.13 2021-04-24 11:53:05 +00:00
buffet
cd7cfae770 Differentiate between raw and translated keysyms 2020-08-27 20:48:15 +00:00
Hardy7cc
33cbb7e3d8
Add keyboard:configure (#18)
* Add keyboard:configure
This enables the user to set the keyboard with libxkbcommon.

* changed keyboard:configure to keyboard:set_keymap
this now take a table as parameter

* Rename set_keymap to keymap, fix style issues

Co-authored-by: buffet <niclas@countingsort.com>
2020-07-31 18:35:15 +00:00
buffet
6dcf139dbb clang-format 2020-01-28 16:50:57 +00:00
buffet
feae18cf72 Make positions integers 2020-01-26 19:28:00 +00:00
buffet
e81d18cde8 Add kiwmi:stop_interactive 2020-01-20 23:41:19 +00:00
buffet
06efda3a03 Respect layers for cursor motion 2020-01-19 19:45:13 +00:00
buffet
f1707e0d34 Fix focus getting stuck on layers 2020-01-18 20:01:23 +00:00
buffet
e4e88df667 Focus layer-shell 2020-01-18 19:38:47 +00:00
buffet
9732952cc4 Move seat into extra file 2020-01-18 15:56:12 +00:00
buffet
89e9046ccc Add interactive move and rudamentary resize 2020-01-17 19:51:56 +00:00
buffet
94ba184fd3 Add keboard:on_destroy 2020-01-15 22:48:15 +00:00
buffet
b740e7f2d0 Fix memleaks 2020-01-15 20:52:26 +00:00
buffet
a1716e56d7 Add cursor API 2020-01-07 14:48:55 +00:00
buffet
60c1c01616 Add keyboard to Lua API, make everything on lua->L balanced 2020-01-04 23:23:15 +00:00
Tadeo Kondrak
62daa5383c
Remove focus on click
It's a config responsibility now.
2019-12-30 22:24:53 -07:00
buffet
1e49f076d5 Rename request_set_cursor to seat_request_set_cursor 2019-12-29 13:03:54 +00:00
buffet
e2c9847c28 Merge branch 'cursor-image-handling' of git://github.com/tadeokondrak/kiwmi into tadeokondrak-cursor-image-handling 2019-12-29 13:00:45 +00:00
Tadeo Kondrak
351e5ed6d7 Add support for cursor axis and frame events (#15)
For scrolling support.
2019-12-29 11:10:51 +00:00
Tadeo Kondrak
f2db00a996
Verify focus on cursor image changes 2019-12-29 01:26:29 -07:00
Tadeo Kondrak
7f9b9748ea
Basic implementation of request_set_cursor
Requires moving wlr_seat initialization above cursor creation, so we can
add listeners to it. Currently does no verification that the client
actually has focus.
2019-12-29 01:26:28 -07:00
buffet
a25ff1957b Add basic cursor handling (including focusing clients) 2019-12-26 20:55:10 +00:00
buffet
abda3d3a0e Add auto focus for views and basic keyboard handling 2019-12-24 15:43:36 +00:00
buffet
40b7907d72 Delete frontend, add config 2019-10-16 19:05:30 +02:00
buffet
d635bb2658 clang-format 2019-04-15 11:37:37 +02:00
buffet
3fc9bb1f23 Cleaned up includes 2019-03-21 22:12:54 +01:00
buffet
9bcd635aca Merged output.cs and input.cs 2019-03-21 17:29:26 +01:00
buffet
74c04932a0 Moved cursor into input 2019-03-17 21:03:59 +01:00
buffet
b5589ef47f Added input_init 2019-03-17 20:17:41 +01:00
buffet
c315adf31f Keyboard handling
commit ee1a46632dea614fcdf614299d4de6e22a9b0060
Author: buffet <niclas@countingsort.com>
Date:   Sat Mar 16 16:29:33 2019 +0100

    Fixed TTY switching

commit 7cc8aae424c924035489c09c6d5337eb281f1e39
Author: buffet <niclas@countingsort.com>
Date:   Fri Mar 15 16:55:13 2019 +0100

    Started working on kb handling
2019-03-16 16:31:58 +01:00