Commit Graph

861 Commits

Author SHA1 Message Date
Guido Günther
40bf3ca5de server-main: Properly register to gnome-session
So far squeeboard only did half of the registration failing
to respond to the signals sent by the session.

This causes problems e.g. when exiting the session since the it
thinks the client hangs or is busy.

Closes: #274
2021-03-25 18:11:39 +01:00
Guido Günther
e800a88893 server-main: Add quit()
This allows to exit the mainloop e.g. when signalled from gnome-session
or by a signal.
2021-03-25 16:03:57 +01: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
Panawat Wong-klaew
11952ed29a Add wide Thai keyboard layout 2021-02-13 15:11:46 +00:00
David96
a265427e8e Add Mod4 (Windows) key 2021-02-11 18:06:49 +01: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
Myth
e82e256581 Added hebrew keyboard layout 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
Jordi Masip
a030f55a7c Catalan keyboard layout
Modified by Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
2021-02-05 14:51:21 +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
J.D. Laub
eb7d0d5db9 Add US Dvorak layout (and Colemak wide)
Signed-off-by: Dave Laub <purism@laubster.org>
2021-01-24 10:48:12 -07: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
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
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
jranaraki
66c3926eb2 Added requirements to resources.rs and meson.build 2020-12-27 02:01:54 -05: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
4890c86b4e dbus: Reset hints if text input missing 2020-12-15 13:20:34 +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
Vladimir Stoilov
8dd92c81e7 bulgarian add translation and to needed lists 2020-12-11 22:06:39 +02:00
Dorota Czaplejewicz
9a72db2fcc Merge branch 'esperanto' 2020-12-07 15:33:01 +00:00
Stefan Grotz
61a84c47f1 Esperanto keyboard
Fixed by Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
2020-12-07 15:32:37 +00:00
Sebastian Krzyszkowiak
a9ecc13185 Merge branch 'fallback' into 'master'
Better fallbacks

See merge request Librem5/squeekboard!415
2020-12-05 04:16:44 +00:00
Sebastian Krzyszkowiak
7143fb2497 Merge branch 'central_visible' into 'master'
Central visibility policy

See merge request Librem5/squeekboard!409
2020-12-05 04:12: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
Guido Gunther
dfee95430d Merge branch 'release' into 'master'
Reproducible build

See merge request Librem5/squeekboard!413
2020-12-03 17:18:50 +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
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
Jiří Stránský
c3b428e517 Add Czech keyboard layouts
Two variants:

* Czech Standard (= qwertz)

* Czech qwerty

The accented letters layout corresponds to the UCW [1] layout shipped
with xkb, so we follow this precedent.

Like the DE layout, and unlike the US layout, the CZ layout has a
comma key and a narrower space bar. The added comma key also serves as
a visual balance to the added accents key, to keep the spacebar
centered.

The layouts have been tested manually on PinePhone.

[1] c60b77ea51/test/data/symbols/cz (L180)
2020-11-29 17:28:50 +01: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
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
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
12c9ca1e02 ui: Cancel hiding delay when activity requested again 2020-11-14 06:09:37 +00:00
clonex10100
cf09d1b3bc Added US Colemak Keyboard Layout 2020-11-02 13:27:27 -05:00
Wannaphong Phatthiyaphaibun
81fb7e0df3 Update resources.rs 2020-11-01 09:42:27 +00:00
Dorota Czaplejewicz
d07b5ed0d6 UI: Delay hiding only when leaving a text field 2020-10-20 11:52:06 +00:00
Dorota Czaplejewicz
153f9c39e5 lint: Check for missing braces
The `eek/layersurface.c` file should be excluded because it's an imported, "foreign" source, but clang-tidy doesn't seem to have an annotation for that.

An alternative would have been to exclude it in Meson and do the check there, but that requires clang-tidy, raising the barrier to contribute of Squeekboard even more (it already requires libfeedback, which isn't packaged widely).
2020-10-20 11:34:17 +00:00