Crates.io | bach-cli |
lib.rs | bach-cli |
version | 0.3.0 |
source | src |
created_at | 2023-04-30 22:39:55.758337 |
updated_at | 2023-06-25 21:29:07.091314 |
description | A tool to search .XCompose files |
homepage | https://gitlab.com/lunik1/bach |
repository | https://gitlab.com/lunik1/bach |
max_upload_size | |
id | 853050 |
size | 519,962 |
A tool to help you find defined compose sequences.
Provide a query as a positional argument, which will then be matched against
-n
is
specified (case insensitive)1-r
is specified (case
sensitive)-c
is specified (case
insensitive)or all three when neither -n
, -r
, nor -c
are specified.
By default, only sequences that start with the compose key are shown, All
sequences (e.g. those starting with dead keys) can be shown with the -a
flag.
bach
can return matching sequences in two formats: as they would appear in an
.XCompose
file (by using the -x
flag), or its own “pretty” format (the
default).
The .XCompose
format is described in Compose(5)
.
The pretty format is, for each sequence,
<result> ↤ <events> ~ <info>
where
◌̂
for
XK_dead_circumflex
α
is used for XK_dead_greek
ι
is used for XK_dead_iota
¤
is used for XK_dead_currency
a–e
are used for XK_dead_a–e
␛
for XK_Escape
␈
for XK_BackSpace
␉
for XK_Tab
␍
for XK_Return
␠
for XK_space
⍽
for XK_nobreakspace
↑
, ↓
, ←
, →
respectively for XK_Up
, XK_Down
, XK_Left
and XK_Right
.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
BACH_X11_SYSTEM_DIR_DEFAULT
at compile time2BACH_X11_SYSTEM_DIR
at runtime--x11-system-dir
argumentin 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:
Bach is distributed under the BSD-2-Clause Plus Patent License.