基于 Ubuntu 6.06 版本,Debian系统也应该适用
ncmpc 是 mpd 的一个客户端,基于控制台的 ncurses 库,可以方便的连接 mpd,进行控制,非常方便,只是中文的显示有些问题,在歌曲列表窗口中中文的歌曲名被截断了。
开始以为是有关 unicode 的问题,看了看代码,发现只是字符宽度的处理问题,对于中文来说,一个字符占两个英文字母的宽度。
我做的修改
Index: src / list_window.c
===================================================================
--- src / list_window.c (revision 4813 )
+++ src / list_window.c (working copy)
@@ - 203 , 10 + 203 , 10 @@
if ( show_cursor && selected )
wattron(lw -> w, A_REVERSE);
+ if ( fill )
+ mvwhline(lw -> w, i, 0 , ' ' , lw -> cols);
// waddnstr(lw->w, label, lw->cols);
waddstr(lw -> w, label);
- if ( fill && lencols )
- mvwhline(lw -> w, i, len, ' ' , lw -> cols - len);
if ( selected )
wattroff(lw -> w, A_REVERSE);
我编译新版本的脚本
sudo apt-get install build-essential
svn checkout https: // svn . musicpd . org / ncmpc / trunk@ 4813 ncmpc
cd ncmpc
wget http: // yjpark . googlepages . com / ncmpc_chinese_patch
patch -p0 < ncmpc_chinese_patch
./ autogen . sh
./ configure --enable-artist-screen
make
sudo cp src / ncmpc / usr / bin /
你也可以直接下载我编译好的文件
wget http: // yjpark . googlepages . com / ncmpc
sudo mv ncmpc / usr / bin /
可以编辑 ~/.ncmpc/config 来进行设置
auto-center
=
yes
wide-cursor = yes
enable-colors = yes
set-xterm-title = yes
xterm-title-format = " [[%artist% - ]%title%]|[%file%] "
wide-cursor = yes
enable-colors = yes
set-xterm-title = yes
xterm-title-format = " [[%artist% - ]%title%]|[%file%] "
如果你想不启动X使用ncmpc,可以使用zhcon(apt-get install zhcon)来支持中文显示,不过在我的机器上使用zhcon的framebuffer模式失败了,于是只能
zhcon --utf8 --drv = vga
–utf8 参数可以让 ncmpc 正常工作,为了显示某些字符,可能需要编辑 ~/.zhconrc 把 defaultencoding 改为 GBK 。
zhcon + ncmpc仍然有些问题,有些字显示不出来,歌曲播放的进度条也显示不正常,不过不太影响使用。