summaryrefslogtreecommitdiffstats
path: root/src/journal/5-hello-yawa.rst
blob: 6c35ada239c7cbdbdbd9bdf01414b1f6a401a561 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
.. frontmatter
   title: Hello, yawa!
   date: 2014-11-11
   author: Johannes Löthberg
   author_link: /~kyrias/about.html

.. role:: sc

:sc:`So after HalosGhost asked a` couple of times for me to add hsetroot-git to
my Arch Linux repository I tried looking for their repo and noticed that there
weren’t one, that the last release was in 2003 and that the upstream website
has been “down for maintenance” for 3 year. Uh-oh.

After some prodding around I found an old tarball of the last release and
imported that into git and build a package, but looking at the code made me
rather unhappy because it was an unholy monster of autotools, mixed space/tab
indentation, inconsistent naming and rather verbose manual argument parsing.
(Though on the plus side it *was* checking that the arguments were of an
appropriate type, and that’s something I guess.)

The quick lookover I decided to try to clean it up a bit, and it is in large
part thanks to talking with HalosGhost about it that I didn’t just give up more
or less right away even when it felt pointless or hopeless. When it felt a bit
pointless to just do some small touch-ups I rather quickly decided to fork the
project and ended up renaming it “yawa”, (HalosGhost stole the name from
hsetroot’s slogan, “yet another wallpaper application,”) and here we are a week
later and I’ve managed to replace autotools with CMake_, replace the custom
argument parsing with glibc’s argp library, managed to break some duplication of
parsing the strings into separate functions ints/uints/doubles, written a
manpage, and have finally implemented all switches.

With all of that job done (which arguably wasn’t *that* much, but still not
*litle* either) I’m officially announcing version 0.9.0 of yawa_ that is now a
fully feature-complete fork of hsetroot, which is to say that all of hsetroot’s
functionality should be implemented. Since there’s no test suite, (although I’d
like being able to write one,) and I don’t have much use for most of the
functionality it’s quite possible that there are some lingering bugs that I
haven’t found yet which is why I’m releasing this as 0.9.0 instead of 1.0.0, and
I would appreciate it if as many as possible test it out and report any bugs
found on the github `issue tracker`_ so I can try to fix it as quickly as I can.

yawa, being a fork of hsetroot, is currently licensed under the GPLv2 license,
and while I could live with that I would prefer being able to relicense it under
the `ISC license`_ instead since I think that it’s a more free license for the
user, so I tried sending an email to the previous developer listed in the
AUTHORS file asking for permission, and I hope that I will get a (preferably
positive) reply back soon.

.. _CMake: http://www.cmake.org/
.. _yawa: http://git.kyriasis.com/kyrias/yawa/
.. _issue tracker: https://github.com/kyrias/yawa/issues
.. _ISC license: https://www.isc.org/downloads/software-support-policy/isc-license/