Commit Graph

871 Commits

Author SHA1 Message Date
34564edf32 Port to crate xkbcommon 0.7
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/656>
2024-08-14 15:18:43 +00:00
0b0585eb66 Layouts: Add Malayalam layout
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/660>
2024-08-12 17:50:38 +02:00
a905d03fc9 resources.rs: Correct sorting of layouts
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/658>
2024-08-05 12:41:00 +02:00
9f7d2d539e Layouts: Add ergonomic German layouts
The "Neo 2"-layout is optimised for typing in German.
The "Bone"-layout is an improved version of the "Neo 2"-layout.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/658>
2024-08-05 12:40:54 +02:00
84341b88cd Improve shape-selection with a workaround
This workaround makes Squeekboard use the wide shape on more devices.

On many devices with wide screens, which should use the wide shape
for layouts while in horizontal orientation, the compact shape was
used instead.
In particular, 5" large displays with an aspect-ratio of 16:9,
which are relatively common, were using the compact shape.

This workaround has the side-effect of allowing for more empty space
above and below the wide shape, to fit the layout into the available area.
The buttons on displays where this would be noticeable,
should still be larger than before.

To find an appropriate point for switching between the shapes without
having the relevant displays to test with,
one can create an image sized according to the device's display-resolution
and pixel-density, place a line representing the height of Squeekboard
(based on the scaling-tests), paste images of compact and wide
layout-shapes into the area and scale them appropriately,
set the image-viewer to show the image according to physical size,
and then compare which one fits better.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/639>
2024-05-03 10:41:14 +00:00
1381e316eb Add a Slovenian [si] layout
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/652>
2024-05-03 09:28:55 +00:00
2aa58186e4 Add Turkish [tr] and [tr+f] layouts
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/650>
2024-05-03 08:53:53 +00:00
856ed64a46 Add an additional view for the accents on the Portuguese (Brazil) layout
and add a Portuguese layout based on it.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/649>
2024-05-03 08:33:39 +00:00
2eb06ae350 src/state.rs: Add comments related to shape-selection
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/645>
2024-04-22 08:40:25 +00:00
7308eeefe1 Add even more scaling-tests
and sort the tests by aspect-ratio, size, and resolution.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/645>
2024-04-22 08:40:25 +00:00
c21fbd86ac Change "GPL-3.0+" to "GPL-3.0-or-later"
The "GPL-3.0+"-SPDX-license-identifier has been deprecated,
and was replaced with "GPL-3.0-or-later".

More information about that, is available in the
"Deprecated License Identifiers"-part of
https://spdx.org/licenses/ .

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/642>
2024-04-14 17:49:06 +02:00
07ccea0fb5 Change "http://" to "https://"
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/642>
2024-04-14 17:49:06 +02:00
69805b4565 Add more scaling-tests
These are based on actual displays/devices.

A display-size-calculator ( https://www.sven.de/dpi/ ) was used to
calculate the width and height from resolution and diagonal display-size.

Some of these tests check for non-optimal results;
however, their purpose is mostly to make it noticeable
how changes to scaling-behaviour affect various
display-types.

When Squeekboard's scaling-behaviour will be improved, the tests
should be updated with values that fit the displays/devices better.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/640>
2024-04-11 17:38:03 +02:00
332e5f91c8 Update to serde_yaml 0.9.*
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/624>
2024-03-22 11:53:35 +01:00
5cfb940caa Add the remaining, wide shapes for layouts
There should be a wide shape for
all available layouts, so those can be used
well on devices in horizonal orientation.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/630>
2024-03-20 19:43:06 +01:00
5806b14628 Simplify build-system further
Remove Fragile from the list of dependencies

It is not necessary for building 'gio' anymore,
since the upgrade to 'glib v2_58'.

Remove "online" and "reset_lock" Meson-options

Building Squeekboard should work offline.

Use a single "Cargo.toml"-file instead of splitting it into parts

and putting it back together when building.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/623>
2024-03-11 17:45:57 +01:00
7ed0d48a99 test-layout: Drop unneeded macro use
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/621>
2024-03-10 17:37:52 +01:00
00740de79f drawing: Unwrap errors
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/621>
2024-03-10 17:37:52 +01:00
d801b77e96 popover: Ignore return value
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/621>
2024-03-10 17:37:52 +01:00
15ebd0ffaf Switch to glib v2_58
Remove the ancient fallbacks

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/621>
2024-03-10 17:37:52 +01:00
a569b1c1a3 "Priority" constants for glib-rs 0.18
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/620>
2024-03-10 15:44:28 +00:00
aa513b5cd9 Replace "Continue" with "ControlFlow"
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/620>
2024-03-10 15:44:28 +00:00
078f58be26 src: style: fix build with newer gtk-rs
`gtk::Settings::property()` no longer returns a `Result` but instead
panics if the property doesn't exist. In order to work around this
change without affecting the surrounding code too much, this patch
modifies the `prop` function so we can avoid panics and wrap the
property value into a `Result` as was previously the case.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/620>
2024-03-10 15:44:28 +00:00
86674507e1 src: popover: fix build with newer gtk-rs
`gtk-rs` v0.16+ no longer exposes the internal fields of the
`gtk::Rectangle` struct, mandating the use of the `new()` function
instead.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/620>
2024-03-10 15:44:28 +00:00
bc43abdb02 src/popover.c: Change 'ControlCenter' to 'Settings'
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/616>
2024-03-08 14:49:11 +01:00
e029c53401 Add wide emoji-layout
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/614>
2024-03-08 01:18:45 +00:00
4352f01486 Add German terminal-keyboard-layout
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/609>
2024-03-07 23:22:38 +00:00
dcz
4b73775695 Merge branch 'master' into 'master'
add french canadian layout (QWERTY + accented letters)

See merge request World/Phosh/squeekboard!603
2024-03-02 16:10:27 +00:00
d801d45812 Add Spanish terminal-keyboard-layouts 2024-02-27 11:24:23 +01:00
8d96803e91 add french canadian layout (QWERTY + accented letters) 2024-01-29 21:41:09 +01:00
dcz
ef516c2082 Merge branch 'size' into 'master'
Fix panel sizing

See merge request World/Phosh/squeekboard!594
2023-03-22 16:21:20 +00:00
bd96f4c0c2 panel: Fix sizing on output reconfiguration 2023-03-15 15:44:55 +00:00
83fda9d38a tests: Make panel manager modifications pure
This makes testing possible. Test which prompted this is included.
2023-03-15 15:44:55 +00:00
8c89b4dc2c cleanup: Remove debug prints 2023-03-15 12:53:22 +00:00
367d8dd5c7 state: Make size independent of scaling factor 2023-03-14 12:16:15 +00:00
ffae36d259 Rust: Restore compatibility with Debian Bookworm 2023-02-04 17:18:35 +00:00
400e82326d memory: Fix undefined behaviour
As warned by the compiler.

At the same time drop support for older rustc, as the code was dead anyway.
2023-01-15 11:52:21 +00:00
20b5cac148 build: Silence overcautious warning 2023-01-15 11:51:53 +00:00
6fd281b214 Remove dead code 2023-01-15 11:27:14 +00:00
2e65586db5 wayland: remove dead, broken init 2023-01-15 11:22:10 +00:00
8c7897da4d Add Hungarian layout 2023-01-05 17:14:18 +01:00
dcz
b0bf78b2a6 Merge branch 'saver' into 'master'
popover: Deactivate settings button when lock screen is on

See merge request World/Phosh/squeekboard!582
2023-01-02 12:21:23 +00:00
1704f1b4cb rust: Use 2021 eition 2022-12-21 12:24:03 +00:00
828279d03c rust: Use 2018 eition
This edition has better syntax around scoping and `use`.
2022-12-21 12:20:17 +00:00
31a7acb0eb popover: Apply settings enabled stateto UI 2022-12-08 10:07:09 +00:00
7130ac9529 popover: State can be printed 2022-12-08 10:07:09 +00:00
c590064ce3 popover: Connect to screensaver event 2022-12-08 10:07:09 +00:00
3366090454 popover: Use thread-safe reference
This reference will be modified from the screensaver thread.
2022-12-08 09:38:31 +00:00
e88410d412 util: Add thread-safe c wrapper 2022-12-08 09:38:31 +00:00
ae15869d07 popover: Able to receive screensaver events 2022-12-08 09:38:31 +00:00