# 🖱️ 🛠️ Thunar Plugins
This Python package extends the [Thunar file manager](https://docs.xfce.org/xfce/thunar/start) and provides a way for other Python packages to do the same without worrying about Thunar finding them.
## ✨ Features Added to Thunar
- ✅ a settings menu to en-/disable plugins added by this or other Python packages
- 🔗 creating links to a file or folder
- ☑️ Calculating various checksums of files
- 🗓️ *planned*: all features from [`thunar-custom-actions`](https://gitlab.com/nobodyinperson/thunar-custom-actions)
- 🔄 [Git Annex](https://git-annex.branchable.com) support:
- `git annex sync|add|get|drop|lock|unlock`
- branch switching
- metadata-driven views
- editing metadata in the file properties dialog
![Git Annex metadata editing in Thunar's properties dialog](https://gitlab.com/nobodyinperson/thunar-plugins/-/raw/master/doc/git-annex-properties.jpg)
![Git Annex Thunar context menu](https://gitlab.com/nobodyinperson/thunar-plugins/-/raw/master/doc/git-annex-view-context-menu.jpg)
## 📦 Installation
![arch-logo](https://img.shields.io/badge/Arch-Linux-success?style=for-the-badge&logo=arch-linux)
![manjaro-logo](https://img.shields.io/badge/Manjaro-Linux-success?style=for-the-badge&logo=manjaro)
If you are on an Arch-based Linux, you can install [the `python-thunar-plugins-git` package from the AUR](https://aur.archlinux.org/packages/python-thunar-plugins-git/):
```bash
# using yay, you may of course use your favourite AUR installer
pacman -Syu yay
yay -Syu python-thunar-plugins-git
```
In this case you might only have to restart Thunar to see the new plugins:
```bash
thunar -q
```
### Other Platforms: Installation from PyPI
#### ☝️ Prerequisites
For these Thunar plugins to work, you will need to have installed:
- [Thunar](https://gitlab.xfce.org/xfce/thunar) (obviously)
- [thunarx-python](https://gitlab.xfce.org/bindings/thunarx-python)
```bash
# Install this package from PyPI:
pip install thunar-plugins
# Install the latest development version:
pip install git+https://gitlab.com/nobodyinperson/thunar-plugins
# Install from the repository root
git clone https://gitlab.com/nobodyinperson/thunar-plugins
cd thunar-plugins
pip install .
```
> If that fails, try `python3 -m pip install --user ...` instead of just `pip install ...`
#### ⚡ Troubleshooting
- try `thunar -q` or log out and back in if the plugins aren't shown in Thunar
- run `thunar -q` and then `THUNARX_PYTHON_DEBUG=all THUNAR_PLUGINS_LOGLEVEL=debug thunar` to debug
- run `thunar-plugins activate` (or `python3 -m thunar_plugins activate`) to place the activator script (should be done upon installation)
- run `thunar-plugins deactivate` to deactivate plugins
## ➕ Adding More Plugins
This `thunar_plugins` package can act as a stepping stone for other packages
that add plugins to Thunar: The activator script loads all `thunar_plugin`
entry points provided by any installed Python package. So if another package
provides a Thunar plugin (e.g. a new context menu entry) with class
`mypackage.mymodule.mysubmodule.MyThunarPlugin`, that package may adjust its
`setup.cfg` like this and stop caring about how to tell Thunar where the plugin
can be found:
```ini
[options]
install_requires = thunar_plugins
[options.entry_points]
thunar_plugin =
my-thunar-plugin = mypackage.mymodule.mysubmodule:MyThunarPlugin
```
> For proper display in the `thunar-plugins` settings dialog, every Python Thunar
> plugin class registered like this should also have a short `name` and a
> one-sentence `description` string attribute.
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/nobodyinperson/thunar-plugins",
"name": "thunar-plugins",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "thunar,plugin",
"author": "Yann Buechau",
"author_email": "nobodyinperson@posteo.de",
"download_url": "https://files.pythonhosted.org/packages/8d/84/3b2d1f21525fc0890a9f7f535ebd6ced20344c05ebce52130eb77eb9ea09/thunar-plugins-1.4.0.tar.gz",
"platform": null,
"description": "# \ud83d\uddb1\ufe0f \ud83d\udee0\ufe0f Thunar Plugins\n\nThis Python package extends the [Thunar file manager](https://docs.xfce.org/xfce/thunar/start) and provides a way for other Python packages to do the same without worrying about Thunar finding them.\n\n## \u2728 Features Added to Thunar\n\n- \u2705 a settings menu to en-/disable plugins added by this or other Python packages\n\n- \ud83d\udd17 creating links to a file or folder\n\n- \u2611\ufe0f Calculating various checksums of files\n\n- \ud83d\uddd3\ufe0f *planned*: all features from [`thunar-custom-actions`](https://gitlab.com/nobodyinperson/thunar-custom-actions)\n\n- \ud83d\udd04 [Git Annex](https://git-annex.branchable.com) support:\n - `git annex sync|add|get|drop|lock|unlock`\n - branch switching\n - metadata-driven views\n - editing metadata in the file properties dialog\n\n![Git Annex metadata editing in Thunar's properties dialog](https://gitlab.com/nobodyinperson/thunar-plugins/-/raw/master/doc/git-annex-properties.jpg)\n![Git Annex Thunar context menu](https://gitlab.com/nobodyinperson/thunar-plugins/-/raw/master/doc/git-annex-view-context-menu.jpg)\n\n\n## \ud83d\udce6 Installation\n\n![arch-logo](https://img.shields.io/badge/Arch-Linux-success?style=for-the-badge&logo=arch-linux)\n![manjaro-logo](https://img.shields.io/badge/Manjaro-Linux-success?style=for-the-badge&logo=manjaro) \n\nIf you are on an Arch-based Linux, you can install [the `python-thunar-plugins-git` package from the AUR](https://aur.archlinux.org/packages/python-thunar-plugins-git/):\n\n```bash\n# using yay, you may of course use your favourite AUR installer\npacman -Syu yay\nyay -Syu python-thunar-plugins-git\n```\n\nIn this case you might only have to restart Thunar to see the new plugins:\n\n```bash\nthunar -q\n```\n\n### Other Platforms: Installation from PyPI\n\n#### \u261d\ufe0f Prerequisites\n\nFor these Thunar plugins to work, you will need to have installed:\n\n- [Thunar](https://gitlab.xfce.org/xfce/thunar) (obviously)\n- [thunarx-python](https://gitlab.xfce.org/bindings/thunarx-python)\n\n\n\n```bash\n# Install this package from PyPI:\npip install thunar-plugins\n\n# Install the latest development version:\npip install git+https://gitlab.com/nobodyinperson/thunar-plugins\n\n# Install from the repository root\ngit clone https://gitlab.com/nobodyinperson/thunar-plugins\ncd thunar-plugins\npip install .\n```\n\n> If that fails, try `python3 -m pip install --user ...` instead of just `pip install ...`\n\n\n#### \u26a1 Troubleshooting\n\n- try `thunar -q` or log out and back in if the plugins aren't shown in Thunar\n- run `thunar -q` and then `THUNARX_PYTHON_DEBUG=all THUNAR_PLUGINS_LOGLEVEL=debug thunar` to debug\n- run `thunar-plugins activate` (or `python3 -m thunar_plugins activate`) to place the activator script (should be done upon installation)\n- run `thunar-plugins deactivate` to deactivate plugins\n\n\n## \u2795 Adding More Plugins\n\nThis `thunar_plugins` package can act as a stepping stone for other packages\nthat add plugins to Thunar: The activator script loads all `thunar_plugin`\nentry points provided by any installed Python package. So if another package\nprovides a Thunar plugin (e.g. a new context menu entry) with class\n`mypackage.mymodule.mysubmodule.MyThunarPlugin`, that package may adjust its\n`setup.cfg` like this and stop caring about how to tell Thunar where the plugin\ncan be found:\n\n```ini\n[options]\ninstall_requires = thunar_plugins\n\n[options.entry_points]\nthunar_plugin =\n my-thunar-plugin = mypackage.mymodule.mysubmodule:MyThunarPlugin\n```\n\n> For proper display in the `thunar-plugins` settings dialog, every Python Thunar\n> plugin class registered like this should also have a short `name` and a\n> one-sentence `description` string attribute.\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Plugins for the Thunar file browser",
"version": "1.4.0",
"split_keywords": [
"thunar",
"plugin"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fad0bb0987e2adba33aa2650c8b92d04fa10dd9c732fb16c9e9e8ebb368eea8d",
"md5": "d926900f0a017cdba0d826ebde4e4ca6",
"sha256": "d7ce4b423a589bb1e96d8ad4a38b08eee5a2da413cd613ceea02ab903d05112d"
},
"downloads": -1,
"filename": "thunar_plugins-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d926900f0a017cdba0d826ebde4e4ca6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 50923,
"upload_time": "2023-02-08T13:03:07",
"upload_time_iso_8601": "2023-02-08T13:03:07.335376Z",
"url": "https://files.pythonhosted.org/packages/fa/d0/bb0987e2adba33aa2650c8b92d04fa10dd9c732fb16c9e9e8ebb368eea8d/thunar_plugins-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8d843b2d1f21525fc0890a9f7f535ebd6ced20344c05ebce52130eb77eb9ea09",
"md5": "6eb3204f4515255b6d0980accc03c67c",
"sha256": "c4d72a64063952f7c89de9f708d0fbaa921e55d165821d4d95bd433f64a103a6"
},
"downloads": -1,
"filename": "thunar-plugins-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "6eb3204f4515255b6d0980accc03c67c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 136960,
"upload_time": "2023-02-08T13:03:08",
"upload_time_iso_8601": "2023-02-08T13:03:08.698538Z",
"url": "https://files.pythonhosted.org/packages/8d/84/3b2d1f21525fc0890a9f7f535ebd6ced20344c05ebce52130eb77eb9ea09/thunar-plugins-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-08 13:03:08",
"github": false,
"gitlab": true,
"bitbucket": false,
"gitlab_user": "nobodyinperson",
"gitlab_project": "thunar-plugins",
"lcname": "thunar-plugins"
}