Commit graph

1254 commits

Author SHA1 Message Date
Eberhard Beilharz
bad0feea9b
fix(linux): Improve setting context
This change always gets the context from the surrounding text
if `reset_context` gets called. This helps when the user puts the
IP after a certain character. Previously we basically lost the
context, with this change we restore the context so that it's like
the user just typed the previous characters.
2022-10-12 21:14:26 +02:00
Steven R. Loomis
f668f6db7c
Merge pull request #7435 from keymanapp/chore/linux/7102-nodejs-docker
chore(linux): Add Node.js to the docker container
2022-10-12 11:03:46 -05:00
Eberhard Beilharz
c891f870b6
fix(linux): Fix make install
Several fixes for building and installing locally.

Fixes #7397. Closes #7398. Closes #7400.
2022-10-12 12:28:46 +02:00
Eberhard Beilharz
1e8e598cd3
chore(linux): Update readme
This change adds separate READMEs for the legacy projects, and
removes mentioning of the legacy projects in the current READMEs.
The motivation is to make it later easier to remove the legacy
projects, as well as reducing the efforts to testing the README with
legacy projects. Since legacy projects aren't maintained anymore
it doesn't make sense to still have them in the regular README,
suggesting that the instructions work for the legacy projects as
well.
2022-10-12 12:28:46 +02:00
Steven R. Loomis
71ed48ba2e chore(linux): Add Node.js to the docker container
- used in feature-ldml

Relates to #7102
2022-10-11 15:57:55 -05:00
Eberhard Beilharz
bcd29634bf
feat(linux): Address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-10-11 18:44:30 +02:00
Eberhard Beilharz
908dfbeefb
feat(linux): Optimize if surrounding text is supported
Only send fake event if client does not support surrounding text.
2022-10-11 18:44:30 +02:00
Eberhard Beilharz
e6601f205c
feat(linux): match state of original event when creating fake event
We forward a fake event for both keydown and keyup. This change
will set the flag on the fake event so that we get keydown and keyup.
This is probably not technically necessary, but it helps in
debugging because you can then see that both fake events still
belong to the same keypress.
2022-10-11 18:44:30 +02:00
Eberhard Beilharz
dba2002287
feat(linux): Still support older ibus versions
If we're dealing with an older ibus version that doesn't have the
necessary patches we fall back to the old behaviour. Otherwise
we use the new output reordering.
2022-10-11 18:44:29 +02:00
Eberhard Beilharz
e1d4169eeb
feat(linux): Optimizations 2022-10-11 18:44:29 +02:00
Eberhard Beilharz
18d0711ff3
fix(linux): Fix reordering of output
This change implements a commit queue which allows to control the
order of the output. This ensures that any backspace we generate
will be processed before the character we're adding.

Requires changes in ibus (surrounding text fix (see #7072) and
prefilter change)

Fixes #1489, #4028, #4029, #4030, #4505, #5510, #6639
2022-10-11 18:44:28 +02:00
Eberhard Beilharz
efbfaa1be4
chore(linux): Cleanup unnecessary surrogate check
Previously `process_unicode_char_action` checked for
`action_item->character` being a surrogate. This should never happen
because `action_item->character` is a 32-bit character. This change
removes the unnecessary check and the `keyman->firstsurrogate` field.

Fixes #6385.
2022-10-04 19:24:58 +02:00
Eberhard Beilharz
af6c6db49a
chore(linux): Remove unused IBusLookupTable 2022-09-15 18:53:44 +02:00
Eberhard Beilharz
71f41b0c80
Merge pull request #7284 from keymanapp/fix/linux/7275-error
fix(linux): Fix ignored error
2022-09-14 10:35:58 +02:00
Eberhard Beilharz
34b8e136b0
fix(linux): Fix ignored error
Previously we ignored an error that showed in the build logs
because the eval line got executed before calling reconf.sh which
created the version file. I think despite this error things worked,
but it didn't look nice to have and ignore a build error in the
build log.

Fixes #7275.
2022-09-13 16:01:10 +02:00
Eberhard Beilharz
e6403c3092
chore(linux): Update debian changelog
(cherry picked from commit 6c31e9ed83)
2022-09-13 11:20:43 +02:00
Marc Durdin
f836574cbc chore: use keyman.com instead of keyman-staging.com
Fixes #7227.

We want to use keyman.com for now even for alpha builds, as
keyman-staging.com is going to be used for transition to Docker-based
hosting, and it will be problematic to try and share that process with
alpha builds.
2022-09-08 14:32:39 +10:00
Eberhard Beilharz
9d1004b9ec
chore(linux): Fix ibus-keyman.postinst script
When installing ibus-keyman it could happen that we got an (ignored)
error "user name does not exist". This change tries to work around
this problem.
2022-09-02 18:05:52 +02:00
Eberhard Beilharz
aa55fc2571
Merge pull request #7147 from keymanapp/fix/linux/jenkins.sh
fix(linux): Allow downgrades for installing build deps
2022-08-30 00:26:17 +02:00
Eberhard Beilharz
54a314df0e
Merge pull request #7145 from keymanapp/chore/linux/cherry-pick/changelog
chore(linux): Update debian changelog 🍒
2022-08-30 00:23:23 +02:00
Marc Durdin
895ce930a0
Merge pull request #6993 from keymanapp/chore/core/rename-json-source
chore(core): rename json.hpp to jsonpp.hpp 🛩
2022-08-29 14:48:32 -05:00
Eberhard Beilharz
fc3c991293
fix(linux): Allow downgrades for installing build deps
When install the keyman-build-deps_*.deb file it can happen that
we end up with a lower version number than what we previously
built. This change allows downgrades so that the build dependencies
can be installed.
2022-08-29 19:06:33 +02:00
Eberhard Beilharz
72b9fa3d21
chore(linux): Update debian changelog
(cherry picked from commit f2b1277166)
2022-08-29 15:14:33 +02:00
Steven R. Loomis
4816e590cf feat(linux): Dockerfile for linux builder
- add Dockerfile in linux/Dockerfile, referencing linux/debian/control
- add docs in docs/build/linux-ubuntu.md

Fixes: #7102
2022-08-26 17:08:56 -05:00
Eberhard Beilharz
7169723d54
fix(linux): Remove wrong ok_for_single_backspace method
The implementation of `ok_for_single_backspace` checked the current
action_item multiple times. However, we already know that that
item is `KM_KBP_IT_BACK` because the only place this method gets
called is from the `process_backspace_action` method. So basically
this method always returns `FALSE`. "Fixing" this method to check
the next action_items makes things fail.

Removing this method since it doesn't do anything except burn
processing cycles...

Fixes #5614.
2022-08-25 18:38:06 +02:00
Eberhard Beilharz
7d449a5534
Merge pull request #7060 from keymanapp/chore/linux/improve_include
chore(linux): Refactor `jenkins.sh`
2022-08-15 09:32:22 +02:00
Marc Durdin
139b26e4a5 chore(linux): update tar ignore for common folder 2022-08-12 11:12:27 +02:00
Marc Durdin
e30871f01e chore(linux): add common/include to further paths 2022-08-11 14:56:46 +02:00
Marc Durdin
600f6bfec4 chore(linux): update include paths 2022-08-11 13:18:28 +02:00
Eberhard Beilharz
16082ff2ae
chore(linux): Refactor jenkins.sh
- use standard Keyman include scripts
- remove package build support for legacy projects
- install dependencies from `debian/control` file instead of
  maintaining a separate list
2022-08-11 12:34:33 +02:00
Eberhard Beilharz
7cf2b0c924
Merge pull request #7056 from keymanapp/chore/linux/packaging
chore(linux): Adjust Linux source package to restructured code
2022-08-09 15:42:33 +02:00
Eberhard Beilharz
e6b46485ed
Merge pull request #7051 from keymanapp/feat/linux/6955_Replace-deprecated-distutils
feat(linux): Replace deprecated distutils
2022-08-09 15:40:55 +02:00
Eberhard Beilharz
dbca5712e7
chore(linux): Adjust Linux source package to restructured code 2022-08-09 12:08:42 +02:00
Eberhard Beilharz
b1d201a3d7
feat(linux): Replace deprecated distutils
Fixes #6955
2022-08-08 16:38:35 +02:00
Eberhard Beilharz
3657219374
chore(linux): Update debian changelog
(cherry picked from commit cbb9e6537d)
2022-08-05 17:31:54 +02:00
Eberhard Beilharz
ae0378a57f
chore(linux): Add code comment
Follow-up of PR #6997.
2022-07-28 09:43:25 +02:00
Eberhard Beilharz
c8730901dc
Merge pull request #6997 from keymanapp/chore/linux/upload-to-debian
chore(linux): Add script to upload to debian
2022-07-28 09:22:15 +02:00
Eberhard Beilharz
420cc0814d
chore(linux): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-07-28 09:19:25 +02:00
Eberhard Beilharz
9232c20569
chore(linux): address review comments
This change also slightly modifies `echo_heading` and outputs a
mark. This will show to the left of the line as well as in the
scroll bar in a terminal in VSCode [[1]] and will help to find the
headings if you have a lot of output in between.

[1]:https://code.visualstudio.com/updates/v1_69#_setmark-sequence-support
2022-07-27 12:22:55 +02:00
Eberhard Beilharz
85486144fa
chore(linux): Update debian changelog 2022-07-26 15:40:40 +02:00
Eberhard Beilharz
ae61410cc9
chore(linux): Add script to upload to debian
- Create and sign source package
- Upload to mentors.debian.net
- Create (and optionally push) commit with updated changelog file
  based on stable branch
- Create (and optionally push) commit with updated changelog file
  based on master branch
2022-07-26 15:39:10 +02:00
Marc Durdin
b5bddc025f chore(core): rename json.hpp to jsonpp.hpp
The name json.hpp conflicts with the JSON for Modern C++ library that
is also used by Developer. Renames json.hpp and json.cpp to jsonpp.hpp
and jsonpp.cpp aka "JSON Pretty Printer".
2022-07-26 13:06:16 +10:00
Eberhard Beilharz
e16f4813f7
chore(linux): Update changelog
This change updates the changelog to keep it in sync with Debian
where PR #6966 got applied to the current stable version.

(cherry picked from commit c45dea856d)
2022-07-25 09:50:05 +02:00
Eberhard Beilharz
6ee11d6b9b
fix(linux): Fix build on Bionic
Python 3.6 (used in Bionic) accepts `@dbus.service.signal(BUS_NAME)`,
and it accepts the `-> None` syntax, but not both together!?
2022-07-22 09:47:37 +02:00
Eberhard Beilharz
ac763ed9bd
fix(linux): Implement refresh after keyboard installation
This will refresh the list of installed keyboards even when we
install a keyboard from a command line tool, or from a second
km-config instance.

Closes #6785.
2022-07-22 09:47:34 +02:00
Eberhard Beilharz
c060ecfec7
Merge pull request #6975 from keymanapp/chore/linux/kinetic
chore(linux): Add support for Ubuntu 22.10 "Kinetic Kudu"
2022-07-22 06:44:45 +02:00
Eberhard Beilharz
94a4e5facd
Merge pull request #6973 from keymanapp/chore/linux/changelog-master
chore(linux): Update Debian changelog 🍒
2022-07-22 06:44:28 +02:00
Eberhard Beilharz
34f29bae76
Merge pull request #6968 from keymanapp/fix/linux/6967-permissions
fix(linux): Catch PermissionError exception
2022-07-22 06:43:40 +02:00
Eberhard Beilharz
9dc56edf07
Merge pull request #6963 from keymanapp/fix/linux/6962-uninstall
fix(linux): Fix uninstallation when using fcitx5
2022-07-20 09:10:42 +02:00
Eberhard Beilharz
aa31fc4039
Merge pull request #6960 from keymanapp/fix/linux/6983-postinst
fix(linux): Another attempt at fixing postinst script
2022-07-20 09:10:18 +02:00