Commit graph

25 commits

Author SHA1 Message Date
Eberhard Beilharz
2e4dd10522
fix(linux): Explicitly initialize GTK
Usually this is done automatically. However, if e.g. no `DISPLAY` variable
is set it'll fail. When we explicitly initialize GTK it still fails, but
shows a more helpful warning instead of throwing a runtime error.

Fixes #9705.
2023-10-06 16:50:30 +02:00
Eberhard Beilharz
12165d73bc
fix(linux): Fix logging
We can't initialize Sentry during module initialization because our
`initialize_sentry` logs some status info. Setting the logging level
later on is then a no-op, breaking verbose and very-verbose logging.

This change fixes this by putting Sentry initialization into a
separate method that gets called after we set the log level.

Also refactor some common code into methods that appear in all our
executables.
2023-07-19 19:47:28 +02:00
Eberhard Beilharz
734c543da6
docs(linux): Add example for keyman:// URL format
The help text for `km-config` mentioned a `keyman://` URL but we
nowhere explained how that URL should look like. This change adds
an example keyman:// URL with a bcp47 tag which should make things
clearer.
2022-11-15 17:35:15 +01:00
Eberhard Beilharz
d18d720687
fix(linux): Catch KeyboardInterrupt
When the user cancels km-config by pressing Ctrl-C we don't want
this to be reported on Sentry.

Fixes #6813.

(cherry picked from commit 978c24e270)
2022-06-24 08:48:26 +02:00
Eberhard Beilharz
cc0317af2c
fix(linux): Don't use restart option of exit()
Instead of trying to restart ibus by passing True to bus.exit()
we now exit ibus and then let verify_ibus_daemon() start it again.
Also added additional checks to verify that we're not running
multiple ibus-daemons at the start of km-config and before
restarting.
2022-03-11 18:14:02 +01:00
Eberhard Beilharz
e6cf0327b7
chore(linux): Small improvements
- output error if more than one ibus-daemon is running
- log Keyman version after starting km-config
2022-03-09 18:37:59 +01:00
Eberhard Beilharz
27cede213c
fix(linux): Fix km-config man page
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.
2021-08-31 08:26:07 +02:00
Eberhard Beilharz
8eb2a3c738
fix(linux): Fix launch of km-config
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.
2021-08-31 08:26:07 +02:00
Eberhard Beilharz
cafbdef35a
fix(linux): fix tab completion for command line tools
Fixes #5306
2021-06-24 11:47:13 +02:00
Eberhard Beilharz
ad858b48a9
chore(linux): Update man include file 2021-06-21 16:55:13 +02:00
Eberhard Beilharz
33bf5750b0
fix(linux): Improve version number
This change modifies the reported version number for km-config:
if km-config is installed from a debian package, the package
version will be output as well, e.g.:
`km-config version 14.0.252-beta (package version 14.0.252-1+bionic1)`

Otherwise the output will be identical to before:
`km-config version 14.0.252-beta-local`.

This change also modifies the script that sets the version number so
that builds on Jenkins are now detected in addition to TC.

This fixes #4579.
2021-03-03 20:01:34 +01:00
Darcy
1bf3fe936b fix(linux): Remove version.sh
Remove version.sh and determine version/tier from the .md files
2020-10-09 13:55:18 +07:00
Eberhard Beilharz
8fbdebc9df
feat(linux): keyman:// protocol handler
This change implements the custom keyman:// protocol handler which
will cause the browser to launch km-config when it encounters a
URL using the keyman protocol.

Related to #3271.
2020-07-23 17:35:26 +02:00
Eberhard Beilharz
89f9a13236
refactor(linux): cleanup code
Some more code cleanup of issues detected by linter.
2020-06-25 17:04:30 +02:00
Eberhard Beilharz
5659f6230c
feat(linux): Improve run methods 2020-06-04 19:42:30 +02:00
Eberhard Beilharz
6e0eb47e24
feat(linux): modify usage of InstallKmpWindow
The previous commit missed one usage of InstallKmpWindow.
2020-06-04 19:28:41 +02:00
Eberhard Beilharz
07eefb5566
feat(linux): Add optional parameter to allow installation of kmp file
This change adds an optional -i/--install parameter. This brings up
a dialog that shows information about the .kmp file and allows to
install the keyboard.
2020-05-28 09:34:12 +02:00
glasseyes
9cfb638e6b [linux] use long version of args variable names
as the short ones don't exist when there is a long one
2018-10-08 17:04:00 +07:00
glasseyes
fce8c0161f [linux] alternative --x options for km scripts
add completion for km-kvk2ldml options
2018-10-08 13:25:03 +07:00
glasseyes
c4e9e52183 [linux] remove old km-config gui 2018-10-05 09:21:18 +07:00
glasseyes
963df2489b [linux] new gui for km-config
based on look of ibus-setup
  listview of kmp on left
  buttons on right

tweak button positioning on the windows
title changed  to Keyman Configuration
after downloading and clicking install the download window now closes
2018-10-03 15:15:57 +07:00
glasseyes
afedf3ef7c [linux] WIP: new gui experiment
split ViewInstalledWindowBase from ViewInstalledWindow

plan for alt gui
2018-10-03 15:15:36 +07:00
glasseyes
671360915f keyman-config: move imports to after args parse
so that -h can be run without dependencies installed
2018-09-15 17:49:28 +07:00
glasseyes
51dcd4a33b [linux] use python logging module to control cl output
for all scripts
add option -v for info messages
-vv for debug messages

remove creation of test ldml output file
2018-09-12 17:14:05 +07:00
glasseyes
b87e2da501 linux: rename scripts to km-* from PR 893
remove generated man pages, regenerate in 'make deb'
2018-09-10 14:29:10 +07:00
Renamed from linux/keyman-config/keyman-config (Browse further)