At least one user got a crash trying to click on the "About" button
to display keyboard details for the ekwtamil99uni keyboard. I can't
reproduce the problem, but this change adds additional code that
should prevent the crash from happening.
Fixes#5756.
(cherry picked from commit 3d44b9987d)
Previously the included file replaced the entire description,
including the parameters. With this change the text from the include
file gets added to the beginning of the description.
km-config provides a .desktop file that allows the user to start
the configuration app like any other app. Unfortunately, a recent
change that improved the consistency of the manual pages broke
that because the .desktop file used to call km-config with the
parameter `-i` (plus file if given). With the recent change `-i`
now requires a filename, which caused `km-config` to output an error
and quit. For the user this looked like it didn't do anything.
This change adds the file/url as a new optional positional parameter
while keeping the existing `-i`/`--install` parameter.
This fixes a bug introduced in #3290 where we added using the
language from search. Unfortunately that broke things in a lot of
other places because we didn't test for the empty string.
On local builds we shouldn't upload errors to Sentry. The
`build-utils.sh` script sets the `UPLOAD_SENTRY` environment variable
for that purpose. Also, Sentry doesn't like having an empty string
as pkgversion (which should no longer happen with the rest of this
change, but...)
This change imports `os` instead of `os.path`. This is the
recommended way. It also reduces confusion whether to use
`os.path.whatever()` or just `path.whatever()`.
Previously uninstalling of a keyboard failed if the directory was
a symlink (e.g. with keyboards from unit tests). This change treats
symlinks differently.
Fixes Sentry issue KEYMAN-LINUX-32.
Introduce methods to get paths instead of hard-coding the values.
This also deprecates four methods (`user_keyman_dir`,
`user_keyman_font_dir`, `user_keyboard_dir`, and `get_isntall_area_path`).
This change also fixes a crash trying to install a package in the
shared area.
When installing in the shared area the user has to run
`km-package-install` with sudo so that he has sufficient permissions.
In that case we have to do extra work to restart ibus for the
logged-in user instead of root.
Fixes#5309.