Commit Graph
100 Commits
Author SHA1 Message Date
Dorota Czaplejewicz 8293c5f10d Release 1.14.0 "Swim bladder"
Changes:
- fixed builds in paths that would be shell-escaped
- layout popover leaves the panel area
- global styles better picked up
- and code quality improvements
2021-05-15 12:46:42 +00:00
Dorota Czaplejewicz 601c835416 cargo: Update dependencies before release 2021-05-15 12:37:18 +00:00
Dorota Czaplejewicz 07d7486e06 Merge branch 'fix_biuld' into 'master'
build: Fix unnecessary shell quotes

See merge request Librem5/squeekboard!454
2021-05-15 12:25:00 +00:00
Dorota Czaplejewicz 5cb70a096c Merge branch 'popover' into 'master'
popover: Allow spanning outside panel area

See merge request Librem5/squeekboard!455
2021-05-15 12:24:22 +00:00
Dorota Czaplejewicz cb211bb764 Merge branch 'safer' into 'master'
remove some unnecessary unsafe code

See merge request Librem5/squeekboard!457
2021-05-11 06:18:09 +00:00
Dorota Czaplejewicz 8c8728aa0f Merge branch 'fix-priority' into 'master'
use the correct priority to allow users' CSS to apply

See merge request Librem5/squeekboard!456
2021-05-11 06:12:54 +00:00
Dorota Czaplejewicz eb4b630b39 popover: Allow spanning outside panel area 2021-05-08 09:12:49 +00:00
Dorota Czaplejewicz b60ebdbd99 build: Fix unnecessary shell quotes
Quotes aren't needed when the arguments aren't expanded by the shell.

Now paths with spaces and other nontrivial characters work.
2021-05-08 08:56:24 +00:00
Dorota Czaplejewicz 99f062fe31 Merge branch 'arrange' into 'master'
Rearrange code dealing with layout files

See merge request Librem5/squeekboard!449
2021-04-23 09:07:33 +00:00
Dorota Czaplejewicz 0bc654b832 Merge branch 'data-keyboard-fix-typos' into 'master'
Fix typos jp keyboard comments

See merge request Librem5/squeekboard!452
2021-04-15 05:56:02 +00:00
Dorota Czaplejewicz 8aefae9634 Release 1.13.0 "Externality"
Changes:

- A system for latching and locking views
- Some crash fixes
- Locale-flavored terminals
- A way to add locale-flavored emoji and numbers layouts
- Making the code less annoying to work with in some places
- Fixed layout changes on newer GSettings
- Mod4 modifier
- Better session registration
- New layouts: Dvorak, Colemak wide, hebrew, wide Thai
2021-04-12 10:52:17 +00:00
Dorota Czaplejewicz 52e2384f72 Cargo: Version bump 2021-04-12 10:36:55 +00:00
Dorota Czaplejewicz 0eb9d89de3 Merge branch 'hints' into 'master'
layout: Take into account text purpose again

Closes #277

See merge request Librem5/squeekboard!448
2021-04-12 10:24:19 +00:00
Dorota Czaplejewicz c23b6f5f50 Merge branch 'layout' into 'master'
layouts: Stop assuming that layout name always changes on switch

Closes #276

See merge request Librem5/squeekboard!450
2021-04-12 10:21:35 +00:00
Dorota Czaplejewicz e4f1b121eb Merge branch 'errors' into 'master'
rust: Fix compiler warnings

See merge request Librem5/squeekboard!445
2021-04-09 08:36:06 +00:00
Dorota Czaplejewicz 4f3bec3989 Merge branch 'doc' into 'master'
docs: Describe view switching

See merge request Librem5/squeekboard!443
2021-04-09 08:35:44 +00:00
Dorota Czaplejewicz 4fdce2802a layouts: Stop assuming that layout name always changes on switch
Layout type switching outside of overlay was always done with gsettings in the middle, assuming that all clicks on languages in the popover result in a gsettings event. That's a bad assumption if there's only one xkb lang present.

This is a simple work around. A better solution would be to turn the entire system of layout switching into a central object that receives messages about changes that need to be applied, and then applies them.
2021-04-07 15:26:18 +00:00
Dorota Czaplejewicz 99c04fd8f5 layout: Remove unused code 2021-04-05 11:09:35 +00:00
Dorota Czaplejewicz 2b7e8f829e data: Split into loading and parsing 2021-04-05 11:03:57 +00:00
Dorota Czaplejewicz 1908769032 layouts: Make selection testable
From now on, all the parameters for loading layout are handled inside a single pure function, which makes them possible to test.

As a side benefit, the old preference order function composed of a mess of nested procedures is gone.
2021-04-05 10:36:41 +00:00
Dorota Czaplejewicz 93e4345e82 layout: Take into account text purpose again 2021-04-05 08:17:07 +00:00
Dorota Czaplejewicz acac00bc88 Merge branch 'terminal' into 'master'
Fix emoji and number layouts

See merge request Librem5/squeekboard!444
2021-04-01 18:59:47 +00:00
Dorota Czaplejewicz ac03c26d5d rust: Fix compiler warnings 2021-04-01 16:30:53 +00:00
Dorota Czaplejewicz 608be930f7 layout selection: Fix emoji and number 2021-04-01 16:24:06 +00:00
Dorota Czaplejewicz 36d4f6726c language-terminal: Place keyboards in a sub-path 2021-04-01 16:05:44 +00:00
Dorota Czaplejewicz d289129404 Merge branch 'master' into 'master'
Rust additions to make terminal keyboard shows a localized layout

See merge request Librem5/squeekboard!437
2021-04-01 15:17:54 +00:00
Dorota Czaplejewicz 225e53df07 docs: Describe view switching 2021-04-01 12:41:51 +00:00
Dorota Czaplejewicz d8e58fd774 Merge branch 'keyboard-layout-hebrew' into 'master'
moved data/langs/he_IL.txt -> data/langs/he-IL.txt to better conform with existing translations.

See merge request Librem5/squeekboard!442
2021-03-31 12:04:37 +00:00
Dorota Czaplejewicz b578414655 Merge remote-tracking branch 'upstream/master' into latch 2021-03-31 09:48:29 +00:00
Dorota Czaplejewicz 89b1f51ed5 appearance: Colour latched/locked according to design 2021-03-31 09:13:51 +00:00
Dorota Czaplejewicz 7b1755a489 renderer: Mark latched buttons differently than locked
There are some hacks here in the form of an extra field "appears_locked_from", which can be used to hint that the user should see the button as locked. Without it, there's some confusion on user side regarding buttons that change states unprompted.
2021-03-31 09:11:11 +00:00
Dorota Czaplejewicz 676a2b60ac layout: Make it possible to opt out of latching per-key 2021-03-31 09:09:38 +00:00
Dorota Czaplejewicz 32dc25dfbf Revert "moved data/langs/he_IL.txt -> data/langs/he-IL.txt to better conform with existing translations."
This reverts commit d8ca9f47ca.

This touches way more than advertised.
2021-03-31 08:39:57 +00:00
Dorota Czaplejewicz 484d64cfb9 Merge branch 'keyboard-layout-hebrew-fix-layout' into 'master'
Fix Hebrew layout inconsistencies with standard hebrew layout.

Closes #272

See merge request Librem5/squeekboard!440
2021-03-31 08:27:02 +00:00
Dorota Czaplejewicz 637da2c177 Merge branch 'gnome-session' into 'master'
Complete session registration

Closes #274

See merge request Librem5/squeekboard!441
2021-03-31 08:17:39 +00:00
Dorota Czaplejewicz 3210a363ab Merge branch 'keyboard-layout-hebrew' into 'master'
Add Hebrew translations for most layouts.

See merge request Librem5/squeekboard!439
2021-03-30 17:55:11 +00:00
Dorota Czaplejewicz f45f2db948 Merge branch 'crash' into 'master'
Stop requiring a renderer to be present to get a transformation

Closes #270

See merge request Librem5/squeekboard!438
2021-03-30 13:45:32 +00:00
Dorota Czaplejewicz 24c3fac505 renderer: Split mutable geometry and place it directly in GtkKeyboard
Geometry is now permanently married to the widget rather the renderer. While geometry is not always defined, C doesn't support sum types, so checks won't be enforced by the compiler. It's OK to pretend there's always some geometry to avoid crashes.
2021-03-17 14:37:54 +00:00
Dorota Czaplejewicz 46f8790fc0 renderer: Reduce reliance on knowing the transform 2021-03-17 13:29:02 +00:00
Dorota Czaplejewicz 3cdced0c0c Merge branch 'fixes' into 'master'
Rust fixes

See merge request Librem5/squeekboard!435
2021-03-17 13:21:46 +00:00
Dorota Czaplejewicz bffd212e10 Merge branch 'it' into 'master'
italian: Fix colon

See merge request Librem5/squeekboard!434
2021-03-09 16:03:38 +00:00
Dorota Czaplejewicz c2c379b870 Rust: Remove unnecessary no_mangle statements to silence warnings 2021-03-09 14:59:23 +00:00
Dorota Czaplejewicz 1ae29ff7bc popover: Fix prematurely deallocated CString 2021-03-09 14:36:37 +00:00
Dorota Czaplejewicz d3cd7dc11f italian: Fix colon 2021-03-09 14:09:59 +00:00
Dorota Czaplejewicz d3695d3bc9 Merge branch 'th-enhancement' into 'master'
Add wide Thai keyboard layout

See merge request Librem5/squeekboard!433
2021-02-13 16:01:45 +00:00
Dorota Czaplejewicz 842e616cd3 Merge branch 'master' into 'master'
Add Mod4 (Windows) key

See merge request Librem5/squeekboard!432
2021-02-11 17:44:02 +00:00
Dorota Czaplejewicz e6c45a63fb Merge branch 'master' into 'master'
Added hebrew keyboard layout

See merge request Librem5/squeekboard!430
2021-02-06 10:45:12 +00:00
Dorota Czaplejewicz bedabb6188 Merge branch 'catalan' into 'master'
Catalan keyboard layout

See merge request Librem5/squeekboard!431
2021-02-06 10:38:18 +00:00
Dorota Czaplejewicz 49aa4256a9 Merge branch 'keyboard-layout-us+dvorak' into 'master'
Add US Dvorak layout (and Colemak wide)

See merge request Librem5/squeekboard!427
2021-01-26 09:07:22 +00:00
Dorota Czaplejewicz 575619e812 Merge branch 'tagfix' into 'master'
CI: fix xheck_tag to be compatible with Amber

See merge request Librem5/squeekboard!428
2021-01-24 06:28:26 +00:00
Dorota Czaplejewicz 630cfc8e59 CI: fix xheck_tag to be compatible with Amber 2021-01-24 06:07:06 +00:00
Dorota Czaplejewicz 2a11bce945 Merge branch 'serial' into 'master'
imservice: Increment serials on receiving done, not sending commit

See merge request Librem5/squeekboard!426
2021-01-24 05:14:57 +00:00
Dorota Czaplejewicz fefebf7f6e Release 1.12.0 "Convolution"
User-visible changes:
- Fixed a crash related to making keyboard visible.
- Better fallback: when selecting a missing layout named "fr+foo", "fr" will be used instead.
- When enabling the keyboard manually, it will never be stuck in the numbers view.
- Thai layout
- US-Colemak layout
- Czech layouts
- Esperanto layout
- Bulgarian layout
- Improved Norwegian layout

That's a lot of new layouts!

Plus a bunch of stricter warnings, MIPS64el support, and reproducible building.
2021-01-11 11:43:39 +00:00
Dorota Czaplejewicz 21c3a74019 cargo: Update dependencies for release 2021-01-11 11:43:39 +00:00
Dorota Czaplejewicz 0c179560b3 visibility: Stop calling GTK functions from the visibility manager
The viibility manager state is changed from various handlers, which are not guaranteed to be reentrant, most notably the Wayland handler for preedit done.
As the state is changed, relevant requests to synchronize user-visible UI are fired from the same handler.

In case of imservice_handle_done, GTK widget show function was being called, which triggered another round of handling Wayland, leading to the done handler being called again, and flaking out.

To solve this, the phase of issuing commands needs to be separate from adjusting desired state. It seems that the easiest solution is to delay the show() and hide() calls into the next GTK main loop spin.

A better solution would probably inject itself directly after the change of desired state, so that *all* the side effects are delayed.
2021-01-10 11:04:02 +00:00
Dorota Czaplejewicz 38842f9743 input-method: Fix commit/done mixup in protocol text 2021-01-10 10:45:14 +00:00
Dorota Czaplejewicz 3cbfd8351c imservice: Increment serials on receiving done, not sending commit
No idea how that managed to stay undetected for so long.
2021-01-10 10:41:17 +00:00
Dorota Czaplejewicz 6e7c0e6f67 Merge branch 'keyboard-layout-farsi' into 'master'
Farsi/Persian keyboard layout

See merge request Librem5/squeekboard!424
2020-12-30 13:54:49 +00:00
Dorota Czaplejewicz 4d24af4e1a Merge branch 'test_docs' into 'master'
Make layout lists more ordered

See merge request Librem5/squeekboard!417
2020-12-21 14:40:11 +00:00
Dorota Czaplejewicz 422d06d582 Merge branch 'reset_hint_smart' into 'master'
dbus: Reset hints if text input missing

Closes #256

See merge request Librem5/squeekboard!421
2020-12-16 16:00:53 +00:00
Dorota Czaplejewicz 4890c86b4e dbus: Reset hints if text input missing 2020-12-15 13:20:34 +00:00
Dorota Czaplejewicz b72c6b53e4 Merge branch 'fix_norwegian_button_size' into 'master'
no: Use wide button switching between numbers, symbols and base

See merge request Librem5/squeekboard!419
2020-12-15 12:37:42 +00:00
Dorota Czaplejewicz 658df98e18 layout_names: Unmess the list of builtin layouts 2020-12-12 07:42:32 +00:00
Dorota Czaplejewicz 6f7252ec7c tests: Add some description to the list of tested layouts
Contributors have started to make it messy.
2020-12-12 07:40:51 +00:00
Dorota Czaplejewicz 558a2568e3 Merge branch 'undefined' into 'master'
Bulgarian language keyboard layout

See merge request Librem5/squeekboard!418
2020-12-12 07:38:34 +00:00
Dorota Czaplejewicz 9a72db2fcc Merge branch 'esperanto' 2020-12-07 15:33:01 +00:00
Dorota Czaplejewicz c6cc58fd8e ffi: Eliminate squeek_button and squeek_row 2020-12-04 17:34:53 +00:00
Dorota Czaplejewicz 9522d4e302 renderer: Bring button drawing closer to Rust 2020-12-04 15:35:02 +00:00
Dorota Czaplejewicz 8f62520648 view: Ąto-unlatching when multiple latching buttons pressed
Best seen in the PL layout, where to get to Ą, two buttons must be latched: Capitals, and then Accents.
2020-12-04 10:02:04 +00:00
Dorota Czaplejewicz e36c4e597f layout: Remove the little abomination of view change promise
It didn't make anything more testable due to being tightly coupled to Layout.
With the last place needing the curent form abolished, it's no longer needed.

No attempt to make it more stateless and unit-testable was made though.
2020-12-03 19:56:48 +00:00
Dorota Czaplejewicz 8ab6997b21 layout: Plug in stateless view switching 2020-12-03 19:44:26 +00:00
Dorota Czaplejewicz 3b06eadef5 layout: Add stateless view switching
Tested, but not yet plugged in.
2020-12-03 19:35:50 +00:00
Dorota Czaplejewicz 287e851770 layout: Latch keys when clicked twice
Third click unlatches. No actual UI indication.
2020-12-03 18:42:24 +00:00
Dorota Czaplejewicz fcd0eaddf2 layouts: Simplify the main flow of source list 2020-12-03 16:26:47 +00:00
Dorota Czaplejewicz ba2e191918 layouts: Use base as fallback for alternative layouts 2020-12-03 16:15:22 +00:00
Dorota Czaplejewicz cc4f14e8c6 data: Flattened layout fallback function 2020-12-03 15:47:44 +00:00
Dorota Czaplejewicz 103e64b96c data: Made data flow in fallback clearer 2020-12-03 15:45:45 +00:00
Dorota Czaplejewicz 2796362d34 build: Fail on any C warnings when strict 2020-12-03 15:26:54 +00:00
Dorota Czaplejewicz af00d74f71 build: Enable wformat to remove warnings about missing wformat 2020-12-03 15:26:28 +00:00
Dorota Czaplejewicz 02d579d757 build: Enable unused warnings in C
The goal is to be free of unused X class of problems. For this, CI and any "serious" builds will fail on warnings. Debug builds, used in development, will warn by default but not fail.

In addition, the 'strict' build option is added for when the debug build should fail on unused warnings as well.
2020-12-03 15:21:58 +00:00
Dorota Czaplejewicz 01d06d0f5f Merge branch 'keyboard-layout-us+colemak' into 'master'
Added US Colemak Keyboard Layout

See merge request Librem5/squeekboard!403
2020-12-03 15:13:11 +00:00
Dorota Czaplejewicz 1d1c98c27a Merge branch 'f/czech-layouts' into 'master'
Add Czech keyboard layouts

See merge request Librem5/squeekboard!414
2020-12-03 14:42:04 +00:00
Dorota Czaplejewicz 1fe6d65525 tests: Allow legacy mode to have much longer tests. 2020-11-29 12:53:35 +00:00
Dorota Czaplejewicz 39a3c40d67 debian: Build reproducibly 2020-11-29 10:42:24 +00:00
Dorota Czaplejewicz 963f52bbc3 tests: Explicitly pass source directory to tests 2020-11-29 10:42:20 +00:00
Dorota Czaplejewicz 9dcc4c9868 tests: Prefer the env var for finding test layouts
The builtin file path is embedded in the binary and subject to substitution, which makes it invalid when trying to build a .deb reproducibly.

Out of the two solutions, it's easier to make the change here rather than customize .debu building not to run tests reproducibly.
2020-11-28 18:57:54 +00:00
Dorota Czaplejewicz df8e885983 build: Fix release 2020-11-28 18:57:46 +00:00
Dorota Czaplejewicz c9f9a3b577 Merge branch 'cargo' into 'master'
docs: Correct Cargo update instructions

See merge request Librem5/squeekboard!398
2020-11-23 09:16:59 +00:00
Dorota Czaplejewicz 81041b8035 Merge branch 'wannaphong-master-patch-05164' into 'master'
Add thai keyboard

See merge request Librem5/squeekboard!402
2020-11-23 08:17:29 +00:00
Dorota Czaplejewicz 4049e66307 Release 1.11.1 "Diploid"
Bug fix release:
- Fixes to German layout
- Fixed showing the panel right after starting
2020-11-21 11:09:37 +00:00
Dorota Czaplejewicz 046a516a11 cargo: Update deps 2020-11-21 11:03:45 +00:00
Dorota Czaplejewicz b5d1e8c3eb Merge branch 'keyboard-layout-german-move-semicolon' into 'master'
keyboard: Move semicolon in German layout to numbers view replacing redundant comma key

See merge request Librem5/squeekboard!410
2020-11-20 18:33:01 +00:00
Dorota Czaplejewicz dda070e84e Merge branch 'race' into 'master'
imservice: Set up UI according to current needs when it shows up

See merge request Librem5/squeekboard!407
2020-11-19 19:04:22 +00:00
Dorota Czaplejewicz 17db3db296 visibility: Centralize keyboard panel visibility policy and handling
With the policy being disentangled from application, it becomes testable.
This prepares for moving the entire visibility mechanism to the new class and taking away more pieces of ServerContextService.
In addition, this is a good warmup before trying to implement sizing policy.
2020-11-19 09:49:51 +00:00
Dorota Czaplejewicz ebbb3b1138 UI: Keep visibility factors in a central place 2020-11-18 19:29:42 +00:00
Dorota Czaplejewicz 277986bcdf imservice: Set up UI according to current needs when it shows up 2020-11-18 18:38:24 +00:00
Dorota Czaplejewicz 96461cf2aa Merge branch 'keyboard-layout-german-fix-semicolon' into 'master'
keyboard: Fix semicolon in German layout

Closes #226

See merge request Librem5/squeekboard!406
2020-11-14 20:29:56 +00:00
Dorota Czaplejewicz 5aa7334787 Release 1.11.0 "Perceptron"
This is a special Evergreen release with only 2 changes:

- don't delay hiding when explicitly requested to hide,
- fix typo in Friulian translation.
2020-11-14 06:49:00 +00:00
Dorota Czaplejewicz 955a138849 Update dependencies 2020-11-14 06:44:23 +00:00
Dorota Czaplejewicz 12c9ca1e02 ui: Cancel hiding delay when activity requested again 2020-11-14 06:09:37 +00:00