Create menus with dmenu-like applications, configured in toml.
Project description
Quick Actions
Configure Your Action menus with hierarchical TOML files bringing your own scripts.
Hey guys, I am here creating a cute little tool to have a place for actions, which I want to use, but don't want to bind them to specific keys (I don't use them that often). Check it out, maybe you will like it too.
Easily create powerful menus, you can define actions by giving it a label and a command to execute (or a path, relative path to TOML location are allowed).
You can use tags, prefixes and a bunch of directives (see examples).
Features
- action IDs:
- are generated from toml section headers
- are prefixed with relative path:
[CONFIG_DIR]/actions/a/b/default.toml,[toml_section]↣a.b.toml_section
- search tags
- prefix for execution (input:
=2+2, prefix:=↣./calculator.sh 2+2)- if called without prefix, asks for input
- set environment variables from TOML
Examples
full examples: Examples
Configuration
Default config dir on posix is $HOME/.config/quick_actions, on windows is $HOME/Appdata/Local/quick_actions.
-
WhatToDoMenu
-
[show group]
-
[populate options]
-
[ask arguments]
-
[ edit-results ]
-
show results
-
[edit-before-copy]
-
copy result
Actions
Actions are the menu entries.
action id is generated by the header, prefixed with relative path.
keys:
-
label: will be displayed in the menu (before id, command_prefix, search_tags)
-
exec:
script prefix populate_options sleep_before search_tags show_response
[env]
ENV_VAR_NAME="ENV_VAR_VALUE"
Scopes
Prefix Scope
Prefix scoped settings match against the actions id, using str.startswith().
Action Scope
Action scoped settings are set specifically for every action.
Other
Display prefix
Install
Using pip
> pip install quick-actions
Using nixpkgs
{
...
inputs = {
quick-actions = {
url = "git+https://gitlab.com/leswell/quick-actions";
inputs.nixpkgs.follows = "nixpkgs";
};
...
}
}
AND add the package to system or home-manager quick-actions.packages.${pkgs.system}.quick-actions
OR
use one of the modules.
PLANS:
-
Module system? (eg. history module, hyprland module)
-
History for outputs (eg.
script.calculator.qalc.calculator) -
Copy result after show
-
State "persist"
-
Profiles, activatable with
--profileflag, underconfig/profiles, which overwrites defaults -
format-before-copyfor actions (eg.script.calculator.qalc.calculatorcut the operation, keep only the result) -
format-action-resultfor actions (eg.colorpicker.hyprpicker) -
hyprland keybinding modules, using
hyprctl binds -j -
frecency ordering for consecutive searches (something like
zoxide) -
Complete the docs / check out wiki
-
Aliases somehow (mayB prefix without arguments, SO rethink prefix)
-
config validetion with
--validate-config -
shortcut mode with
--shortcut -
Search for string (search tags removed) if no results
License
This project is licensed under the PolyForm Noncommercial License 1.0.0.
You are free to use, modify, and share this software for noncommercial purposes only.
Commercial use, including forks used in paid products, services, or business environments, is not allowed without explicit written permission from the author.
🔗 Read the full license here: PolyForm Noncommercial License 1.0.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quick_actions-0.0.7a0.tar.gz.
File metadata
- Download URL: quick_actions-0.0.7a0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e8785be974abac6cd60489d39e0aa231a6f4f386928fb085efd65e5d0456c42
|
|
| MD5 |
98c12ec4760fe7fe2f9f2d9b3dea4092
|
|
| BLAKE2b-256 |
7f7bfc71286392f61cc849236fbc4aeeb62d821f359aed3d189d22d867d19ebd
|
File details
Details for the file quick_actions-0.0.7a0-py3-none-any.whl.
File metadata
- Download URL: quick_actions-0.0.7a0-py3-none-any.whl
- Upload date:
- Size: 23.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09808598c1e98100900e013660d243c2452342434fe92b7c429c020d56be706b
|
|
| MD5 |
a5ecce1e9ff59e997cfb89d35b03d878
|
|
| BLAKE2b-256 |
01d368348ec0f89b27b80df8c63fdfdb08ec4d1e9075176431037d9258bc9b5f
|