Commit Graph

81 Commits

Author SHA1 Message Date
b3a9a99667 Release 1.39.0
New button-styles:
 - `change-view`: Highlighted like `special`,
   but with a border at the bottom.
 - `character-group`: Like `change-view`, but with less highlighting.
 - `placeholder`: Less contrast to the background and does not visually
   change when pressed.
 - `subtle-highlight`: For highlighting commonly used characters
   in accent-views, for example.

New layouts:
 - Portuguese
 - Slovenian
 - Turkish (F-layout)
 - Turkish (Q-layout)

Remade layout:
 - Portuguese (Brazil): A view for accents has been added.

Changes:
 - The new button-styles are used in the available layouts,
   where appropriate.
 - The top rows of the terminal-layouts are a little taller.
 - Squeekboard will choose the wide shape of layouts, for more displays
   in horizontal orientation.
 - Highlighted buttons now show visual feedback too, when pressed.
 - Many layouts have been adjusted,
   so that those change their form less when switching views.
 - Various small issues have been fixed, to make layouts more consistent.

Development:
 - Scaling-tests for many display-types have been added.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/655>
2024-05-05 00:52:59 +02:00
115a45d44a Release 1.38.0
Changes:
- 25 wide shapes have been added,
  so that every available layout now has a wide shape
- "PgUp" and "PgDn" on the terminal-layouts have been relabeled
  to "Page ↑" and "Page ↓"
- The Spanish and French terminal-layouts now have translated key-names
- The Spanish terminal-layout has been updated with the additional
keys that are already available on the US-terminal-layout.
- The wide and base shapes of the German layout had a different
  key-arrangement and the wide shape did not have a button to access
  additional characters; this has been fixed.

Development:
- Squeekboard's versioning now follows Phosh's versioning
  (for example: Squeekboard 1.38 was released in time for Phosh 0.38)
- The build-system has been simplified
  - A single Cargo.toml file is used,
    instead of assembling it from multiple parts
  - Newer dependencies are now used for building Squeekboard by default
- Squeekboard's main development-platform is now Debian Testing
- The layout-files have been cleaned up,
  so that those are easier to understand and edit

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/631>
2024-03-23 18:53:08 +01:00
5806b14628 Simplify build-system further
Remove Fragile from the list of dependencies

It is not necessary for building 'gio' anymore,
since the upgrade to 'glib v2_58'.

Remove "online" and "reset_lock" Meson-options

Building Squeekboard should work offline.

Use a single "Cargo.toml"-file instead of splitting it into parts

and putting it back together when building.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/623>
2024-03-11 17:45:57 +01:00
15ebd0ffaf Switch to glib v2_58
Remove the ancient fallbacks

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/621>
2024-03-10 17:37:52 +01:00
8ebb9cd592 build: Do away with older and newer deps
We copy the 'newer' variant to the canonical locations.
No need to implement manual branching, we have git since decades.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/620>
2024-03-10 15:44:28 +00:00
8dc32bb126 Release 1.24.0
Changes:
- The emoji-layout has been replaced with a new one,
  which offers many more emojis to choose from.

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/622>
2024-03-10 15:00:44 +01:00
00b894993c Release 1.23.0
New or updated translations:
- Belarusian
- Haitian Creole

New layouts:
- French Canadian (QWERTY + accented letters)
- German terminal-layout
- Spanish terminal-layout

Changes:
- Fixed Persian and Swiss layouts
- Fixed various small style-issues in many layouts
- Improved the US-terminal-layout

Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/615>
2024-03-08 11:36:43 +01:00
1fac218c70 Release 1.22.0 "Superposition"
New or updated translations:
- Basque

Changes:
- fixed panel sizing when scaling
- fixed panel sizing when rotating
- fixed Dvorak terminal layout
2023-04-01 13:50:31 +00:00
378c3ec9ad Release 1.21.0 "Expected value"
New or updated translations:
- Hindi
- Czech
- German

New layouts:
- wide Swedish
- Hungarian

Changes:
- use a custom font for gr+polytonic, where the default is unreadable
- require newer Rust
- fixed panel sizing when rotating
- internal improvements.
2023-02-16 15:43:24 +00:00
ffae36d259 Rust: Restore compatibility with Debian Bookworm 2023-02-04 17:18:35 +00:00
ea5e36e9fd screensaver: Catch activeness changes 2022-12-06 12:58:17 +00:00
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
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
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
d19050e06d build: Replace missing crates.io dependency with Purism-hosted one 2022-04-04 17:48:54 +00:00
c912b73c4b Release 1.17.0 "Ergodicity"
New translations:
- Hebrew (thanks Yosef Or Boczko)
- Galician (Fran Dieguez)

New Romanian layout (thanks Cosmin Humeniuc)

Others:
- Updated visual design
- Sizing system rework
- Fix crash without dbus (thanks William Wold)
2022-02-26 11:10:49 +00:00
Tor
417fe35e91 Make compatible with latest cargo deps 2022-01-30 17:47:57 +00:00
d49ce45de0 Release 1.16.0 "Clostridium botulinum"
This release contains fixes that make the project's dependencies more reliable, and therefore less likely to blow up when the world changes.

Apart from that, there are a lot of extra translations:
- Brazilian Portugese (Rafael Fontenelle)
- Ukrainian (Yuri Chornoivan)
- Swedish (Luna Jernberg)
- Friulian (Fabio Tomat)
- Romanian (Daniel Șerbănescu)
- Slovenian (Matej Urbančič)
- Dutch (Nathan Follens)
- Finnish (Jiri Grönroos)
- Persian (Danial Behzadi)
- Catalan (Jordi Mas i Hernandez)
2022-01-25 11:26:26 +00:00
23ae771605 Release 1.15.0 "Feedback loop"
This release adds new layouts, and new types of layout, plus fixes a regular allotment of bugs, and improvs the internal design a whole lot.

Here are the changes that you might notice without digging into code.

Layouts:
- Arabic layout from Khaled Eldoheiri
- Swiss French from Jordi
- Bulgarian from Plamen Stoev
- Swiss German from Patrick Jörg
- Armenian from Norayr Chilingarian
- Wide French terminal from Arnaud Ferraris
- PIN layout

Improvements:
- Integration into GNOME translations
- A debug mode that starts the GTK inspector
- Better errors when can't start
- Better docs (thanks PhilProg)

Bug fixes:
- Unblurred icons
- Not showing on the lock screen for no reason
- Theme changes without restarting now
- Input hint can take effect without having to refocus the field
2021-12-19 14:14:55 +00:00
964f1da305 Initialize gettext 2021-12-03 18:58:12 +01:00
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
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
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
03ccfe77ad Merge branch 'unused' into 'master'
build: Enable unused warnings in C

See merge request Librem5/squeekboard!375
2020-12-11 14:56:47 +00:00
2796362d34 build: Fail on any C warnings when strict 2020-12-03 15:26:54 +00:00
af00d74f71 build: Enable wformat to remove warnings about missing wformat 2020-12-03 15:26:28 +00:00
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
df8e885983 build: Fix release 2020-11-28 18:57:46 +00:00
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
c0525946ae Release version 1.10.0 "Idempotence"
- Xwayland support
- Keys' press zone extends to the side edges of the widget
- Layout popover separates languages from special layouts
- Popover can open settings
- Keyboard is invisible when GNOME accessibility setting is off
- Layout tester checks for presence of Backspace and Return
- Adjusts the keyboard size better to tablet-sized displays
- Friulian keyboard layout
- Ukrainian layout
- Belgian layout
- Wide French layout
- Wide Belgian layout
- Wide terminal layout
- Improved tutorial
- Improved README
- Stricter compilation checks
- Minor fixes
2020-10-22 10:26:53 +00:00
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
5d81cf78f8 docs: Correct Cargo update instructions 2020-10-19 14:33:08 +00:00
a4e7ad06d3 build: Avoid MaybeUninit on older Debian 2020-10-12 14:14:26 +00:00
61400c9584 build: Error on repeating declarations 2020-10-06 09:54:17 +00:00
a8b81172fc build: Enable '-Wformat-nonliteral' 2020-09-11 18:40:56 +02:00
6756fb423a build: Enable -Wredundant-declarations 2020-09-11 18:16:30 +02:00
24b6a04903 build: Enable -Wmaybe-uninitialized
No changes needed.
2020-09-11 18:16:30 +02:00
b197cd839e build: Enable -Wformat-security
No changes needed.
2020-09-11 18:16:30 +02:00
857a916402 build: Enable -Winit-self
No changes needed
2020-09-11 18:16:30 +02:00
93e9ce0dd7 build: Enable '-Wunused-function' 2020-09-11 18:16:13 +02:00
9d63b505ec build: Enable '-Wold-style-definition' '-Wstrict-prototypes' 2020-09-11 18:15:44 +02:00
1ee58ce7a0 Document changes and release 1.9.3 2020-08-05 16:17:44 +02:00
ecfc45c2de build: Make compatible with Debian Bullseye
This commit is a bit bigger than it could have: Meson changes could have gone in separately from CI and Debian.

This commit looks more complicated than it should reasonably be. Alas, Cargo is a piece of work, and it doesn't let honest people just choose different versions of dependencies, leading to a cascade of misery. Several things were tried to curb the disaster:

- Cargo [feature] supports choosing dependencies, but doesn't support specifying dependency versions
- Cargo has a cfg() syntax in sections for choosing dependencies by build options, but it explicitly doesn't support selecting on features…
- Cargo allows choosing different dependencies based on features, so perhaps dependencies with different versions could live in stub crates pulled in as needed? Nope! If a dependency doesn't exist in the repo (and that's the point here), Cargo throws up its hands.

This means Cargo.toml needs to be generated based on the build type. More misery:

- we lose the simplicity of just doing `cargo.sh` for simple housekeeping like deps updates. HACKING.md was updated to reflect that. Perhaps that's inevitable - build options need to be like this.
- Some flaky adjustments needed in `cargo.sh` because of an additional argument that can be mistaken for an argument to the exec in `cargo run`.
- Specifying a custom `Cargo.toml` means Cargo can no longer find any tests, examples, benchmarks, or binaries, because it searches relative to the directory of `Cargo.toml`, which is now the build dir. Extra care needed to not forget about them now.

As soon as Cargo allows anything better for managing deps versions, the above should be undone in its favor.

Good side is that a couple bugs went away:

- build flags not always making it to Cargo
- arm64 builds were optional while they shouldn't
- test layouts in unit tests are loaded from an explicit directory now

The Bullseye versions of dependencies are canonical now, Buster considered legacy.
2020-06-24 15:51:21 +00:00
c1737c763f sm.puri.Squeekboard.desktop: make path to Exec= absolute
This uses the same logic from Phosh to render absolute paths in .desktop
files.
2020-05-26 12:02:55 +02:00
dca0e55557 Release 1.8.0 "Conflict-free replicated data type"
- The terminal layout is always available from the layout selection popup.
- XKB Layout names in the popup are translated using GNOME's database.
2020-01-14 13:56:21 +00:00
273423f626 Release 1.7.0 "Mycelium"
Enables a terminal layout, which will activate whenever the terminal input hint is received.

Arm64 .debs are produced by the CI again.
2020-01-08 12:19:59 +00:00
7e57df3434 Release 1.6.0 "Specific impulse"
New emoji layout, `entry.py` becomes part of the -devel package under the name `squeekboard-entry`.
2020-01-02 12:06:19 +00:00
12be3e980f Merge branch 'cleanup' into 'master'
Build cleanups

See merge request Librem5/squeekboard!287
2019-12-23 21:34:18 +00:00
ca8a2baefa Merge branch 'devel' into 'master'
Entry test added to -devel package

See merge request Librem5/squeekboard!286
2019-12-23 21:33:41 +00:00
d76deb0655 Release 1.5.0 "The bends"
This release introduces some renderer improvements, including relating to speed.

Mire importantly, layout files have an incompatible change in format: bounds on the layout are replaced by margins. This removes the possibility that buttons don't fit in the layout and frees layout makers from having to calculate the size of the layout manually.
2019-12-23 12:08:45 +00:00