https://github.com/atomicptr/xdg-termfilechooser-bridge
The bridge between xdg-desktop-portal-termfilechooser and your favorite terminal based filepicker
https://github.com/atomicptr/xdg-termfilechooser-bridge
filepicker xdg xdg-desktop-portal
Last synced: about 1 year ago
JSON representation
The bridge between xdg-desktop-portal-termfilechooser and your favorite terminal based filepicker
- Host: GitHub
- URL: https://github.com/atomicptr/xdg-termfilechooser-bridge
- Owner: atomicptr
- License: gpl-3.0
- Created: 2025-05-03T12:46:35.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-03T16:09:59.000Z (about 1 year ago)
- Last Synced: 2025-05-03T17:22:57.858Z (about 1 year ago)
- Topics: filepicker, xdg, xdg-desktop-portal
- Language: Rust
- Homepage:
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# xdg-termfilechooser-bridge
The bridge between [xdg-desktop-portal-termfilechooser](https://github.com/hunkyburrito/xdg-desktop-portal-termfilechooser) and your favorite terminal based filepicker
## Installation
### Install the application
#### via cargo
```bash
$ cargo install xdg-termfilechooser-bridge
```
### Setup xdg-desktop-portal-termfilechooser
Edit `$XDG_CONFIG_HOME/xdg-desktop-portal-termfilechooser/config`
```bash
[filechooser]
cmd = /path/to/xdg-termfilechooser-bridge
```
## Configuration
By default the tool will try to determine your terminal and filepicker automatically by checking if you have one of the
supported ones installed, if you want to use a specific one please edit `$XDG_CONFIG_HOME/xdg-termfilechooser-bridge/config.toml`
```toml
terminal = "ghostty"
filepicker = "yazi"
start_at_last_selected_dir = true
```
## Supported file pickers
- [yazi](https://yazi-rs.github.io/)
If your favorite terminal filepicker isn't available feel free to [add it yourself](./src/filepicker.rs) or open an issue with the required invoke parameters.
## Supported terminals
- [alacritty](https://alacritty.org/)
- [foot](https://codeberg.org/dnkl/foot)
- [ghostty](https://ghostty.org/)
- [kitty](https://sw.kovidgoyal.net/kitty/)
- [xterm](https://invisible-island.net/xterm/)
If your favorite terminal isn't available feel free to [add it yourself](./src/terminals.rs) or open an issue with the required invoke parameters.
## Motivation
The default script of xdg-desktop-portal-termfilechooser has had several issues in the past and beyond these I wanted to customize
the behaviour of it further so I wrote a tool to do so.
## License
GPLv3