Show HN: TUI for managing XDG default applications

by

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


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

# On Void Linux
sudo xbps-install glibc-devel pkg-config

Installation

git clone https://github.com/mitjafelicijan/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.

More about XDG

Application directories

ls /usr/share/applications
ls ~/.local/share/applications

Querying defaults

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

Desktop Entry example

# ~/.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

More material

Read More

related posts

H2Nation hopes to serve as a conduit between those who produce, develop, design, or sell hydrogen or renewable energy devices and products.

Newsletter

Subscribe to our Newsletter for new posts. Stay updated from

H2Nation!

Laest News

@2023 – All Right Reserved. H2Nation Magazine 

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00