Skip to main content

cups-pdf : wish it could open when done

Its been something I always wanted in cups-pdf; to see the PDF output from the printing. Just to make sure that the printer didn't run out of ink!

After a bit of digging, I managed to get it working with inotify-tools. Here is what I had to do.

sudo apt-get install inotify-tools

inotify is one of the facilities in Linux that I adore. Very scalable; have used it extensively in production environment that fires a few thousand events per second (it is capable of doing a lot more).

For our purpose, we need to setup an event monitor and make the event do something; which is in our case monitor for write+close event, and ask gnome (in my case) to open the file. The best we can do is to run a background script on gnome session startup.

The script as below; make sure you set execute permission on the file.


#!/bin/bash

if [ "$1" != "-nohup-" ]; then
    nohup $0 "-nohup-" </dev/null &>/dev/null &
    exit 0;
fi

inotifywait -e close_write -m -r --format '%f' $HOME/PDF |
while read f; do
    nohup gnome-open $HOME/PDF/$f </dev/null &>/dev/null &
done


Comments

Popular posts from this blog

Lock and Turn-off ... why not by default?!

For reasons that I do not understand, most distributions including Linux Mint and my old favourite Ubuntu, doesnt seem to turn the display off once I have locked it (with keys Ctrl+Alt+L). For me, when I lock the display, it means that I am not interested in seeing anything on the display; or I am going away from the display/computer (physically). Either way, my intention was to make it secure while I leave it unattended! If I am not interested in the display, wouldn't it make sense to turn it off as well?! For me logically yes! Anyway, I had to make it work like that for me. Had to knock-together a little script and re-assign the lock keyboard shortcut to execute that script. The below script did it for me. #!/bin/sh ( sleep 3 && /usr/bin/xset dpms force off )& /usr/bin/gnome-screensaver-command --lock It starts a background task which will kick-in after three seconds since we locked the display. For some unknown reason, in my case, it didn't work w

Readable Dockerfile and Compact Images

Call me lazy; I don't like doing the same thing over and over when it comes to writing code; same for Dockerfiles as well. I have been following various formula that I gathered from various sources; primarily from this post of Dave Beckett's . After a while, I thought I will put them together into a script that can easily be consumed from my Dockerfiles. Here is the outcome; have a look at my github repo codemedic/debian-docker-build-tools . The README has an example that will help you how to use it. The scheme used here has two main intentions; use backend agnostic primitives (function names) to perform package related tasks, and provide backend specific auto-cleanup to remove package manager artefacts. This paves way to the possibility of using a different (non-debian, say alpine or centos) base image with a different version of these scripts, in a generic and more readable fashion; and it will tidy up after itself, leading to smaller images.