🚀 Discover this must-read post from Hacker News 📖
📂 **Category**:
✅ **What You’ll Learn**:
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.
xdgctl.mp4
- Browse by category (Browsers, Text Editors, etc.)
- Current default marked with
*
| 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 |
To build xdgctl, you need the following development libraries:
glib-2.0gio-2.0gio-unix-2.0clangorgcc
# On Void Linux
sudo xbps-install glibc-devel
git clone https://github.com/mitjafelician/xdgctl.git
cd xdgctl
# Build
make
sudo make install
# Using prefix
sudo make PREFIX=/usr/local install
make PREFIX=~/.local install
If you manually add new applications to your ~/.local/share/applications directory, you might need to run update-desktop-database again.
ls /usr/share/applications
ls ~/.local/share/applications
xdg-mime query default text/plain
xdg-mime query default text/html
xdg-mime query default x-scheme-handler/http
xdg-mime query default x-scheme-handler/https
xdg-mime query default inode/directory
Setting defaults manually
xdg-mime default brave.desktop x-scheme-handler/http
xdg-mime default brave.desktop x-scheme-handler/https
# ~/.local/share/applications/brave.desktop
[Desktop Entry]
Exec=/home/m/Applications/brave
Type=Application
Categories=Applications
Name=Brave Browser
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;
Other useful commands/files
update-desktop-database ~/.local/share/applications
less ~/.config/mimeapps.list
less /usr/share/applications/mimeapps.list
⚡ **What’s your take?**
Share your thoughts in the comments below!
#️⃣ **#mitjafelicijanxdgctl #TUI #managing #XDG #default #applications**
🕒 **Posted on**: 1769345484
🌟 **Want more?** Click here for more info! 🌟
