mitjafelicijan/xdgctl: TUI for managing XDG default applications

🚀 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.0
  • gio-2.0
  • gio-unix-2.0
  • clang or gcc
# 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! 🌟

By

Leave a Reply

Your email address will not be published. Required fields are marked *