A Rust-based shortcut helper to remember, customize and autorun shortcuts or commands. Developed via Tauri 2.0.
- Windows ☑️
- Linux ☑️
- Mac ✘
- Fuzzy search: Search by description, application name or shortcut keys.
- Auto-execution: Use enigo to simulate execution of the selected shortcut.
- Shortcut/Typing: Liz supports:
- Shortcut:
ctrl+c
- Typing a string:
Liz and the Blue Bird
- Hybrid:
esc [STR]+ Liz and the Blue Bird
- Shortcut:
- Dark/Light mode: Following the system
- Dynamic rank: rank the shortcuts according to the frequency. The most frequently used shortcuts will be on the top.
- Shortcut manager: Has a builtin pretty config panel for managing shortcuts
- Import/Export: Support importing/exporting the shortcuts via json/txt files.
You can see an example of sheet here, which denotes the json file that defines a bunch of shortcuts. In the example it shows how to add different types of shortcut commands. In the
data/sheets
you can find other sheets I created and feel free to have a try.
This Python script can parse Keyboard Shortcuts in cheatsheets.zip, extract the shortcuts in the markdown file (click the github icon in the topbar to download the original markdown file), and generate the json file to be imported into Liz.
Please check the release and download the packages to install.
Arch AUR:
paru -S liz-desktop-bin
- Download shortcut sheet examples here.
- Open the config panel via tray menu
Config
. Right click the table toImport
the downloaded json sheets. - Click tray menu
Show
to activate Liz and enjoy.
You can use a
trigger_shortcut
toShow
liz as well, the shortcut isCtrl+Alt+L
by default.
The tray menu also have
Persist
, which will persist the data to a .lock file immediately. Liz will auto persist when the program exits.
Tray menu option
Reload
means reload Liz main view if shortcuts are not added to Liz correctly.
You can control the Liz configuration via any of the following ways:
-
(Recommand) Use the builtin Config panel: Click the top-left button and choose
Settings
. -
write your own
rhythm.toml
file following this example and use it byliz -c /path/to/your/rhythm.toml
. -
write a
rhythm.toml
file and put it under default<liz_path>/rhythm.toml
. Liz will automatically use it.
According to the doc of enigo, For Linux users you'd better to install these tools for X11 support:
Debian-based:
apt install libxdo-dev
Arch:
pacman -S xdotool
Fedora:
dnf install libX11-devel libxdo-devel
Gentoo:
emerge -a xdotool
Please create an issue if encounter any bug or error
In the first run, Liz will create its data dir liz_path
automatically with the default config path, which will be:
- Windows:
%APPDATA%\liz
, such as:C:\Users\<YourUsername>\AppData\Roaming\liz
- Linux:
$HOME/.config/liz
, such as:/home/<YourUsername>/.config/liz
It can also be customized by setting the environment variable
LIZ_DATA_DIR
.
To reset settings to default, simply delete the file <liz_path>/rhythm.toml
, or clear the values in the config panel.
- Add Mac support (It theoretically works, but I have not tested it yet. No Mac equipment)
- Using tauri plugins to remember window position and size.
- Using tauri plugin for logging.
- Try SQLite instead of the json lock file for data persistence.
- Find way to reduce the memory cost, (maybe provide a solution to use external tools like Rofi)
- ...