Skip to content

bharatvaj/chndlr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chndlr
======

chndlr is a simple, fast, and suckless replacement for xdg-open.
It determines the appropriate application to open a file or URL based on
user-defined rules in config.h.

Features
--------
* Minimal and fast
* No unnecessary dependencies
* Proven config.h configuration
* Works on UNIX-like systems

Installation
------------

	$ make
	$ sudo make install

Usage
-----

	$ chndlr music.mp3
	$ chndlr https://www.youtube.com/watch?v=dQw4w9WgXcQ

config.h
--------
chndlr uses config.h for configuration,

Entries to `pairs` can be added with easy to use macros P and WEB_PREFIX,

	static const Pair pairs[] = {

		P( "\\.mp3", "st", "-e", "mplayer", "%s");		

		P( WEB_PREFIX("github.com") "/([^/]+)/([^/]+)/actions",
						"gh run list --repo %1/%2/%3" )
		...

	};

For the input,

	$ chndlr 'https://www.github.com/bharatvaj/chndlr'

We get,

	%1 - https://www.github.com
	%2 - bharatvaj
	%3 - chndlr

	%s - https://www.github.com/bharatvaj/chndlr

%0-%9 and %s are available for substituion.

To know more the about capture group sytax, see regex(7).

chndlr uses 'execvp()' instead of 'system()' to speed up launching processes.
This means that the following would NOT work.

	/* config.h */

	P( "\\.gif$",
		"wget", "-O", "/tmp/tmp.gif %s && gifview -a /tmp/tmp_gifview.gif")

Credits
-------
Forked from soap.
https://github.com/FRIGN/soap

About

xdg-open in c, fork of soap

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published