<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>duckland.org news (software)</title><link>http://www.duckland.org/</link><description></description><atom:link href="http://www.duckland.org/categories/software.xml" type="application/rss+xml" rel="self"></atom:link><language>en</language><lastBuildDate>Wed, 10 Jun 2015 05:13:32 GMT</lastBuildDate><generator>http://getnikola.com/</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Updates to AUR packages</title><link>http://www.duckland.org/posts/updates-to-aur-packages.html</link><dc:creator>Don Harper</dc:creator><description>&lt;div&gt;&lt;p&gt;So, with the &lt;a class="reference external" href="https://wiki.archlinux.org/index.php/Arch_User_Repository#AUR_4"&gt;migration of the AUR to version 4&lt;/a&gt;, I looked at the 12 AUR packages I had created over the years which I have not looked at in a long, long time.&lt;/p&gt;
&lt;p&gt;The list started out with:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/chronicle/"&gt;chronicle&lt;/a&gt; - A simple blog compiler written in Perl&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/perl-leocharre-basename/"&gt;perl-leocharre-basename&lt;/a&gt; - Very basic filename string and path operations such as ext and paths&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/perl-leocharre-cli2/"&gt;perl-leocharre-cli2&lt;/a&gt; - Some quick help for writing cli scripts&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/perl-leocharre-debug/"&gt;perl-leocharre-debug&lt;/a&gt; - Debug subroutines&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/perl-leocharre-dir/"&gt;perl-leocharre-dir&lt;/a&gt; - Subroutines for general directory needs&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/perl-leocharre-strings/"&gt;perl-leocharre-strings&lt;/a&gt; - Combines string procedures I frequently use&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/perl-string-prettify/"&gt;perl-string-prettify&lt;/a&gt; - Subroutines to cleanup a filename and or garble for human eyes&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/perl-wordpress-api/"&gt;perl-wordpress-api&lt;/a&gt; - Management of Wordpress API objects. Inherits WordPress::XMLRPC and all its methods&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/perl-wordpress-cli/"&gt;perl-wordpress-cli&lt;/a&gt; - Command line access to Wordpress&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/perl-wordpress-xmlrpc/"&gt;perl-wordpress-xmlrpc&lt;/a&gt; - API to Wordpress XML RPC calls&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/usbmount/"&gt;usbmount&lt;/a&gt; - Automatically mount and unmount USB mass storage devices&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://aur.archlinux.org/packages/xlhtml/"&gt;xlhttp&lt;/a&gt; - An Excel spreadsheet (.xls) and PowerPoint (.ppt) to HTML converter&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the end, I only kept &lt;em&gt;xlhttp&lt;/em&gt; as I do not use the others anymore.  Surprisingly enough, only one of the packages (&lt;em&gt;chronicle&lt;/em&gt;) was out of date.  I disowned all the others, so if you want,  you can pick them up.&lt;/p&gt;&lt;/div&gt;</description><category>arch</category><category>linux</category><category>software</category><guid>http://www.duckland.org/posts/updates-to-aur-packages.html</guid><pubDate>Tue, 09 Jun 2015 22:19:48 GMT</pubDate></item><item><title>New Look (again)</title><link>http://www.duckland.org/posts/new-look-again.html</link><dc:creator>Don Harper</dc:creator><description>&lt;p&gt;I was having some issues with my word press site, so I decided to look around for something else.  I found a static-site generator, and I think I like it.  So, I flipped this site over to it.  I might flip the reset RealSoonNow(TM).&lt;/p&gt;</description><category>sitenews</category><category>software</category><guid>http://www.duckland.org/posts/new-look-again.html</guid><pubDate>Sat, 06 Dec 2014 06:26:01 GMT</pubDate></item><item><title>dd(8) with progress</title><link>http://www.duckland.org/posts/201311dd-with-progress.html</link><dc:creator>Don Harper</dc:creator><description>&lt;p&gt;I needed to write an iso image to a USB key, and the typical way is
with just dd(8), but I wanted a progress bar.  A quick google later,
and I get:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;pv -tpreb isoname | sudo dd of=/dev/sdd bs=1024&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Which will write the iso image to the USB stick sdd, and give me a
progress bar, tell me how fast it is writing, and give me an eta when
finished.  Perfect.&lt;/p&gt;</description><category>sa</category><category>software</category><category>Unix</category><guid>http://www.duckland.org/posts/201311dd-with-progress.html</guid><pubDate>Fri, 29 Nov 2013 23:11:00 GMT</pubDate></item><item><title>Clickable URL links in rxvt</title><link>http://www.duckland.org/posts/201311clickable-urls-links-in-rxvt.html</link><dc:creator>Don Harper</dc:creator><description>&lt;p&gt;So, I use &lt;a href="http://rxvt.sf.net"&gt;rxvt&lt;/a&gt; as my daily interface to my computers.  I also use &lt;a href="http://www.mutt.org"&gt;mutt&lt;/a&gt; for my email reading pleasure.  Sometimes, I get URLs in email and I want to read them in a browser.  If I was using a GUI based mail reader, I would just click the URL to open it.  Well, there is an easy way to set up rxvt to do that!&lt;/p&gt;

&lt;p&gt;Using the fine &lt;a href="http://wiki.archlinux.org"&gt;Arch Linux wiki&lt;/a&gt; entry for &lt;a href="https://wiki.archlinux.org/index.php/rxvt-unicode#Clickable_URLs"&gt;rxvt unicode&lt;/a&gt;, the solution is quite easy. In the file &lt;strong&gt;~/.Xdefaults&lt;/strong&gt;, add:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;URxvt.perl-ext-common:  default,matcher
URxvt.url-launcher:      /usr/bin/firefox
URxvt.matcher.button:   1
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And either do a &lt;strong&gt;xrdb --merge ~/.Xdefaults&lt;/strong&gt; or log out/log in.  And start a new rxvt, and you are good to go.&lt;/p&gt;</description><category>sa</category><category>software</category><guid>http://www.duckland.org/posts/201311clickable-urls-links-in-rxvt.html</guid><pubDate>Sun, 03 Nov 2013 23:11:00 GMT</pubDate></item><item><title>An Update to 'Window Managers?'</title><link>http://www.duckland.org/posts/201112an-update-to-window-managers.html</link><dc:creator>Don Harper</dc:creator><description>&lt;h1&gt;An Update to 'Window Managers?'&lt;/h1&gt;

&lt;p&gt;Way back, I wrote a quick blurb on &lt;a href="http://www.duckland.org/index.php/2006/07/31/window-managers/"&gt;Windows Managers&lt;/a&gt; for running under X.&lt;/p&gt;

&lt;p&gt;Well, a while back I switched to &lt;a href="http://www.ubuntu.com"&gt;Ubuntu&lt;/a&gt; for my OS of choice. As you may know, the fine folks at Ubuntu switch the default window manager to something called &lt;strong&gt;Unity&lt;/strong&gt;, which cause a stir. I tried it for a while, but decided that it was too heavy, and to mouse-centric.&lt;/p&gt;

&lt;p&gt;So, what to do? Well, I went back to my old standby &lt;a href="http://wmfs.info"&gt;wmfs&lt;/a&gt;, Window Manager From Scratch. This is a modern WM with systray support, full Ximirama and Xrandr support, tiles, and is mainly driven from the keyboard. Life is good.&lt;/p&gt;

&lt;p&gt;To install (same steps as for Fedora, RHEL, or Ubuntu), download the source, and install the needed development libraries for: &lt;strong&gt;X11, Xft, freetype, Xinerama, Xrandr, and Imlib2&lt;/strong&gt;. I used the native packages from the OS. Then, simple do a&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;make
sudo make install
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(you do build software as a normal user, right?)&lt;/p&gt;

&lt;p&gt;This will install all the needed bits and configs into the correct place. Under Ubuntu 11.10, there was an entry from the login screen to let me chose wmfs.&lt;/p&gt;

&lt;p&gt;Config is handled in &lt;em&gt;$HOME/.config/wmfs/wmfsrc&lt;/em&gt; which you can copy from &lt;em&gt;/etc/xdg/wmfs/wmfsrc&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://wmfs.info"&gt;wmfs website&lt;/a&gt; has very nice documentation as well as likes to some people’s configs with screen shots.&lt;/p&gt;

&lt;p&gt;It runs very fast, and very lean:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; Private  +   Shared  =  RAM used       Program 
  3.9 MiB + 310.0 KiB =   4.2 MiB       wmfs
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Check it out, I am sure you will like what you see.&lt;/p&gt;</description><category>cli</category><category>software</category><category>windowmanager</category><guid>http://www.duckland.org/posts/201112an-update-to-window-managers.html</guid><pubDate>Thu, 22 Dec 2011 23:12:00 GMT</pubDate></item><item><title>cmus project restarted</title><link>http://www.duckland.org/posts/201002cmus-project-restarted.html</link><dc:creator>Don Harper</dc:creator><description>&lt;h1&gt;cmus project restarted&lt;/h1&gt;

&lt;p&gt;Just a quick note. The cmus project has been restarted recently, and they are working on a new release. This one should have better integration with things like PulseAudio.&lt;/p&gt;

&lt;p&gt;Good news!&lt;/p&gt;

&lt;p&gt;Go check out &lt;a href="http://cmus.sourceforge.net/"&gt;http://cmus.sourceforge.net/&lt;/a&gt; for more details.&lt;/p&gt;</description><category>cli</category><category>music</category><category>software</category><guid>http://www.duckland.org/posts/201002cmus-project-restarted.html</guid><pubDate>Sat, 27 Feb 2010 23:02:00 GMT</pubDate></item><item><title>Making life easy over flaky links</title><link>http://www.duckland.org/posts/200912making-life-easy-over-flaky-links.html</link><dc:creator>Don Harper</dc:creator><description>&lt;h1&gt;Making life easy over flaky links&lt;/h1&gt;

&lt;p&gt;I tend to work over VPN, which we know can be flaky at times, Since I work on server, I spend a lot of time ssh’ed into hosts. I was getting tired of the lost time having to restart what I was working on every time the VPN dropped (which could be as much as every 15 minutes on a bad day). While I already used screen to handle the lack of terminals (Alas, I am forced to use a Windows laptop to VPN in with), I thought there could be an easier way to do this.&lt;/p&gt;

&lt;p&gt;The way I tend to work is that I ssh into a jump server, fire up screen, then ssh into the hosts I need to work on, and fire up screen on those hosts.&lt;/p&gt;

&lt;p&gt;Now, this is nice, but it can get a bit tiring to do it all over
again. So, I found a tool called
&lt;a href="http://www.harding.motd.ca/autossh/"&gt;autossh&lt;/a&gt; which will automatically restart your ssh session if it drops for any reason but a graceful disconnect. (Well, there are others, but this is basically it). Combine this with your ssh-agent, and you can re-attach with easy. I also use &lt;a href="http://www.funtoo.org/Keychain"&gt;keychain&lt;/a&gt; to help manage my ssh-agent when I log in.&lt;/p&gt;

&lt;p&gt;Now that the connection will come back, I need a way to re-attach to my screen session, or if there is not one, to start one for me. To do&lt;br&gt;
that, I have this is my .bashrc file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;test -x $STY &amp;amp;&amp;amp; screen -xR
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will check to make sure that we are not already inside a screen session on the local host (&lt;em&gt;test -x $STY&lt;/em&gt;), and if we are not, then either attach to an existing screen session or start a new one (&lt;em&gt;screen -xR&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;I have define this function in my .bashrc to spawn a new ssh connection in a separate screen window:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;function ss ()
{
  screen -t $1 ssh $*
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Easy stuff&lt;/p&gt;</description><category>cli</category><category>software</category><category>ssh</category><category>telecommute</category><guid>http://www.duckland.org/posts/200912making-life-easy-over-flaky-links.html</guid><pubDate>Mon, 28 Dec 2009 23:12:00 GMT</pubDate></item><item><title>Search your email!</title><link>http://www.duckland.org/posts/200905search-your-email.html</link><dc:creator>Don Harper</dc:creator><description>&lt;h1&gt;Search your email!&lt;/h1&gt;

&lt;p&gt;One of the features that most of the pretty GUI mailers offer you is the ability to search your email. While this is not a feature I use regularly, it is one which when you need it, you really need it. I have used &lt;a href="http://grepmail.sf.net"&gt;grepmail&lt;/a&gt; in the past, but it slow for me (it scans the mail files every time) and the big thing for me is that is only supports &lt;a href="http://en.wikipedia.org/wiki/Mbox"&gt;mbox&lt;/a&gt; files, and I use &lt;a href="http://en.wikipedia.org/wiki/Maildir"&gt;maildir&lt;/a&gt; since I use &lt;a href="http://software.complete.org/software/projects/show/offlineimap"&gt;offlineimap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I recently found &lt;a href="http://www.rpcurnow.force9.co.uk/mairix/"&gt;mairix&lt;/a&gt;. While I have not been using it long, so far I am very impressed with it. It uses an index to speed up the search process, and it smartly adds only new or changed files to the index. The first indexing run was only a few seconds on my archive of almost 15,000 mail messages. I have it scheduled to update the index every 15 minutes, and I never notice the load this will put on the system.&lt;/p&gt;

&lt;p&gt;To integrated mairix with mutt, I wrote a quick little script to search from within (or without) mutt:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/bash
#===============================================================================
#
#          FILE:  mailsearch.sh
#
#         USAGE:  ./mailsearch.sh
#
#   DESCRIPTION:  search mail stuff
#
#       OPTIONS:  ---
#  REQUIREMENTS:  ---
#          BUGS:  ---
#         NOTES:  ---
#        AUTHOR:  Don Harper (), duck@duckland.org
#       COMPANY:  Don Harper
#       VERSION:  1.0
#       CREATED:  05/25/2009 07:03:30 PM CST
#      REVISION:  ---
#===============================================================================

rm -rf $HOME/Maildir/mfolder
echo "       t::word
              Match word in the To: header.
       c::word
              Match word in the Cc: header.
       f::word
              Match word in the From: header.
       s::word
              Match word in the Subject: header.
       m::word
              Match word in the Message-ID: header.
       b::word
              Match word in the message body.
       d::[start-datespec]--[end-datespec]
              Match messages with Date: headers lying in the specific range.
       z::[low-size]--[high-size]
              Match  messages  whose size lies in the specified range.
       n::word
              Match  word  occurring  as the name of an attachment in the mes-
              sage.  Since attachment names  are  usually  long,  this  option
       F::flags
              Match messages with particular  flag  settings.
              s meaning seen,
              r meaning replied
              f meaning flags
              prefixed by a - to negate its sense.

       The a:: search pattern is an abbreviation for tcf:

   Match words
       The word argument to the search strings can take various forms.
       ~word
              Match messages not containing the word.
       word1,word2
              This matches if both the words are matched in the specified message part.
       word1/word2
              This matches if either of the words are matched in the specified message part.
       substring=
              Match any word containing substring as a substring
       substring=N
              Match any word containing substring, allowing up to N errors  in
              the  match.   For example, if N is 1, a single error is allowed,
              where an error can be
       *      a missing letter
       *      an extra letter
       *      a different letter.
       ^substring=
              Match any word containing substring as  a  substring,  with  the
              requirement  that  substring  occurs  at  the  beginning  of the
              matched word.
       d::start-end
              Specify both start and end explicitly
"
echo -n "Enter your search string: "
read string
mairix $string
mutt -f=mfolder
rm -rf $HOME/Maildir/mfolder
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then, I bound this to “S'’ from within mutt:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; macro index,pager S "!mailsearch\n" 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will give me a reminder of the search command, run the search, and then give me the search results in a new mutt session.&lt;/p&gt;</description><category>cli</category><category>email</category><category>search</category><category>software</category><guid>http://www.duckland.org/posts/200905search-your-email.html</guid><pubDate>Mon, 25 May 2009 23:05:00 GMT</pubDate></item><item><title>wifiroamd, Intel PRO/Wireless 3945ABG, and Fedora</title><link>http://www.duckland.org/posts/200904wifiroamd-intel-prowireless-3945abg-and-fedora.html</link><dc:creator>Don Harper</dc:creator><description>&lt;h1&gt;wifiroamd, Intel PRO/Wireless 3945ABG, and Fedora&lt;/h1&gt;

&lt;p&gt;One of the things that has annoyed me about Fedora has been the decision to switch over to using &lt;a href="http://www.gnome.org/projects/NetworkManager/"&gt;NetworkManager&lt;/a&gt; to manage all network connections.&lt;/p&gt;

&lt;p&gt;Now, on the service this has a lot of advantages. A lot of work has gone into it, and it just works for a vast majority of the installations out there. They have made it so the move from wired to wireless and back can be done without the user doing anything. They have also seamlessly tied in Dial-Up Networking if you still need a modem or use a wireless modem. They even have two-click access to your VPN which is pretty cool.&lt;/p&gt;

&lt;p&gt;All these are things which are very good for Linux users. The biggest drawback to all this? The need for a user-space program to manage the non-hardwired connections. Which means that in order to be able to have any network running besides the good old twisted-pair copper, you have to have a little applet running as you, and it has to have a systray somewhere to display. Which means you have to be a) logged into the system and b) you have to be running a window manager which supports having a system tray. Now, Fedora gives you lots of choices for the second part now days. You have &lt;a href="http://www.gnome.org"&gt;Gnome&lt;/a&gt;, &lt;a href="http://www.kde.org"&gt;KDE&lt;/a&gt;, &lt;a href="http://www.xfce.org"&gt;XFCE&lt;/a&gt;, and &lt;a href="http://lxde.sf.net"&gt;LXDE&lt;/a&gt;. All are perfectly usable window managers. But, they still require you to be logged in to X. And, &lt;a href="http://www.duckland.org/archives/2006/07/31/window-managers/"&gt;I do not use any of them&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So, what is a cli-loving Fedora user to do? Well, there is this great program called &lt;a href="http://www.tummy.com/Community/software/wifiroamd/"&gt;wifiroamd&lt;/a&gt;. It will handle the same basic tasks that NetworkManager handles. It will automatically configure your wifi interface and connect to the wifi networks or the locate hardwired NIC if it cannot. You can configure it to run scripts per connection, so for example, you can change your firewall rules for different networks (shields down at home or the office, but up full at the coffee house), or you could bring up your VPN connection when you start using a given wireless network.&lt;/p&gt;

&lt;p&gt;One tip I picked up from the author was that if you have multiple AP’s in range, an you want to select once AP over the other, is under the &lt;em&gt;/etc/wifiroamd/connections&lt;/em&gt; directory, simply link the AP info you do not want to the one you want:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ln essid:my_home_ap essid:bad_ap
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;where &lt;strong&gt;essid:my_home_ap&lt;/strong&gt; is your AP with the keys and other information you want, and &lt;strong&gt;essid:bad_ap&lt;/strong&gt; is the one you do not want to connect to. My neighbors have some very powerful AP’s which have a habit of showing up high than mine, but I have no problem with them now.&lt;/p&gt;

&lt;p&gt;I have been using this set up under Fedora since FC6 days, but when I upgraded to F10, this stopped working. wifiroamd would try to scan for an AP, and not find anything. The change, it turns out, is that when I switched from using the iw3945 driver to the native iwl3945, wifiroamd could no longer see the wireless NIC due to the wpa_supplicant process, but NetworkManager could. Simply stopping and disabling wp_supplicant and NetworkManager, and wifiroamd started working again! I am a happy camper again.&lt;/p&gt;</description><category>cli</category><category>network</category><category>software</category><category>wireless</category><guid>http://www.duckland.org/posts/200904wifiroamd-intel-prowireless-3945abg-and-fedora.html</guid><pubDate>Fri, 17 Apr 2009 23:04:00 GMT</pubDate></item><item><title>C*MUS - A music manager for the terminal</title><link>http://www.duckland.org/posts/200901cmus-a-music-manager-for-the-terminal.html</link><dc:creator>Don Harper</dc:creator><description>&lt;h1&gt;C*MUS - A music manager for the terminal&lt;/h1&gt;

&lt;p&gt;&lt;a href="http://cmus.sf.net/"&gt;C*mus&lt;/a&gt; is an advanced music juke-box for *inx and Window operating systems. It can handle the modern audio file formats: FLAC, Ogg/Vorbis, MP3 , Wav, AAC , MP4, .mod, .s3m, .mpc, mpp, .mp+, .wma, and .wv . It also can deal with many different types of audio output systems: ALSA, libao, ARTS, OSS, Sun, and WaveOut on Windows. The typical features of an electronic juke-box are supported like play lists and random/shuffle play, in addition to easily switching between playing from the library, an artist, or a single album with a simple keystroke.&lt;/p&gt;

&lt;p&gt;C*Mus is pretty painless to install from source. The website lists the build dependencies with links. There is no RPM .SPEC file on the web site, but you can use this &lt;a href="http://www.duckland.org/files/cmus.spec"&gt;one&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;En-queuing&lt;/h2&gt;

&lt;p&gt;One of the features I really enjoy and use is the en-queue function. I tend to use this two ways. The first is when I am listening to a song, and want to listen to similar songs, I go find them in my library, and I queue them up with a simple keystroke. A dynamic play-list, if you will. Then, I can simply create a more permanent playlist from this temporary list.&lt;/p&gt;

&lt;p&gt;The second way is using the helper program cmus-remote to be able to queue up tracks from a different terminal, or from a script. My podcatcher program (bashpodder) will queue up the podcasts it just downloaded for me, so I can listen to them first thing in the morning.&lt;/p&gt;

&lt;h2&gt;Keystroke and CLI&lt;/h2&gt;

&lt;p&gt;C&lt;em&gt;Mus is developed to be driven via keystrokes. The default mapping is set up to be comfortable for those use are familiar with VI but, it is very easy to remap the keys to make it more comfortable. C&lt;/em&gt;Mus will automatically save the current settings on a clean exit. The default mappings for selecting and updating views, moving through songs forward and backwards in small and large increments, adding to play list and queue lists.&lt;/p&gt;

&lt;h2&gt;Filters&lt;/h2&gt;

&lt;p&gt;One of the very powerful features is simple filters. You can set a filter for your 80’s Metal Bands or your Classical music. Many of the common tags can be used for filter on. Things like filename, artist, album, title, genre, discnumber, tracknumber, date (year), duration (seconds), and tag.&lt;/p&gt;</description><category>cli</category><category>music</category><category>software</category><guid>http://www.duckland.org/posts/200901cmus-a-music-manager-for-the-terminal.html</guid><pubDate>Mon, 12 Jan 2009 23:01:00 GMT</pubDate></item></channel></rss>