Commit graph

2630 commits

Author SHA1 Message Date
Markus Greiner
e3dd7f154a added delete kmxfile as before 2026-05-06 18:17:42 +02:00
Markus Greiner
064680851b erasing year from the file headers 2026-05-06 18:09:52 +02:00
Markus Greiner
bb87e1d918 substituting SIL International by SIL Global in all file headers 2026-05-06 18:02:39 +02:00
Markus Greiner
c05bba9508 Merge remote-tracking branch 'refs/remotes/origin/feat/linux/mnemonic-keyboard-support-unit-tests' into feat/linux/mnemonic-keyboard-support-unit-tests 2026-05-06 17:57:36 +02:00
Markus Greiner
6e38fc0b2c renamed files according test standards 2026-05-06 17:55:55 +02:00
Markus Greiner
d5acccaa94
Update linux/mcompile/keymap/deadkey.h
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-05-06 17:51:03 +02:00
Markus Greiner
8bd47e4e63 parametrized unit tests for mcompile 2026-05-06 17:48:13 +02:00
Markus Greiner
f309d90252 incorporating review results for adding unit tests
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
- adding header files
- renaming files and methods
- restructuring meson build
2026-05-05 22:54:02 +02:00
Markus Greiner
0ed8eb1e12 Prevent running unit tests on Wayland
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
This is temporary, when the transition to xkblibcommon is done,
wayland will be available.
2026-04-28 20:04:51 +02:00
Markus Greiner
c040314866 adding dependency to libglibmm-2.4-dev typo 2026-04-28 18:52:31 +02:00
Markus Greiner
77acb6f71d adding dependency to libglibmm-2.4-dev 2026-04-28 18:50:42 +02:00
Markus Greiner
99baacbe96 adding unit tests for Linux mcompile 2026-04-28 17:27:45 +02:00
Eberhard Beilharz
58fce50f4c
Merge pull request #15749 from keymanapp/docs/linux/gtk
docs(linux): add documentation how input methods work in GTK
2026-03-16 11:52:11 +01:00
Eberhard Beilharz
e8214b2ad6
docs(linux): add documentation how input methods work in GTK
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Build-bot: skip
Test-bot: skip
2026-03-13 18:25:41 +01:00
Eberhard Beilharz
a75b52ec9c
Merge pull request #15732 from keymanapp/chore/linux/cherry-pick/changelog 2026-03-13 11:06:22 +01:00
Eberhard Beilharz
9c6b4e2c5c
chore(linux): fix dependency of Debian test suite 🍒
The test suite had a dependency on the deprecated `pkg-config`. This change
replaces this with `pkgconf`. This fixes a lintian warning.

Cherry-pick-of: #15734
Test-bot: skip
2026-03-12 17:59:51 +01:00
Eberhard Beilharz
4a16a608ae
chore(linux): Update debian changelog
(cherry picked from commit ff68125ac4)
2026-03-12 12:46:25 +01:00
Eberhard Beilharz
3811980bf1
chore(linux): Update debian changelog
(cherry picked from commit 0d22c08f59)
2026-03-10 17:58:53 +01:00
Eberhard Beilharz
76866b275b
feat(linux): address code review comments
- add date to header and filename
- add state of ibus
- add privacy statement and link to privacy policy
2026-02-26 17:04:49 +01:00
Eberhard Beilharz
cb1de97ae7
feat(linux): implement diagnostic report
This change allows to collect data for a diagnostic report. This can be
done either from the command line through the new `km-diag-report` tool,
or in `km-config` from the new `Support` tab that allows to generate the
report and then copy it to the clipboard or save as a file.

The diagnostic report contains installed browsers and their versions and
installation methods as well as the default browser. It checks for
browsers installed through apt (Ubuntu/Debian), snap, and flatpak.

The change also has an implementation for pacman (Arch Linux) and
dnf/yum (Fedora), although these have not been tested.

Fixes: #7784
2026-02-13 17:29:22 +01:00
Eberhard Beilharz
c6e7337475
refactor(linux): make get_ibus_version() public 2026-02-12 16:49:32 +01:00
Eberhard Beilharz
7941b3d4a1
fix(linux): check for existing file before trying to install
Under some circumstances it's possible that the user manages to select
a directory instead of a kmp file, or manually enters a non-existing file.
Is used to throw an error that we caught on Sentry; the user was able to
continue to use the app. This change now checks for a valid file before
trying to install the kmp file.

Fixes: #15572
Fixes: KEYMAN-LINUX-99
2026-02-09 16:04:24 +01:00
Eberhard Beilharz
a3ea01451e
chore(linux): use xz compression for source tarballs
Using the xz compression instead of gzip greatly reduces the size of the
tarball.

Follows: #15566
Test-bot: skip
2026-02-06 17:37:34 +01:00
Eberhard Beilharz
9322a8adcb
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-02-06 17:13:35 +01:00
Eberhard Beilharz
f981469298
chore(linux): add unit tests for new functions in package-build.inc.sh
This addresses code review comments. Also improve variable naming and
documentation for these new functions.
2026-02-06 17:02:27 +01:00
Eberhard Beilharz
1b4e254963
fix(linux): include missing artifacts in source tarball
With this change it's possible to build Keyman from the source tarball
by running `./build.sh` from the Keyman root directory.

When building Keyman as part of the Ubuntu/Debian packaging, we don't use
the toplevel `build.sh` file but instead call the build scripts in the
subdirectories. This omits building some components that are currently
not needed for running Keyman for Linux. The `dist.sh` script only
includes the necessary files in this case, distinguished by the `origdist`
parameter. This results in a significantly smaller tarball (2.5MB vs 51MB).

This change also enhances the `generate_tar_ignore_list` function so that
it is now possible to add `build` to the exclude list to ignore all
`build` subdirectories.

Fixes: #15544
Build-bot: skip
Test-bot: skip
2026-02-05 17:56:15 +01:00
Eberhard Beilharz
81eeef0805
Merge pull request #15559 from keymanapp/chore/linux/cherry-pick/deb
chore(linux): update copyright year and standards version 🍒
2026-02-05 14:05:49 +01:00
Eberhard Beilharz
2a9885f1c7
chore(linux): update copyright year and standards version 🍒
This change updates the copyright year in the `debian/copyright` file
as well as the `Standards-Version` to 4.7.3 in `debian/control`.

Cherry-pick-of: #15558
Test-bot: skip
2026-02-04 14:10:38 +01:00
Eberhard Beilharz
7eaf87ce77
chore(linux): Update debian changelog
(cherry picked from commit 06efd544f5)
2026-02-04 13:48:47 +01:00
Darcy Wong
356ef54c86 chore(common): Update Crowdin strings for de 2026-01-29 16:38:12 +07:00
Markus Greiner
bd492542cc fix(linux): issues when running ./build.sh test:linux, improving ibus-daemon stop after review
Test-bot: skip
2026-01-15 11:09:20 +01:00
Markus Greiner
8009bc7959
Update linux/ibus-keyman/tests/scripts/test-helper.inc.sh
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-01-15 10:20:49 +01:00
Markus Greiner
60db18681e fix(linux): issues when running ./build.sh test:linux 2026-01-14 22:35:00 +01:00
Eberhard Beilharz
5d942116bc
Merge pull request #15423 from keymanapp/maint/linux/plucky
maint(linux): remove EOL Ubuntu 25.04 Plucky

Support for Ubuntu 25.04 Plucky ends on 15th January 2026 after which it is no longer possible to upload and build on Launchpad. This change removes Plucky.

Fixes: #14955
2026-01-14 09:58:47 +01:00
Eberhard Beilharz
7102bed1e5
maint(linux): remove EOL Ubuntu 25.04 Plucky
Support for Ubuntu 25.04 Plucky ends on 15th January 2026 after which
it is no longer possible to upload and build on Launchpad. This change
removes Plucky.

Fixes: #14955
Test-bot: skip
2026-01-13 18:04:57 +01:00
Darcy Wong
665e82a104 chore(common): Update Crowdin strings for Italian 2026-01-13 09:37:15 +07:00
Darcy Wong
18aec9444e
Merge pull request #15366 from keymanapp/chore/linux/keyman-config-pot
chore(linux): Update keyman-config.pot strings
2025-12-22 08:03:22 +07:00
Darcy Wong
e6b8f46ae1 chore(linux): Update keyman-config.pot strings
Output of
```
cd linux/keyman-config
make update-template
```
2025-12-18 09:47:37 +07:00
Eberhard Beilharz
69950055e2
fix(linux): fix persisting options
This change adds the verification of the options to the baseline tests
and fixes persisting the options. Previously we treated the UTF-16 key
and value as UTF-8 so that only the first character got persisted.

Test-bot: skip
2025-12-17 19:06:34 +01:00
Eberhard Beilharz
9d2b17613c
chore(linux): add manual test for localization
This change adds a manual test that allows to see if all strings are
localizable. It also fixes the `update-template` target in the
`Makefile`.

Build-bot: skip
Test-bot: skip
2025-12-15 19:05:58 +01:00
Eberhard Beilharz
5316203ef2
chore(linux): Update debian changelog
(cherry picked from commit 4f513a7066)
2025-12-04 10:19:05 +01:00
Eberhard Beilharz
9e991a14e0
Merge pull request #15133 from keymanapp/chore/linux/cherry-pick/changelog 2025-11-17 08:32:41 +01:00
Marc Durdin
8f95d84014
Merge pull request #15114 from keymanapp/maint/resources/builder-timing
maint(resources): add build timing report to builder
2025-11-14 14:24:11 +01:00
Eberhard Beilharz
e56619911d
chore(linux): add support for Ubuntu 26.04 LTS Resolute
Build-bot: skip
Test-bot: skip
2025-11-11 11:28:20 +01:00
Eberhard Beilharz
3a942a92f0
chore(linux): Update debian changelog
(cherry picked from commit 9eeb6be695)
2025-11-10 17:06:49 +01:00
Marc Durdin
c573709ee6 maint(resources): add build timing report to builder
This is enabled automatically for CI builds, and can be enabled with
`--timing` parameter otherwise. Also, adds `builder_launch`,
documentation to come.

Test-bot: skip
2025-11-10 11:03:45 +01:00
Eberhard Beilharz
57681ce516
Merge pull request #14965 from keymanapp/chore/linux/cherry-pick/changelog
chore(linux): Update debian changelog 🍒
2025-11-04 19:28:46 +01:00
Eberhard Beilharz
e77d2432ef
Merge pull request #14973 from keymanapp/chore/linux/14957_parseversion
chore(linux): replace deprecated `parse_version`

`pkg_resources` which contains `parse_version` is deprecated. Latest versions output a warning. This change uses the suggested replacement, `package.version.parse` which is available in all supported Ubuntu versions.

Fixes: #14957
2025-10-17 09:15:18 +02:00
Eberhard Beilharz
917c6c20a1
Merge pull request #14971 from keymanapp/fix/linux/10178_exitibus
fix(linux): use `ibus` command to restart ibus

When using Kubuntu exiting ibus sometimes used to hang (#10178). This was because ibus' `bus.exit()` doesn't shutdown properly (see https://github.com/ibus/ibus/issues/2816#issuecomment-3410473708). The recommended way is to use the `ibus exit` command. Since we no longer use the API we can directly use the `ibus restart` command, which this PR implements.

Fixes: #10178
2025-10-17 09:14:46 +02:00
Eberhard Beilharz
ddb9522337
chore(linux): replace deprecated parse_version
`pkg_resources` which contains `parse_version` is deprecated. Latest
versions output a warning. This change uses the suggested replacement,
`package.version.parse` which is available in all supported Ubuntu
versions.

Fixes: #14957
2025-10-16 18:27:57 +02:00