202 Commits

Author SHA1 Message Date
Maarten van Gompel
9f8e73b315 fixup: re-add flip_landscape() to wl_surface_enter (needed for landscape detection) 2023-11-04 14:33:30 +01:00
mojyack
0e17680041 do not refresh on wl_surface_enter
there is no need to do so, because this event is followed by layer_surface_configure.
sway-HEAD(020a572) complains "A configure is scheduled for an uninitialized xdg_surface",
but it works anyway.

fix #50
2023-11-04 14:32:04 +01:00
Maarten van Gompel
3cccdab2e8 version bump v0.14.2 2023-11-03 20:53:14 +01:00
mojyack
2d01b8963b fix hyprland crashes when creating a surface multiple times 2023-11-03 20:47:29 +01:00
mojyack
c457d697aa optimize output iteration 2023-11-03 20:47:29 +01:00
mojyack
5471e2ea0e resize keyboard only when entered to different output
the keyboard layout is saved even when hide/show (if output is same).
this is old behavior.
2023-11-03 20:47:29 +01:00
mojyack
a126945401 handle screen resize and redraw in layer_surface_configure 2023-11-03 20:47:29 +01:00
mojyack
aa9e8ab7ab avoid using "wl_output" literal 2023-10-29 16:42:19 +01:00
Frank Oltmanns
d6439afcb9 Make font selection scheme specific
Add the members font and font_descriptor to struct clr_scheme, so that
it is possible to specify a font for each scheme.

During initialization create the font descriptors for each scheme.

Instead of initially setting the font descriptor when setting up the
buffer, set the font descriptor when drawing the text.

Signed-off-by: Frank Oltmanns <frank@oltmanns.dev>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-10-29 13:07:57 +01:00
Frank Oltmanns
6e52be343d Add support for multiple schemes
Allow to use more than two color schemes.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-10-13 21:20:18 +02:00
Maarten van Gompel
aaff22a105 set preferred scale default to 1
Ref: https://github.com/jjsullivan5196/wvkbd/issues/43
v0.14.1
2023-09-22 18:42:27 +02:00
Einar Arnason
ab56a2748b Add missing include 2023-09-18 17:14:04 +02:00
Maarten van Gompel
7ff5605303 version bump 2023-09-18 17:07:38 +02:00
Willow Barraco
02027621af
Cleanups
This cleanup a bit how we store and use the preferred_scale and
preferred_fractional_scale.

This rename some methods to make their behavior more explicit.
2023-09-18 12:13:43 +02:00
Willow Barraco
63c209ec7f
Regression fix: keyboard didn't re-show on SIGUSR2 anymore
When triggering show() on kill USR2, everything works as expected, but
the keyboard attributes are the same as before. So in
layer_surface_configure, we don't match the condition.

Checking hidden, and resetting it from inside this scope is enough to
solve the problem.
2023-09-18 12:13:34 +02:00
Maarten van Gompel
eefd08f431 version bump v0.14 2023-09-16 12:36:04 +02:00
Willow Barraco
76b64f6a85
Fix builds 2023-09-08 23:26:42 +02:00
Willow Barraco
a152fd036f
Break on function definitions 2023-09-08 23:14:40 +02:00
Willow Barraco
1a36f6d5f2
Add an editor config 2023-09-08 23:14:40 +02:00
Willow Barraco
fbbf563d70
Simplest clang-format 2023-09-08 22:57:14 +02:00
Willow Barraco
2747980a4e
clang-format 2023-09-08 22:42:49 +02:00
Willow Barraco
34d6ce5566 Cleanup output management
The goal is to minimize startup redraws.

It looks like the surface must enter the output for us to finaly know
which one it is. We need this to use the correct scale value. It make
the surface to be blurry at first, but I can not find a better way.

Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-08 21:17:36 +02:00
Willow Barraco
7af5410235 Disable cairo antialiasing
This is unoticeable without fractional scaling, but becore a real
problem with it. It add transparency arround rectangles, and so cause
drawing problems.

Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-08 21:17:34 +02:00
Willow Barraco
730e97038c Support fractional-scale-v1
This make text less blurry. It continues to works without.

before:
https://dav.missbanal.net/00bd0fd5-e22f-4a60-87f8-ce6f400d33c9.png

after:
https://dav.missbanal.net/a3f02f1e-d6ce-4378-a141-e2093ba87eed.png
Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-08 21:17:31 +02:00
mojyack
50296daa46 fix missing initializations in previous commit
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-06 23:19:31 +02:00
mojyack
21045044ba fix seat_handle_capabilities
seat_handle_capabilities may be called more than once with different caps.
In the current implementation, wl_{pointer,touch}_add_listener can be
called multiple times for the same seat, causing the buttons to be pressed
more than once in a single tap.
This commit implements seat_handle_capabilities correctly and
avoids setting duplicate handlers, and also handles the removal of capabilities.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-06 23:19:31 +02:00
Zach DeCook
9e03e120c3 switch layers: fix crash
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-06 23:14:30 +02:00
Willow Barraco
24e354ce9e
Add popup to display pressed keys 2023-09-06 15:29:07 +02:00
Willow Barraco
b1890848d5
Remove surface commits where it is unecessary and wrong 2023-09-06 14:25:40 +02:00
Willow Barraco
8bdc761d9b
Bump protocols 2023-09-06 11:35:34 +02:00
Willow Barraco
fa659b4584
Remove black boxes
This isn't a good way to solve this, and cause restrictions and
breakages.

We should find a better way to enforce text inside of keys, probably
using a second buffer to write into.
2023-09-01 08:11:31 +02:00
Willow Barraco
3752d0e392
Fix remaining too long text cases 2023-08-31 22:25:11 +02:00
Willow Barraco
4444c6e664
Prevent writing outside of key without ellipsize 2023-08-31 22:03:51 +02:00
Willow Barraco
8f7142b171
Remove ellipsize now that we crop text outside of keys 2023-08-31 21:27:02 +02:00
Willow Barraco
975bd2ec32
Fix Ctrl feedback while being clicked 2023-08-31 18:41:41 +02:00
Willow Barraco
47a45d557b
Fix black box on Shift press
Drawing key will redraw the bg at the right side. As we already
propagated the surface damage, this cause a rewrite of the right side of
the layout.
2023-08-31 18:37:58 +02:00
Willow Barraco
c45446a794
Do not write texts outside of keys
This is a bit hacky. The main problem is that there is no way to tell
cairo to limit the width. It will wrap text accordingly to width and
height, it will add ellipsizes if it overlow the box, but if a word
width is larger than the box width, it will write it.

To avoid that, I make sure we don't go too much to the left, and I
redraw the background at the right of the keys. This is not visible
cause we damage track correctly the updated buffer coordinates.

I also moved the damage tracking from do_rectangle and draw_text to
higher draw_key and draw_layout.
2023-08-31 18:04:26 +02:00
Maarten van Gompel
73130886cc fixup: use narrow no-break-space and changed the key label 2023-08-31 13:27:54 +02:00
Willow Barraco
67ef1d40f3
Add non-breaking space to compose punctuation 2023-08-31 12:38:35 +02:00
Willow Barraco
50c40863b8
Add . from compose punctuation now that we removed the bottom bar 2023-08-31 12:07:21 +02:00
Willow Barraco
d75d42aaa1
Add back ctrl on bracket layout 2023-08-31 12:04:08 +02:00
Maarten van Gompel
84020a9151 compose + , on simple layout open bracket/quote layout
This deviates from the rest a bit but we need an ability to trigger this
layout. compose + -  is still available for the 'math' layout.
2023-08-31 12:03:59 +02:00
Willow Barraco
3504f83ca6
Cleanup bracked compose layout 2023-08-31 12:00:22 +02:00
Maarten van Gompel
fda7007955 updated screenshots 2023-08-31 11:59:17 +02:00
Willow Barraco
9687d839f9
Drop simple grid 2023-08-31 11:41:20 +02:00
Willow Barraco
dc7ee664f0
No transparency by default
The virtual keyboard can't cover other surface. Only the wallpaper could
eventually go through it, or conky. Let's make a fancy default now that
--alpha exists for users that want the old transparency.
2023-08-31 11:41:20 +02:00
Willow Barraco
db44029d87
Add --alpha to configure all alpha color values 2023-08-31 11:41:20 +02:00
Willow Barraco
4ed89188d6
Do not override user config.h 2023-08-31 11:41:19 +02:00
Maarten van Gompel
a573be707c version bump 2023-08-31 11:41:01 +02:00
Willow Barraco
dcca9e48c7 Fix compose , from Simple to move to punctuations
Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-08-31 11:39:17 +02:00