23d6beee8e
event loop: Decouple event timeout from event type
2022-11-28 15:53:41 +00:00
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
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
973bbaca4b
layout: Increase separation between mutable and logic
2022-10-01 18:29:24 +00:00
14282387f2
layout: Increase separation between mutable and logic
2022-10-01 18:25:35 +00:00
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
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
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
fc4fa63cc6
layout: Remove unused code
2022-10-01 12:10:03 +00:00
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
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
c017a773ea
layout: Gather state-related stuff together
2022-09-30 17:12:00 +00:00
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
a09a51ada9
Add wide Swedish layout
...
Closes https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/351
2022-09-15 18:59:43 +02:00
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
c30e951907
style: Use layout name as css class
2022-09-03 08:04:40 +00:00
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
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
0339a4a50f
added US Dvorak Terminal
2022-07-11 06:54:09 +00:00
4ae78b89c6
state: Don't animate when force-hidden
2022-07-08 05:34:36 +00:00
cc7657e78c
Merge branch 'leak' into 'master'
...
gtk: Persist panel state
See merge request World/Phosh/squeekboard!563
2022-07-06 06:03:27 +00:00
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
9528339e02
build: Generate files before compiling sources
2022-06-30 18:12:57 +00:00
7f9baa8021
Added Georgian layout
2022-06-24 18:28:21 +00:00
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
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
30141db28d
main: Dry-load layout in response to the layout command
2022-06-06 16:10:53 +00:00
8d0e1b4548
state: Use IM hint and purpose for layout selection
2022-06-06 16:10:53 +00:00
e6326b9b38
state: Use dummy layout command
2022-06-06 16:10:53 +00:00
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
590cd71f49
state: Store layout override
...
Not used for any externally observable effects
2022-06-06 16:10:53 +00:00
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
82774d2315
state: Record layout choice
...
This does not get plugged into anything but debug prints yet.
2022-06-04 17:47:09 +00:00
c75723b705
Add FR+Bépo layout
2022-06-01 21:02:21 +02:00
c0f57e7355
glib: Fix import
2022-04-28 15:28:36 +00:00
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
58c7fe98b8
layout: fix build on i386
...
Due to the (lack of) precision of floating-point values, comparison
results may differ slightly between architectures, leading to the
`check_stretching` test failing when building for i386. This can be
fixed by adjusting the value against which we compare the ratio between
x/y scaling factors in `calculate_transformation`.
2022-04-20 12:43:20 +02:00
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
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
68087a125c
layout: allow stretching the layout by a small amount
...
Due to the way the panel size is calculated, there might be a small
empty space on the sides or top of the layout. This can be an issue,
especially when this empty space is located on the sides, as touch
events in this area are not taken into account.
By allowing a small difference in horizontal and vertical scaling, we
can ensure the panel occupies the whole display width in cases where
this would be problematic.
2022-04-09 16:43:06 +02:00
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
8ea6f6d5c1
layouts: Register gr_wide
2022-04-07 14:59:06 +00:00
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
397f5e126e
state: Add sizing unit test
2022-04-07 14:30:46 +00:00
14d7d5d4e0
Clean up size types
2022-04-06 16:03:31 +00:00
6528879fed
state: Derive panel size from physical click target size
2022-04-06 15:53:37 +00:00
57aeeaa882
output: Store physical size
2022-04-06 08:58:41 +00:00
bbceba7e9b
debug: Add dbus interface to control debug prints
2022-04-05 14:19:52 +00:00
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
bb8bba163e
layouts: Add Greek Polytonic
...
By Antonis Tsolomitis <atsol@aegean.gr >
2022-04-05 11:41:27 +00:00