gui: Fix off-by-one in colorful blackness theme. Without this, on a 80 character window and the three-digit amp value, the value gets truncated unnecessarily.
gui: Allow for 4-digit image IDs on 80-character terminals. Currently, the first digit of a 4-digit image ID get truncated to three characters if the width of the terminal window is at its minimal size of 80 characters. We can squeeze out two more characters from the previous field, so this is easy to fix. This only affects the colorful blackness theme.
gui: Fix length of audio format field. Without this, the contents of the subsequent item (numplayed) are overwritten by spaces. This only affects the colorful blackness theme.
gui: Adjust position of num_played value. If the terminal window is only 80 characters wide, the num_played value may be adjacent to the bitrate value, with no space between. This happens only if the num_played value is bigger than 99, and only with the "colorful blackness" theme. This simple patch should fix the issue.
Shorten copyright notice. The GPLv2 line does not add any additional information, so drop it. This leaves a single line of legalese text for most files, which is about the amount of screen real estate it deserves. This patch was created with the following script (plus some manual fixups): awk '{ if (NR <= 5) { gs = gensub(/.*Copyright.* ([0-9]+).*Andre Noll.*/, "\\1", "g") if (gs != $0) year = gs next } if (NR == 6 && year != "") printf("/* Copyright (C) %s Andre Noll <maan@tuebingen.mpg.de>, see file COPYING. */\n", year) print }'
Define status items in para.h. The only reason the status item enum and string array are defined in configure.ac is that upper case identifiers and lower case strings are not easy to do in cpp as it lacks toupper(). However, configure.ac is not the right place for defining C language constructs as the configure script should only check for installed packages. This commit moves the definition of the status item enum and array to para.h and modifies all users to use lower case for the item names. This was automated with a script which essentially did upper=${i^^} sed -i "s/\<SI_$upper/SI_$i/g" $files for each status item $i. Care has been taken to leave the order of the status items unchanged. This is important because the item numbers must be considered part of the API between server and client.
Update year in copyright headers. Done with files=$(git grep -l 'Copyright (C) [0-9]\{4\}\(-2014\)* Andre Noll') sed --in-place= -e 's/Copyright (C) \([0-9]\{4\}\)-2014 Andre Noll/Copyright (C) \1 Andre Noll/1' $files In previous years we ran a similar script to set the second year in the range to the current year. This is kind of silly, so let's get rid of this useless information. This commit replaces "Copyright (C) A-B" by "Copyright (C) A" in all file headers, i.e. only the first year (A) is left in. Accurate information including time stamps for each change can be obtained from the git history.
Assorted typo fixes in comments. Quite a few..
doc: Change email address to maan@tuebingen.mpg.de The mail server on systemlinux.org was down for more than a week lately, so let's use an alternative official address. This commit changes all maan@systemlinux.org addresses to maan@tuebingen.mpg.de. Most .c and .h files contain the email address in the copyright header, so they must all be patched. Three other files contain the address for a different reason: * README lists email and git, gitweb and home page URLs * configure.ac needs it for configure -h * version.c contains it for the -V option of all commands
gui: Simplify color handling. Various gui elements of para_gui can be customized through struct gui_theme. Currently this structure contains two integers for each each element, one for the foreground and one for the background color of the element. This is a bit clumsy and repetitive. This commit cuts down the number of fields of struct gui_theme by a factor of two by introducing struct gui_color_spec as a pair of integers. The patch is quite large but also simple.
Doxify para_gui. Now that para_gui is in a much better shape, let's make it a first class citizen and document all public functions and data structures.
gui: Remove change_theme(). It's silly to have a function for this.
gui: Rename public gui theme functions. Prefix all functions related to themes with "theme_".
gui: Use whline() for drawing the separator. This should be slightly more efficient. This patch also changes the type of struct gui_theme->sep_str from const char * to plain char and renames the field to sep_char. It must be a single-character string anyway. For the colorful blackness theme we now use the default character from curses.h rather than '-'. This looks nicer. Tested with ncurses on Linux and the curses implementation that ships with NetBSD.
gui: Remove welcome message. The only information shown by print_welcome() that is not already contained in the status bar is the name of the current theme. This is not very interesting, so remove the function and the corresponding color pair.
Change copyright year to 2014. This year, we're really on time. The changes in this patch were created by the following silly script: files=$(git grep -l 'Copyright (C) [0-9]\{4\}\(-2013\)* Andre Noll') sed --in-place= -e 's/Copyright (C) \([0-9]\{4\}\)-2013 Andre Noll/Copyright (C) \1-2014 Andre Noll/1' $files sed --in-place= -e 's/Copyright (C) 2013 Andre Noll/Copyright (C) 2013-2014 Andre Noll/1' $files
Change copyright year to 2013. Better late than never.
Change year in copyright message to 2012.
Always include stdbool.h. This adds the #include statement for stdbool.h to para.h. This allows to get rid of the individual includes in *.c. More importantly, since all *.c files include para.h, booleans will now be available everywhere so that we won't need to touch dozens of files anymore whenever a boolean is added to a public structure.
Make some variables static. Found by sparse.