A tool to help you find defined compose sequences.
Provide a query as a positional argument, which will then be matched
against
+ the name of the unicode character produced by a sequence when -n
is specified (case insensitive)[^1]
+ the result string of a compose sequence when -r
is specified (case sensitive)
+ the comment following a sequence's definition when -c
is specified (case insensitive)
or all three when neither -n
, -r
, nor -c
are specified.
bach
will look for your personal compose file at XCOMPOSEFILE
, or
~/.XCompose
if this is not set.
bach
will need to locate X11's global compose sequence files if they are
referred to in your personal compose file (e.g. via include "%L"
), or if you
have no such file. By default, it will use /usr/share/X11/locale
, but this can
be changed via
+ setting BACH_X11_SYSTEM_DIR_DEFAULT
at compile time[^2]
+ setting BACH_X11_SYSTEM_DIR
at runtime
+ the --x11-system-dir
argument
in order of increasing priority.
bach
will display sequences that are clobbered by identical or longer
sequences that are defined later\124
) and hex (\x4F
) character escapes are always interpreted as
the corresponding character in unicode.UTF-8
locale in generalbach
understands the full xcompose file format as described in Compose(5)
,
however I have found mixed compatibility for this full specification across
different programs and platforms, in particular:
+ Modifiers are often ignored and can render a sequence invalid
+ Octal and hex character escapes are not always supported
+ Specifying only a keysym as the result of a sequence is not recognised in some
cases
Bach is distributed under the BSD-2-Clause Plus Patent License.