Dorota Czaplejewicz
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
Dorota Czaplejewicz
20b5cac148
build: Silence overcautious warning
2023-01-15 11:51:53 +00:00
Dorota Czaplejewicz
8da59a6216
safety: Replace strncpy with strlcpy
2023-01-15 11:40:27 +00:00
Dorota Czaplejewicz
6fd281b214
Remove dead code
2023-01-15 11:27:14 +00:00
Dorota Czaplejewicz
2e65586db5
wayland: remove dead, broken init
2023-01-15 11:22:10 +00:00
dcz
5f12199de1
Merge branch 'hu' into 'master'
...
Add Hungarian layout
See merge request World/Phosh/squeekboard!585
2023-01-05 17:53:45 +00: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
dcz
8fa4bf1b40
Merge branch '21' into 'master'
...
rust: Use 2021 eition
See merge request World/Phosh/squeekboard!584
2023-01-02 12:20:49 +00:00
Dorota Czaplejewicz
1704f1b4cb
rust: Use 2021 eition
2022-12-21 12:24:03 +00:00
Dorota Czaplejewicz
828279d03c
rust: Use 2018 eition
...
This edition has better syntax around scoping and `use`.
2022-12-21 12:20:17 +00:00
Dorota Czaplejewicz
31a7acb0eb
popover: Apply settings enabled stateto UI
2022-12-08 10:07:09 +00:00
Dorota Czaplejewicz
7130ac9529
popover: State can be printed
2022-12-08 10:07:09 +00:00
Dorota Czaplejewicz
c590064ce3
popover: Connect to screensaver event
2022-12-08 10:07:09 +00:00
Dorota Czaplejewicz
3366090454
popover: Use thread-safe reference
...
This reference will be modified from the screensaver thread.
2022-12-08 09:38:31 +00:00
Dorota Czaplejewicz
e88410d412
util: Add thread-safe c wrapper
2022-12-08 09:38:31 +00:00
Dorota Czaplejewicz
ae15869d07
popover: Able to receive screensaver events
2022-12-08 09:38:31 +00:00
Dorota Czaplejewicz
cf6171a51f
loops: Use Void for infinite loops
2022-12-06 13:01:25 +00:00
Dorota Czaplejewicz
ea5e36e9fd
screensaver: Catch activeness changes
2022-12-06 12:58:17 +00:00
Dorota Czaplejewicz
783ca9ae11
structure: Create a module for custom event loops
2022-12-06 12:19:17 +00:00
dcz
38165ac039
Merge branch 'event' into 'master'
...
Decouple event handling from concrete logic
See merge request World/Phosh/squeekboard!581
2022-12-06 12:14:17 +00:00
dcz
f4c03ce6e8
Merge branch 'sizes' into 'master'
...
Fix resizing
See merge request World/Phosh/squeekboard!580
2022-11-30 13:10:01 +00:00
Dorota Czaplejewicz
7f1d237551
event loop: Move event handlers from event loop driver to main loop
2022-11-28 15:53:41 +00:00
Dorota Czaplejewicz
6d01386d8a
main: Moved event loop definition close to actor
2022-11-28 15:53:41 +00:00
Dorota Czaplejewicz
e5be92efae
loop driver: Decouple from concrete state
2022-11-28 15:53:41 +00:00
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
Dorota Czaplejewicz
805c0d27fd
panel: Fix resize when reusing the window
...
When the panel window was reused, it was not re-initialized. That includes the panel size request. If the last panel size was matching a different display size (including orientation), the newly shown panel would re-use that size instead of respecting the newly requested size.
2022-11-27 18:04:18 +00:00
Dorota Czaplejewicz
9242bb679d
panel: Hardcode some debugging
...
Quickly done, useful for development tests. For user control, this requires connecting to some switch.
2022-11-27 18:02:47 +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