3 ms·
MPD (http://musicpd.org http://musicpd.org) is pretty good. It's a server that uses a simple network protocol for control, and thus has several clients and clie
by silentbicycle 17y ago
MPD (http://musicpd.org http://musicpd.org) is pretty good. It's a server that uses a simple network protocol for control, and thus has several clients and client libraries. (I particularly like ncmpc.)
Part of the problem is that many people who switched to Linux to get away from Windows don't understand Unix, and tend to expect (and implement!) programs that are based on the Windows GUI model. Unfortunately, it's poorly suited to designing programs in the Unix style. This leads to monolithic GUI programs that will only work if you're already using GNOME / KDE / etc., rather than programs that take advantage of existing the Unix programming infrastructure. (This seems to be less of a problem in the BSD community.)
It's possible to write a separate GUI interface wrapper for programs whose primary interface is a command line or C API, but the Windows programming culture doesn't seem to emphasize keeping them as separate layers the way that Unix does.
- wendroid 17y agoif you like the Unix philosophy you mighty like Pike's the Acme text editor - http://en.wikipedia.org/wiki/Acme_%28text_editor%29 http://en.wikipedia.org/wiki/Acme_%28text_editor%29 (and Plan9 in general). Many plan9 programs post a file tree which you can manipulate with regular Unix tools - Acme's are described here - http://man.cat-v.org/plan_9/4/acme http://man.cat-v.org/plan_9/4/acme for instance, if I name this shell script C #!/bin/rc tags=`{cat /mnt/acme/$winid/tag} s = `{echo $tags(1) | sed 's/\.c$//'} 8c $s.c && 8l -o $s $s.8 And middle click on a 'C' in the tag bar (or anywhere in the window) and the filename ends in .c, it will be compiled and linked for me. The /mnt/acme/$winid/tag is exported by Acme which provides a file tree to all of its windows. Other similarly behaving programs in the distribution (including the windowing system) are described in http://man.cat-v.org/plan_9/4/ http://man.cat-v.org/plan_9/4/
- silentbicycle 17y agoI've looked at it. I really like acme/wily's general design, but can't stand the mouse-centric interface. (Same with plan9 overall, actually.) 9p is pretty cool, though, and I plan on having the 9p protocol as an example file for the non-blocking server framework I'm building. I use Emacs, but my ideal editor would mix Emacs's general buffer and mode extension model with vi-like keybindings, and use Lua as an extension language. Life is too short to write yet another editor, though.
- gnosis 17y agoI'm a vim guy, so this is all hearsay.. but there are supposedly vi keybindings available for emacs (and emacs keybinds for vim). I know vim has Lua bindings, and I would be very surprised to hear that emacs didn't. So look around.. you might find something close to what you're looking for.
- silentbicycle 17y agoThe extension for vi keybindings in Emacs is called "viper", though I think there's another. The problem is that, while you can switch to using vi keybindings for primary editing, every other single package will use conventional Emacs keybindings. Thing is, I don't want to add yet another layer on top of either Emacs (!!!) or vim. Both have waaaaay too much cruft as-is. (nvi isn't as bad.) I think the buffers-and-modes extension model in Emacs and vi's modal, primarily single-key interface are good ideas, though, and I don't see any reason why they couldn't be combined. I've also looked at uemacs, vile, and the like, but haven't found one that suits me. In the mean time, Emacs is good enough for me.
- gnosis 17y agompd is what I'm using, since ditching Amarok (hate 2.0 and 1.4 is dead to me now that gentoo's switched from KDE 3 to 4)... But mpd has one crushing flaw: no ratings! I don't know how people live without them. I'm hoping sometime soon xmms2 will become stable enough to be useful, as it's supposed to have some sort of ratings support, and is build around the same kind of philosophy that mpd and Unix have.