修改 ncmpc 中文显示问题

基于 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%] "

如果你想不启动X使用ncmpc,可以使用zhcon(apt-get install zhcon)来支持中文显示,不过在我的机器上使用zhcon的framebuffer模式失败了,于是只能

 
 
zhcon --utf8 --drv = vga

–utf8 参数可以让 ncmpc 正常工作,为了显示某些字符,可能需要编辑 ~/.zhconrc 把 defaultencoding 改为 GBK 。

zhcon + ncmpc仍然有些问题,有些字显示不出来,歌曲播放的进度条也显示不正常,不过不太影响使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值