A year ago, this month, I had made a big improvement in the Gautier RSS Reader. The article, Gautier RSS – Sept. 30 – Streamlined talks through the changes at a high level. The following screen shot is this program.
Compile with Shared Libraries
The program hasn’t changed yet. I was curious to see if it would still compile now that I am using a C++14 capable compiler. The program did compile and, most importantly, execute full functionality after a year in stasis. I took the opportunity to compile it a different way. This time, I added a build script that uses shared libraries instead of static. I tend to prefer static for deployment but I am slowly changing my view on that. Shared libraries, regardless of what you think, are faster to develop with when they are installed from a Linux repository and are up-to-date versions. I added a shared library centric build script because it allows the program to be rebuilt fast when cloned down from the GitHub repository following install of appropriate shared libraries (libxml2, sqlite3 and fltk).
I learned that Bjarne Stroustrup, the creator of C++, actually uses FLTK in one of his books that I read in 2009 but didn’t make the connection between FLTK and his code examples back then. Anyway, his interest in FLTK gave me pause to consider it. I moved away from FLTK since it did not support Hi-DPI at the time or had much in the way of font support. That has changed, and I may have to look at FLTK again as it is faster to write code with compared to other alternatives I have used. I like Allegro, and will find it useful for other endeavours involving raw, beautiful graphics visualization, but FLTK is more productive and moves the agenda further faster. I am going to see what can be done with FLTK if I can confirm that the issues with Hi-DPI and fonts has been addressed as stated on their website.
The following is a directory listing of the new files in a fully built version of the FLTK-based Gautier RSS Reader. The files ending in .o can be ignored. The executable is gautier_rss with no extension. I uploaded it to the GitHub repository titled, gautier_rss_feed_engine as a ready-to-go representation of the program compatible with Fedora 26 64-bit. The program needs a file name feeds.txt that contains the addresses of your rss feeds. It will parse the file and list the feed names on the left side of the screen. When you click on a feed name, the program will pull in the headlines for the feed. When you click on a headline, the full text of the article for that feed will be downloaded and shown in the box at the bottom of the screen. The feed information is copied to the database file named rss_feeds_info.db that it uses when offline to pull up previously downloaded feeds.