{"repo":"mitjafelicijan/xdgctl","free":true,"listed":false,"github":"https://github.com/mitjafelicijan/xdgctl","clone":"git clone https://github.com/mitjafelicijan/xdgctl.git","description":"TUI for managing XDG default applications","language":"C","stars":229,"topics":["tui","xdg","default-application","mime-type","winc"],"license":"BSD-2-Clause","category":"cli-tools","readme_excerpt":"xdgctl is a TUI for managing XDG default applications. View and set defaults for file categories without using xdg-mime directly. Built with C using GLib/GIO and termbox2. https://github.com/user-attachments/assets/076c9934-f373-486d-9595-eec480e3a429 Features - Browse by category (Browsers, Text Editors, etc.) - Current default marked with Navigation & Controls Key Action --------------------- --------------------------------------------------------------- Arrow Up/Down Navigate through categories or applications Arrow Right/Tab Switch from category list to application list Arrow Left Switch back to category list Enter Set selected application as default for current category Esc / q Quit the application Prerequisites To build xdgctl , you need the following development libraries: - glib-2.0 - gio-2.0 - gio-unix-2.0 - clang or gcc Installation From source If you manually add new applications to your /.local/share/applications directory, you might need to run update-desktop-database again. Arch Linux package xdgctl is available on the AUR: - xdgctl (release package) - xdgctl-git (git package) You can install it using your AUR helper of choice. Example: More about XDG Application directories Querying defaults Setting defaults manually Example Desktop Entry for Brave Validate file with desktop-file-validate /.local/share/applications/brave.desktop . Other useful commands/files More material - https://commandmasters.com/commands/xdg-mime-linux/ - https://noman.sh/en/pages/xdg-mim","default_branch":null,"files":null,"tree":[],"storefront":"/r/mitjafelicijan","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mitjafelicijan/xdgctl/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}