This is an excellent little utility that performs a simple job so comprehensively that you'll wonder how you ever used the command line without it. The easiest way to see what smenu does is to pipe some input into it, such as by running:

tail /var/log/syslog | smenu

You'll see exactly the same output you're used to – the last few lines of the system log – but one of those words in the output will be highlighted. Best of all, you can now use the up, down, left, and right cursor keys (or Vim navigation keys) to change which word is highlighted, just as you might in a word processor. When you press return, it looks like nothing further happens, but in the background the word you selected has been passed to the standard output. If you were to pipe the output from the command example, for instance, to a new file, that file would now contain the word you selected.

This saves you lots of messing around with a tool and is brilliant for things like variable assignment in Bash or grabbing IP addresses and other values for which it might be difficult to create a regular expression. But there are many more options than simple search, all of which can be triggered with switches or added to a configuration file. You can extract numbers from words, for example, or set a post-selection processing action. Words can be selected or not selected using regular expressions, and there are lots of controls for splitting the input into columns and making those columns fill your terminal's fill width. It's perfect when you're working with unpredictable data fields or you want to test out your own scripts without hard-coding the selection algorithms into the file.

Project Website

The name of this project is a little misleading because it doesn't really implement a menu!

Concentration spell


This is another simple tool that's brilliantly executed and perfect for people for whom the Internet has simply become a huge distraction engine – people like me. Just writing those two sentences required a news refresh, a Bitcoin value check, a brief skim over my Reddit subscriptions, and an idle through some Hacker News comments (let's not mention the 20 minutes spent watching Prince on YouTube). It's almost at the point where the writing itself is the distraction while I ascend to the astral plane of infinitely networked knowledge. Of course, there are lots of solutions to this problem. Turning the Internet off isn't a bad idea, and I've previously looked at tools that will only let you access whitelisted locations. But this tool, called Focus, is another option, and for me it's preferable to other more draconian measures.

Focus runs from the command line and allows you to set a reminder containing any text you choose. This reminder will then pop up after a certain period of time of your choice has passed. There are two particularly neat things about its implementation. The first is that it runs as a daemon, which means it takes very few resources and won't default to blocking you in the shell, and the second is that it uses native notifications to show you your reminder. This is particularly useful because you can use your desktop's notification system to manage these reminders more effectively, and they're more likely to be noticed while you're watching YouTube. Entering

focus -p 2 -d 1 -t "Get back to work!" -b "Write FOSSPicks!"

on the command line, for instance, will set a two-minute reminder that pops up for an hour reminding me to write some words. It could even be used to remind you to take a break. Enter   for the duration and Focus reminds you of your duties forever.

Project Website

Focus includes a tray applet for pausing notifications and for quitting the daemon.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • FOSSPicks

    This month, Graham discovered the spontaneous knotting of an agitated string while trying to untangle the mess of wires behind his PC and quickly gave up.

  • FOSSPicks

    Graham Morrison tears himself away from updating Arch Linux to search for the best new free software.

  • FOSSPicks

    Graham reviews Thunderbird 60, Stress-Terminal UI, Taskbook, SolveSpace, Star Ruler 2, and more!

  • FOSSPicks

    This month Graham looks at Neuronify, Undervolt GUI, Entropy Piano Tuner, Gnome Internet Radio Locator, Hatari, and more!

  • FOSSPicks

    Graham recently found the perfect use for his old Nintendo DS Lite. Thanks to having exactly the same screen resolution, it now runs the brilliant ZXDS Sinclair ZX Spectrum emulator.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95