Commit Graph
100 Commits
Author SHA1 Message Date
Dorota Czaplejewicz 2f011a57dd test: Mark loop scheduling test for rewrite 2022-11-28 15:53:41 +00:00
Dorota Czaplejewicz e7c2350c92 event loop: Decouple event handler from concrete state 2022-11-28 15:53:41 +00:00
Dorota Czaplejewicz d51408a3e0 event loop: Add descriptions 2022-11-28 15:53:41 +00:00
Dorota Czaplejewicz b8c0836f51 event loop: Decouple event type from handler 2022-11-28 15:53:41 +00:00
Dorota Czaplejewicz e0b37d60c4 event loop: Decouple state type from event handler 2022-11-28 15:53:41 +00:00
Dorota Czaplejewicz 23d6beee8e event loop: Decouple event timeout from event type 2022-11-28 15:53:41 +00:00
Dorota Czaplejewicz 9c9f371f91 Rename LevelKeyboard to Layout 2022-11-28 15:53:41 +00:00
dcz e9cc20106b Merge branch 'desktop-file' into 'master'
desktop-file: Add X-GNOME-* for session management

See merge request World/Phosh/squeekboard!579
2022-11-08 09:00:05 +00:00
dcz 2ade582463 Merge branch 'splitl' into 'master'
layout: cleanups

See merge request World/Phosh/squeekboard!577
2022-10-09 14:40:55 +00:00
dcz 838d6b0bf6 Merge branch 'upgrust' into 'master'
debian: Upgrade rust dependency

See merge request World/Phosh/squeekboard!576
2022-10-08 08:53:54 +00:00
Dorota Czaplejewicz 973bbaca4b layout: Increase separation between mutable and logic 2022-10-01 18:29:24 +00:00
Dorota Czaplejewicz 14282387f2 layout: Increase separation between mutable and logic 2022-10-01 18:25:35 +00:00
Dorota Czaplejewicz a5fdc25452 layout: Unbox buttons
The Box was just polluting the code, and the original reason for it (passing buttons individually to C) is gone.
2022-10-01 16:38:10 +00:00
Dorota Czaplejewicz 952ec805ed layout: Put all button state into active_buttons
Ths gets rid of Rc<RefCell<>> sharing of state, which can be hard to keep track of.
In addition, there's no longer any duplication of button state.
2022-10-01 16:38:01 +00:00
Dorota Czaplejewicz 74c5ef4a51 layout: Separate button info from state
Splitting out state into a dedicated place lets keep all the immutable metadata in one place, and all state in another.
2022-10-01 13:37:35 +00:00
Dorota Czaplejewicz fc4fa63cc6 layout: Remove unused code 2022-10-01 12:10:03 +00:00
Dorota Czaplejewicz 5e12666b8f layout: Pressed buttons are now a list of indices
This makes it possible to copy layout state wholesale, as well as to drop shared state of keys.
2022-10-01 11:11:33 +00:00
Dorota Czaplejewicz 649f67d319 layout: Split out static data
This will make it possible later to cache this data or compare for best size selection without hassle.
2022-09-30 17:42:03 +00:00
Dorota Czaplejewicz c017a773ea layout: Gather state-related stuff together 2022-09-30 17:12:00 +00:00
Dorota Czaplejewicz 7a8932d686 debian: Upgrade rust dependency
This avoids problems with cargo pulling packages with unsupported edition in the future, as well as opens up the ability to use new language features.

Most importantly, cargo deps can be unlocked.
2022-09-30 16:01:36 +00:00
dcz afe6a6cf74 Merge branch 'orphans' into 'master'
tests: Check for orphaned layout files

See merge request World/Phosh/squeekboard!574
2022-09-29 16:25:47 +00:00
dcz e778be8f13 Merge branch 'newss' into 'master'
repo: Add missing NEWS file

See merge request World/Phosh/squeekboard!575
2022-09-29 16:25:33 +00:00
dcz 7ffc2c4f86 Merge branch 'add-wide-swedish' into 'master'
Add wide Swedish layout

Closes #351

See merge request World/Phosh/squeekboard!573
2022-09-16 07:43:50 +00:00
Dorota Czaplejewicz d26927dc44 tests: Check for orphaned layout files
This adds a test which scans the layouts directory for files which have not been added to the resources file.
The majority os user-submitted layouts don't include layout registration, and I ran out of ideas for how to make it more visible in the documentation. Instead, it's going to be solved on the other side: the CI pipelines shall fail.

To make it easy on experimenters with untidy trees, it's disabled by default.
2022-09-15 14:13:40 +00:00
Dorota Czaplejewicz 094503cf8c repo: Add missing NEWS file 2022-09-15 13:17:33 +00:00
dcz 0cb9b039d2 Merge branch 'polyfont' into 'master'
Use custom font for Greek polytonic

See merge request World/Phosh/squeekboard!569
2022-09-11 14:43:33 +00:00
dcz b676cac63f Merge branch 'flock' into 'master'
docs: Update Cargo.lock instructions

See merge request World/Phosh/squeekboard!570
2022-09-11 14:43:18 +00:00
dcz f55a8868c7 Merge branch 'news' into 'master'
Improve release instructions

See merge request World/Phosh/squeekboard!571
2022-09-11 14:42:56 +00:00
dcz 3055cc034f Merge branch '120' into 'master'
Release 1.20.0 "PID controller"

See merge request World/Phosh/squeekboard!572
2022-09-11 14:34:36 +00:00
dcz dbbb34da01 Merge branch 'bw' into 'master'
CI: target bookworm for "future" job

See merge request World/Phosh/squeekboard!568
2022-09-09 15:50:28 +00:00
Dorota Czaplejewicz a4e58aef6a Release 1.20.0 "PID controller"
New translations:
- Greek
- Croatian

New layouts:
- US Dvorak terminal

Improvements:
- forcing the panel to hide now takes effect immediately
- Squeekboard icon will present itself when other applications need to show it
2022-09-03 14:28:35 +00:00
Dorota Czaplejewicz fd3ade8ac4 build: Update Cargo.lock.newer 2022-09-03 14:17:52 +00:00
Dorota Czaplejewicz 40089b4836 docs: Update Cargo.lock instructions 2022-09-03 13:42:07 +00:00
Dorota Czaplejewicz 50ff771922 docs: Remove obsolete amber instructions 2022-09-03 12:38:13 +00:00
Dorota Czaplejewicz 113970566b docs: Add NEWS.md 2022-09-03 12:38:13 +00:00
Dorota Czaplejewicz 8864a5b0a7 style: Give gr+polytonic a custom font 2022-09-03 08:11:08 +00:00
Dorota Czaplejewicz c30e951907 style: Use layout name as css class 2022-09-03 08:04:40 +00:00
Dorota Czaplejewicz 9413150d85 keyboard: Remove unused field 2022-09-03 07:37:33 +00:00
dcz decf547e41 Merge branch 'desktop' into 'master'
data: Set an icon in the desktop file and indicate haptic feedback

See merge request World/Phosh/squeekboard!566
2022-09-02 11:45:27 +00:00
Dorota Czaplejewicz 7c17f64517 CI: target bookworm for "future" job
Bookworm will be the basis for the next PureOS.
Plus, there was some persistent network error when running sid jobs.
2022-09-02 10:20:30 +00:00
dcz c7344aeb47 Merge branch 'fixb' into 'master'
build: Use Cargo.lock included with the repo by default

See merge request World/Phosh/squeekboard!567
2022-09-01 17:35:41 +00:00
Dorota Czaplejewicz 51f8217646 build: Use Cargo.lock included with the repo by default
This should fix some future problems with dependencies getting updated in a way that's unsupported by the build tools targeted by Squeekboard.
2022-09-01 17:04:25 +00:00
dcz a3f6349376 Merge branch 'hide' into 'master'
state: Don't animate when force-hidden

See merge request World/Phosh/squeekboard!565
2022-09-01 13:52:01 +00:00
dcz dffec166fd Merge branch '119' into 'master'
Release 1.19.0 "Chirality"

See merge request World/Phosh/squeekboard!560
2022-07-11 06:54:51 +00:00
dcz 3207977d7a Merge branch 'master' into 'master'
added US Dvorak Terminal

See merge request World/Phosh/squeekboard!564
2022-07-11 06:54:09 +00:00
Dorota Czaplejewicz 4ae78b89c6 state: Don't animate when force-hidden 2022-07-08 05:34:36 +00:00
Dorota Czaplejewicz 0c99067b4b Release 1.19.0 "Chirality"
The main behind-the-scenes change in this release is the rework which gathers code selecting layout versions into one place. A resource leak causing slowdowns was also avoided.

New translations:
- Chinese (China)
- French
- Russian

Layout changes:
- new FR+Bépo
- new Georgian
- improved Italian

Thanks to all contrbutors.
2022-07-06 06:12:46 +00:00
Dorota Czaplejewicz ec7116053f build: Update Cargo.lock 2022-07-06 06:08:13 +00:00
Dorota Czaplejewicz 70bf101812 gtk: Persist panel state
Creating and destroying the panel as needed causes a resource leak somewhere in the deeper layers of the stack. This is a workaround.

See https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/343
2022-07-01 08:07:29 +00:00
dcz 12572b9de2 Merge branch 'par' into 'master'
build: Generate files before compiling sources

See merge request World/Phosh/squeekboard!562
2022-06-30 19:03:45 +00:00
Dorota Czaplejewicz 9528339e02 build: Generate files before compiling sources 2022-06-30 18:12:57 +00:00
dcz 50ef4ab433 Merge branch 'fixci' into 'master'
ci: Use bookworm for online builds

See merge request World/Phosh/squeekboard!561
2022-06-29 15:20:20 +00:00
Dorota Czaplejewicz a8fe4a492e ci: Use bookworm for online builds
PureOS carries rather old versions of rustc and cargo. Attempting to build fails at transitive dependencies, and it's easier to upgrade the compiler than to track down and hold offending depencencies as they come.
2022-06-29 14:59:45 +00:00
dcz 0aee348e30 Merge branch 'georgian-layout' into 'master'
Added Georgian layout

See merge request World/Phosh/squeekboard!558
2022-06-24 18:28:27 +00:00
dcz feefe3fec2 Merge branch 'fix' into 'master'
cargo: Halt overzealous upgrader

See merge request World/Phosh/squeekboard!559
2022-06-24 17:58:31 +00:00
Dorota Czaplejewicz 94aa0fa68f cargo: Halt overzealous upgrader
We're using a version of Cargo which doesn't support 2021 edition. The dependency Hashbrown 0.12 uses it, so we perform a minimal reshuffling to use 0.11.
2022-06-24 17:30:56 +00:00
dcz 49fc28f0a9 Merge branch 'dddoc' into 'master'
doc: Describe how to control debugging mode

See merge request World/Phosh/squeekboard!554
2022-06-14 15:23:43 +00:00
dcz ea73a34eb8 Merge branch 'layouts' into 'master'
state: Select the layout

See merge request World/Phosh/squeekboard!553
2022-06-14 15:23:14 +00:00
dcz f8ce24fdbf Merge branch 'keyboard-layout-it' into 'master'
Fixed missing characters in eschars view in italian layout.

See merge request World/Phosh/squeekboard!557
2022-06-11 10:09:58 +00:00
Dorota Czaplejewicz c1ceec3673 state: Become the source of layout choice
A redesign of popover was needed: it can no longer query the application state directly due to current state being its own actor, so instead the popover gets a dedicated copy of the relevant state.

I'm not entirely happy with the extra complexity of having an extra actor just for 1 string, but at least the duplication between C and Rust and mutual calls have been reduced.
2022-06-06 16:10:53 +00:00
Dorota Czaplejewicz 30141db28d main: Dry-load layout in response to the layout command 2022-06-06 16:10:53 +00:00
Dorota Czaplejewicz 8d0e1b4548 state: Use IM hint and purpose for layout selection 2022-06-06 16:10:53 +00:00
Dorota Czaplejewicz e6326b9b38 state: Use dummy layout command 2022-06-06 16:10:53 +00:00
Dorota Czaplejewicz b634e2bfa4 state: Decide panel arrangement
Combines arrangement with layout to get panel contents as outcome.

Includes some path syntax changes for 2018 compatibility.
2022-06-06 16:10:53 +00:00
Dorota Czaplejewicz 590cd71f49 state: Store layout override
Not used for any externally observable effects
2022-06-06 16:10:53 +00:00
Dorota Czaplejewicz 8ff72f312a state: Include layout choice in visible outcome
This is still in preparation and doesn't issue any observable effects.
2022-06-06 16:10:53 +00:00
Dorota Czaplejewicz bb22d9650b doc: Describe how to control debugging mode 2022-06-06 16:10:03 +00:00
Dorota Czaplejewicz 82774d2315 state: Record layout choice
This does not get plugged into anything but debug prints yet.
2022-06-04 17:47:09 +00:00
dcz 9d83910696 Merge branch 'add_fr_bepo_layout' into 'master'
Add FR+Bépo layout

See merge request World/Phosh/squeekboard!552
2022-06-03 11:56:13 +00:00
dcz af716f72da Merge branch '118' into 'master'
Release 1.18.0 "Dunbar's number"

See merge request World/Phosh/squeekboard!550
2022-06-01 13:40:58 +00:00
dcz 67e9316fe5 Merge branch 'cifix' into 'master'
glib: Fix import

See merge request World/Phosh/squeekboard!551
2022-06-01 13:17:46 +00:00
Dorota Czaplejewicz c0f57e7355 glib: Fix import 2022-04-28 15:28:36 +00:00
dcz a413146888 Merge branch 'dooc' into 'master'
docs: Describe layouts

See merge request World/Phosh/squeekboard!549
2022-04-28 15:05:38 +00:00
Dorota Czaplejewicz cb338129ca Release 1.18.0 "Dunbar's number"
New translations:
- Portugese
- Serbian
- Hungarian
- Turkish
- Polish
- Spanish
- Italian
- Korean
- Occitan
- Georgian

Updated layouts: greek, polytonic

Bug ixes and improvements:
- better panel sizing
- possible to enable debugging messages while Squeekboard is running
- input method state fix
2022-04-25 13:14:00 +00:00
Dorota Czaplejewicz 9e8a243439 Update Cargo lock 2022-04-25 13:00:44 +00:00
dcz d3e0ee8c0d Merge branch 'dc' into 'master'
docs improvements

See merge request World/Phosh/squeekboard!547
2022-04-25 12:14:32 +00:00
dcz 36474d3e9d Merge branch 'output_fix' into 'master'
Panel handling cleanup

See merge request World/Phosh/squeekboard!529
2022-04-21 07:28:38 +00:00
Dorota Czaplejewicz 111c0d157f docs: Describe layouts 2022-04-20 14:52:25 +00:00
dcz e6438503a5 Merge branch 'fix-i386-build' into 'master'
layout: fix build on i386

See merge request World/Phosh/squeekboard!548
2022-04-20 11:22:39 +00:00
Dorota Czaplejewicz 6867f48bf9 docs: Make index more logical 2022-04-17 07:35:32 +00:00
Dorota Czaplejewicz 71942f7221 docs: Link to reference 2022-04-17 07:31:29 +00:00
Dorota Czaplejewicz c486ad1eb3 docs: Update location 2022-04-17 07:25:56 +00:00
dcz 9adb593e8e Merge branch 'docs' into 'master'
Add docs to gitlab pages

See merge request World/Phosh/squeekboard!545
2022-04-17 06:24:37 +00:00
Dorota Czaplejewicz dae324f86d cargo: Add zbus to newer Debian 2022-04-13 18:06:13 +00:00
Dorota Czaplejewicz 2eec3372f3 panel: Split away panel handling
This reduces ServerContextService to a mere handler of "docked mode" gsetting.
2022-04-13 16:49:33 +00:00
dcz f6724c0948 Merge branch 'debug' into 'master'
Enable debugging at runtime

See merge request World/Phosh/squeekboard!526
2022-04-13 16:40:36 +00:00
dcz d21dba6a8f Merge branch 'clap' into 'master'
build: Update clap on newer Debian

See merge request World/Phosh/squeekboard!537
2022-04-12 14:11:02 +00:00
Dorota Czaplejewicz 0e2d459d5a CI: Add gitlab pages deployment 2022-04-09 18:34:14 +00:00
Dorota Czaplejewicz 89ad302255 CI: Build Rust code reference 2022-04-09 18:34:14 +00:00
dcz 494f9442c4 Merge branch 'allow-stretching' into 'master'
layout: allow stretching the layout by a small amount

See merge request World/Phosh/squeekboard!544
2022-04-09 18:05:20 +00:00
dcz 323fd7ea14 Merge branch 'phys_size' into 'master'
Physically-based sizing

See merge request World/Phosh/squeekboard!543
2022-04-08 17:30:04 +00:00
dcz 3167cfce9c Merge branch 'gr' into 'master'
layouts: Register gr_wide

See merge request World/Phosh/squeekboard!539
2022-04-07 15:16:03 +00:00
Dorota Czaplejewicz 8ea6f6d5c1 layouts: Register gr_wide 2022-04-07 14:59:06 +00:00
dcz 3b70116a15 Merge branch 'gro' into 'master'
layouts: Add Greek Polytonic

See merge request World/Phosh/squeekboard!540
2022-04-07 14:33:23 +00:00
Dorota Czaplejewicz 397f5e126e state: Add sizing unit test 2022-04-07 14:30:46 +00:00
Dorota Czaplejewicz 14d7d5d4e0 Clean up size types 2022-04-06 16:03:31 +00:00
Dorota Czaplejewicz 6528879fed state: Derive panel size from physical click target size 2022-04-06 15:53:37 +00:00
Dorota Czaplejewicz 57aeeaa882 output: Store physical size 2022-04-06 08:58:41 +00:00
Dorota Czaplejewicz bbceba7e9b debug: Add dbus interface to control debug prints 2022-04-05 14:19:52 +00:00
dcz 5a210712f6 Merge branch 'fix' into 'master'
Fix scaling to set height

See merge request World/Phosh/squeekboard!535
2022-04-05 11:55:55 +00:00