polachok / echinus

echinus is a lightweight and easily configurable tiling window manager
http://plhk.ru/
MIT License
66 stars 8 forks source link

Echinus*border being interpreted as color value causes crash #15

Open msiism opened 5 years ago

msiism commented 5 years ago

There's something wrong with the implementation of the Echinus*border setting.

It works fine as long as you have both Echinus*normal.border and Echinus*selected.border (which define colors) set in echinusrc. But as soon as you drop one of them, things break.

On my Slackware 14.2 system, the X server exits saying:

error, cannot allocate color '1'

1 is the value of Echinus*border in this case. I have also tested this on Devuan 2.0.0. The error message is just e color '1' there, for whatever reason, but the effect is exactly the same.

This error even seems to make sense. If I understand Xresources syntax right, Echinus*border is simply a way to refer to Echinus*normal.border and Echinus*normal.border at the same time because the asterisk acts as a wildcard. So, the solution is probably to rename Echinus*border.

The naming scheme for Echinus' settings should probably be revised a bit in general.

polachok commented 5 years ago

Hi, sorry for the long reply. I think your explanation is correct. Unfortunately, echinus is no longer maintained (I just added a note to README).

Thinking about it, replacing * with . in echinusrc might work, I think.