MusicPlayerDaemon / ncmpc

curses client for MPD
GNU General Public License v2.0
107 stars 24 forks source link

word wrapping with lyrics screen #11

Open holytrousers opened 6 years ago

holytrousers commented 6 years ago

Hello ! I think the lyrics screen is lacking word wrapping. That is propably a rare case, but some songs have very long sentences ( for example Léo Ferré's La Solitude ) and there is no way to read the whole line. Cheers !

jose1711 commented 2 years ago

Just an idea: perhaps it would make sense to use man for formatting (not sure if any C-bindings are available). It seems to make a good job breaking up the lines where needed. Input:

Les moules sont d'une texture nouvelle, je vous avertis.
Ils ont été coulés demain matin.
Si vous n'avez pas dès ce jour, le sentiment relatif de votre durée,
Il est inutile de vous transmettre, inutile de regarder devant vous car devant c'est derrière
La nuit c'est le jour.
Et.. La solitude.. La solitude..

Command:

sed 's/$/\n.br/' lyrics.txt | man -Pcat --local-file -

Output:

Les moules sont d’une texture nouvelle, je vous avertis.
Ils ont été coulés demain matin.
Si  vous  n’avez  pas  dès ce jour, le sentiment relatif de votre
durée,
Il est inutile de vous transmettre, inutile  de  regarder  devant
vous car devant c’est derrière
La nuit c’est le jour.
Et.. La solitude.. La solitude..
ferdnyc commented 1 year ago

@jose1711 You can get the same results, without editing the source, using fmt -s:

$ cat <<___END___ | fmt -s
Les moules sont d'une texture nouvelle, je vous avertis.
Ils ont été coulés demain matin.
Si vous n'avez pas dès ce jour, le sentiment relatif de votre durée,
Il est inutile de vous transmettre, inutile de regarder devant vous car devant c'est derrière
La nuit c'est le jour.
Et.. La solitude.. La solitude..
___END___
Les moules sont d'une texture nouvelle, je vous avertis.
Ils ont été coulés demain matin.
Si vous n'avez pas dès ce jour, le sentiment relatif de votre durée,
Il est inutile de vous transmettre, inutile de regarder devant vous car
devant c'est derrière
La nuit c'est le jour.
Et.. La solitude.. La solitude..

(Or e.g. fmt -s -w65, to select your line width...)

$ cat <<___END___ | fmt -s -w65
Les moules sont d'une texture nouvelle, je vous avertis.
Ils ont été coulés demain matin.
Si vous n'avez pas dès ce jour, le sentiment relatif de votre durée,
Il est inutile de vous transmettre, inutile de regarder devant vous car devant c'est derrière
La nuit c'est le jour.
Et.. La solitude.. La solitude..
___END___
Les moules sont d'une texture nouvelle, je vous avertis.
Ils ont été coulés demain matin.
Si vous n'avez pas dès ce jour, le sentiment relatif de
votre durée,
Il est inutile de vous transmettre, inutile de regarder devant
vous car devant c'est derrière
La nuit c'est le jour.
Et.. La solitude.. La solitude..