playshell: A very pleasant surprise

Every now and again I am surprised when I come across a program I like that’s not in AUR or Debian.

Of course that doesn’t mean that both of my two favorite distros should keep abreast of what I happen to like, but it seems interesting that something immanently likable should somehow never find its way into either.

playshell is my next addition to that list.


playshell has almost all the console goodness you could ask for in a media or music player, and is terrifically easy to get started.

playshell can of course handle simple playback, skipping forward or back, writing and loading playlists, sorting queues by title or file name, setting music libraries and searching through them, repeat-shuffle-loop play modes, and volume control.

But playshell also does some things that you might appreciate if you are a fellow console junkie. For one thing, there is a one-key jump straight to alsamixer, and even better, another one-key jump straight to alsaequal.

It also lets you drop into a shell or will evaluate a shell command, like mc and some other console standbys offer. If you want to change the path to your music library or edit the playlist, it drops you into your $EDITOR and refreshes when you exit. It has tab completion. And the help screens are run through less.

Probably coolest of all, playshell will use mplayer or a similar tool to show video files as well, if you run playshell in a terminal emulator, and you press the caret key.

About the only thing I don’t like about playshell is that it asks for a sudo password during setup. I got around that by making the “users” directory it asked for and by using the “” script that comes with the package before running bash playshell.

I really like playshell; it’s clean, well documented, intuitive and flexible. And that’s probably the reason for my surprise at not finding it in AUR or Debian.

I hope there are plenty of similar surprises in the next 500 or so titles. 😯

4 thoughts on “playshell: A very pleasant surprise

  1. CorkyAgain

    Very cool. This might become my new favorite music player for the console.

    But the default key assignments are extremely weird. For example, ‘b’ to play the *next* song in the playlist?!? I’ve only just begun to explore this tool and hope things like this are easily configurable.

    (I dug a little deeper before submitting this comment. The key assignments are hard-coded and changing them requires editing the commands_parsekey and commands_showkeys functions in source/, followed by recompiling and reinstalling. Not ideal, but doable.)

    The source code for this tool is definitely worth studying if you want to see some of the more advanced things which can be done with bash.

    1. K.Mandla Post author

      I was just thinking that the “b” key for “next” might go back to XMMS, which used Z-X-C-V-B for playback control. That in turn goes back to early versions of Winamp, I think.

      You’re right though, it’s an odd button. But I can remember thinking that back in 1997 too. 😉

      1. CorkyAgain

        Ah, that makes sense. I was never a Winamp or XMMS user, so I hadn’t seen this pattern before. I was expecting it to be mnemonic, as in other programs ( ‘n’ for next, ‘p’ for previous). But now, looking at the physical layout of my keyboard, I can kinda see the logic behind it. Z-X-C-V-B = Previous-Current-Pause-Stop-Next.

  2. alexdantas

    Loved this playshell, although can’t let go of moc.
    Thanks for the post.

    Hey, I have a suggestion – how about using showterm for displaying
    the console apps?
    Since it’s Javascript anybody can see it, as portable as your .gif images.

Comments are closed.