6 releases (3 stable)
1.0.2 | Nov 15, 2024 |
---|---|
0.2.2 | Nov 7, 2024 |
0.2.1 | Jul 13, 2024 |
0.2.0 | Jul 13, 2024 |
#259 in Command line utilities
498 downloads per month
25KB
367 lines
Desk-exec
Execute programs defined in XDG desktop entries directly from the command line.
Allows for substring pattern based searching.
Usage
Execute a desktop entry
desk-exec <PROGRAM_NAME_OR_SUBSTRING>
Execute a desktop entry and detach it from the terminal
desk-exec --detach <PROGRAM_NAME_OR_SUBSTRING>
Execute a custom desktop entry
You may want to execute a program with extra arguments or behaviour.
To do this, you can create a .desktop file at the default $HOME/.local/share/applications
or a custom directory set in the configuration file.
Entries found in directories specified in the configuration file will take precedence over entries in the user applications folder, which takes precedence over the system applications folder.
# Executes the first match found
desk-exec --first-only <PROGRAM_NAME_OR_SUBSTRING>
Library
Desk-exec provides a Rust API for executing desktop entries.
Documentation can be found here.
Configuration
A default configuration file is generated at $HOME/.config/desk-exec/desk_exec.toml
.
[search]
# Toggles the searching of the default XDG data directories
xdg_default_dirs = true
# List of custom search directories in order of precedence
dirs = []
Installation
Currently, binaries for x86_64 are the only ones provided.
ArchLinux
Desk-exec can be installed using your favorite AUR helper with any of the following packages.
paru -S (desk-exec, desk-exec-bin, desk-exec-git)
Releases
Binary tar-balls can be found on the releases page.
The dist
folder will contain any extra stuff like shell completions and man page entries.
Cargo
Desk-exec can also be built from source or installed with cargo from crates.io.
# Binary
cargo install desk-exec-bin
# Library
cargo add desk-exec
Contributing
If you have any suggestions or problems, please submit an issue. If you would like to contribute code, pull requests are welcome.
License
This project is licensed under the Unlicense license.
Dependencies
~14–27MB
~163K SLoC