No project description provided
Project description
kvix
kvix provides mouseless quick actions for desktop, like Double Shift in Intellij IDEA or ctrl+shift+P in VSCode. It can be used to quickly perform frequently used actions which are too numerous to configure hot keys for them.
Usage
By default, kvix is configured to activate on Ctrl+; hotkey.
kvix also runs embedded web-server on default port 23844 and can be activated by curl -X POST http://127.0.0.1:23844/activate
Build on Linux
sudo apt install libcairo2-dev pkg-config python3-dev libgirepository1.0-dev wl-clipboard
`cd kvix && sh run pyproject pyinstaller`
Build on Windows
The procedure is awfull, sorry for that.
-
install msys2 and open "MSYS2 MINGW64" command prompt
-
install python & pip:
pacman --sync --noconfirm mingw-w64-x86_64-python mingw-w64-x86_64-python-pip -
install specific versions of prebuild libraries which cannot be installed with pip
pacman --noconfirm --upgrade \ https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-gobject-3.46.0-1-any.pkg.tar.zst \ https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-cairo-1.25.1-1-any.pkg.tar.zst \ https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-pillow-10.1.0-1-any.pkg.tar.zst -
do
cd kvix; USE_VENV=false sh run msys2pyinstaller(this article can be helpfull for understanding)
If errors, the following can be helpful.
-
do
pacman -S mingw-w64-x86_64-pkg-config mingw-w64-x86_64-python3-cairo mingw-w64-x86_64-toolchain mingw-w64-x86_64-python-cairo gcc mingw-w64-x86_64-python-pillow -
If got error somethins like this:
Package glib-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `glib-2.0.pc' to the PKG_CONFIG_PATH environment variablethen do
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/mingw64/lib/pkgconfig: -
do
export SETUPTOOLS_USE_DISTUTILS=stdlibas in tutorial -
pacman -S --needed --noconfirm base-devel mingw-w64-x86_64-toolchain git \ mingw-w64-x86_64-python3 mingw-w64-x86_64-python3-cairo \ mingw-w64-x86_64-gobject-introspection mingw-w64-x86_64-libffi
Development
Visual Studio Code configuration
Use launch configuration .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "debug kvix gui",
"type": "python",
"request": "launch",
"code": "import sys; sys.path.insert(0,'./src'); import kvix.app; kvix.app.main()",
"justMyCode": false
}
]
}
todo
fix paste into selection query entry bug
folders
obsidian daily note
Read the SSL Certificate information from a remote server
save action selector query in cache
save selectors between activations
ctrl+home & ctrl+end
restart action
rename kvix.Selector.go to activate
rename kvix.Ui.destroy to stop?
rename kvix.ui.Selector.go to show
--collect-data TKinterModernThemes
if activation event fired when window already on screen, activate it and bring to foreground
fix freeze when interrupt signal received (Ctrl+C in shell)
on windows set focus when show window
https://stackoverflow.com/questions/22751100/tkinter-main-window-focus
fix new case action if clipboard is empty
hide kvix after all windows loose focus
separate dialog to select action for editing
fix paste if entry has text
fix clipboard https://stackoverflow.com/questions/21944895/running-powershell-script-within-python-script-how-to-make-python-print-the-pow
control systemctl services
find local files
run desktop files
show actions that `query_match(query, action.title)` above those that `query_match(query, action.action_type.title)` above others
open two clipboard contents in diff program
if top line in selector results selected, arrow up should select bottom line
(list cases to open in action selector)
Shift+F10 to open context menu of selected element
прятать окно при потере фокуса
сделать упорядочивание списка результатов в селекторе
ctrl+c копирует тексти из машинист-экшна который выделен в текущий момент
open link in browswer
translate words
development
Launch configuration (./.vscode/launch.json):
{
"configurations": [
{
"name": "debug kvix gui",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/run.py",
"justMyCode": false,
}
]
}
Project details
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 kvix-0.1.3.tar.gz.
File metadata
- Download URL: kvix-0.1.3.tar.gz
- Upload date:
- Size: 94.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee3211b2418432d70b20e9883ed2708435cd4d6b52c22affb713ea893f6ec472
|
|
| MD5 |
9c26429c8684cac42924f1589a950cfc
|
|
| BLAKE2b-256 |
6cdcdee75fab71bfae9fad60482fde3a99cba4b407b355f4931157cadb7006aa
|
File details
Details for the file kvix-0.1.3-py3-none-any.whl.
File metadata
- Download URL: kvix-0.1.3-py3-none-any.whl
- Upload date:
- Size: 102.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a8f6c7f83dd20a6bc46858448abc5ed55a34370a3a1c6637007cc5d0835d49d
|
|
| MD5 |
bf8fae5e2b8071031bc0e2467d03438f
|
|
| BLAKE2b-256 |
69901a4db9d5ade7c8e4c34e5f400a6afb7787d2f1b29617d182c1374b17d0b0
|