hpjansson / chafa

📺🗿 Terminal graphics for the 21st century.
https://hpjansson.org/chafa/
GNU Lesser General Public License v3.0
2.97k stars 64 forks source link

Add JPEG XL support. #188

Closed oupson closed 10 months ago

oupson commented 10 months ago

Hi !

This PR add JPEG XL support for chafa using libjxl.

I'm not familiar with autotools so I hope the config is correct.

hpjansson commented 10 months ago

Thanks a lot! I can take the PR as-is, just a couple of nitpicks that you may want to address first:

Ideally, jxl-loader.[ch] should both have the license blurb with (C) your real name, if you care. If you don't, the copyright will still be yours, it'd just be harder to find you if we ever want to relicense (IIRC the only way to legally transfer copyright is with paperworkâ„¢). Your choice, though.

You may want to use the same indenting scheme as elsewhere - in particular, opening braces should not be indented. I.e.

if (foo)
{
    do_something ();

    if (bar)
    {
        do_something_else ();
    }
}

Otherwise, this looks great!

hpjansson commented 10 months ago

(If you prefer to just have it say (C) oupson, that's fine too - but it'd be nice to have an e-mail address there at least).

oupson commented 10 months ago

I fixed the indentation and added the copyright.

I use clang-format to format the code, is there another tool I can use to format like you ?

hpjansson commented 10 months ago

I fixed the indentation and added the copyright.

Thanks!

I use clang-format to format the code, is there another tool I can use to format like you ?

I don't use formatting tools, since I find them too rigid. For instance, most of the time the code should fit ~100 columns or so, but in some cases you have to go a little bit over.

You can probably get close with some carefully chosen parameters to clang-format, indent or Emacs/Vim config. I need to figure them out and write a few paragraphs about it in the HACKING doc :-) FWIW, the most important Emacs parameters are in the file variables -*- ... -*- headers.

Apart from what I mentioned above, the style in this project is pretty relaxed. Look at the existing code and do what feels right!