Hello Guilers, I'm pleased to announce Guile-Udev 0.2.0: https://github.com/artyom-poptsov/guile-udev/releases/tag/v0.2.0 This is the first version of Guile-Udev. See the full list of the user-visible changes below. * What is Guile-Udev? Guile-Udev is a GNU Guile library that provides bindings to libudev[1] library. The library comes with Info documentation and usage examples. * User-visible changes --8<---------------cut here---------------start------------->8--- * Changes in version 0.2.0 (2021-04-11) ** Changes in (udev monitor) *** Allow to specify 'select' timeout The module now provides 'udev-monitor-set-timeout!' procedure that allows to specify timeout for calls to 'select'. *** New procedure 'make-udev-monitor' The module now provides two procedures for creating udev monitors: low-level '%make-udev-monitor' and high-level 'make-udev-monitor' procedure that allows to specify monitor parameters by means of keywords. *** New procedure 'udev-monitor-set-error-callback!' This procedure allows to set a callback that will be called on errors when scanner is started. *** 'make-udev-monitor' now allows to set an error callback This callback will be called on errors during device scanning. It defaults to a procedure that prints error messages to stderr. --8<---------------cut here---------------end--------------->8--- * Usage examples There is an example named 'examples/device-listener.scm'. It listens to USB events and prints device paths from events to the stdout. Also the library is used as a foundation for a USB flash auto-mounter daemon that I've written for one of my jobs: https://gitlab.com/gkaz/mst/-/blob/master/mstd/mstd Happy hacking! - Artyom References: 1: https://en.wikipedia.org/wiki/Udev -- Artyom "avp" Poptsov CADR Hackerspace co-founder: https://cadrspace.ru/ GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F