to make rust-analyzer work correctly.
When the paths in Cargo.toml have '@path@' in them,
rust-analyzer cannot find the correct paths.
Before this change, rust-analyzer was unable to offer information
about code (in files other than main.rs), and instead
showed an error-message:
"1:1 unused: This file is not included anywhere in the module tree,
so rust-analyzer can't offer IDE services.".
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/657>
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>
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>
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>
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>
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.
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
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
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)
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)
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
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
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
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.
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.
- 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
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).