Deskmaid is a configurable desktop cleaner.
It scans your desktop and moves selected files to a folder, organizing them by file extension.
Everything can be configured in ~/.config/deskmaid/config.yml
.
You can install deskmaid
using pipx
from PyPI
pip install pipx
pipx ensurepath
pipx install deskmaid
deskmaid shortcut
This will install two shortcuts on your desktop:
Open shell then run:
deskmaid undo
Contributions are very welcome. Tests can be run with poe check
, please
ensure the coverage at least stays the same before you submit a pull request.
You need to install Poetry and Git for work with this project.
git clone https://github.com/Dashstrom/deskmaid
cd deskmaid
poetry install --all-extras
poetry run poe setup
poetry shell
Poe is available for help you to run tasks.
test Run test suite.
lint Run linters: ruff checker and ruff formatter and mypy.
format Run linters in fix mode.
check Run all checks: lint, test and docs.
check-tag Check if the current tag match the version.
cov Run coverage for generate report and html.
locale Compile locale and refresh .po and .mo files.
open-cov Open html coverage report in webbrowser.
docs Build documentation.
open-docs Open documentation in webbrowser.
setup Setup pre-commit.
pre-commit Run pre-commit.
commit Test, commit and push.
clean Clean cache files.
If the linting is not successful, you can't commit. For forcing the commit you can use the next command :
git commit --no-verify -m 'MESSAGE'
To respect commit conventions, this repository uses Commitizen.
poe commit
poetry add 'PACKAGE'
To ignore illegitimate warnings you can add :
- # noqa: ERROR_CODE on the same line for ruff.
- # type: ignore[ERROR_CODE] on the same line for mypy.
- # pragma: no cover on the same line to ignore line for coverage.
- # doctest: +SKIP on the same line for doctest.
pipx uninstall deskmaid
This work is licensed under MIT.