Commits on Mar 1, 2016
  1. Change all -I CFLAGS to -isystem

    alvarezp committed Mar 1, 2016
    We are not expert C programmers so we use compile using the GCC
    --pedantic-errors option. This flags helps us find some errors
    related to our C-related ignorance before they get pushed publicly.
    In Superkb issue #7 [1] on Github, it came up to our attention that
    Superkb fails to build using the still-unreleased GCC 6. A Debian
    test found this and a bug against the Superkb bug was reported [2].
    It turned out the failure to build lies inside GLib code. A bug was
    reported to the GLib team [3] and a possible workaround provided but
    they considered this not to be a bug and refused to fix it.
    So, instead of root-fixing the issue we are forced to write a work
    around. We will silence all pedantic errors for system libraries. GCC
    does not show warnings or errors for system libraries. For that to
    apply, included files must be loaded using the -isytem option instead
    of the typical -I.
    In this patch we replace all -I to -isystem in the pkg-config output
    for the CFLAGS variable so GCC bypasses system-library mistakes.
    [1] #7
Commits on Sep 25, 2015
  1. Reworked XNextEventWithTimeout.

    alvarezp committed Sep 25, 2015
    New way of signaling autorepeats by the X11 servers broke Superkb.
    Before we had a lot of KeyPresses and a single KeyRelease. Now we
    have a lot of KeyPress/KeyRelease combinations. We must peek into
    the next X event to see if it matches a KeyPress. If so, we must
    ignore both.
    We had to invert the logic for QLength() == 0 management and enclose
    everything in a loop to continue if the events were swallowed.
    This is to only emulate the old way before the rest of the codebase.
    Signed-off-by: Octavio Alvarez <>
Commits on Apr 12, 2014
  1. github#2: char was used to store an fgets() result

    alvarezp committed Apr 12, 2014
    Thanks to dcb314 for noticing it.
Commits on Sep 5, 2013
Commits on Sep 1, 2013
  1. Push version to 0.23+git

    alvarezp committed Sep 1, 2013
  2. Push version to 0.23

    alvarezp committed Sep 1, 2013
  3. Remove unused variables

    alvarezp committed Sep 1, 2013
Commits on Aug 30, 2013
Commits on Aug 29, 2013
  1. Merge branch 'manpagefix'

    alvarezp committed Aug 29, 2013
  2. Added a way to use compiled-in modules.

    alvarezp committed Mar 27, 2011
    Now the user can do "MODTYPE=y make configuration" to write the
    configuration file with compiled-in modules.
  3. Fix wrong display of multibyte characters.

    alvarezp committed Mar 27, 2011
    ... like &ntilde; on latin american keyboards.
    Multiple-byte characters were counted as multiple
    characters by strlen() and thus, painted as such.
    The fix consists on making an mbstrlen() function
    based on mblen() and using it. However, mblen()
    depends on the locale, so we added a setlocale()
    call to load it from the environment variables.
    The user must load Superkb with something like
    $ LC_ALL=en_US.UTF-8 superkb
    $ LC_CTYPE=en_US.UTF-8 superkb
Commits on Jul 16, 2013
  1. Replaced static man page with help2man-generated man page

    alvarezp committed Jul 14, 2013
    This should make it easier for package maintainers.
  2. Add -v option to display superkb version

    alvarezp committed Jul 14, 2013
    This will be used by help2man.
  3. Pango-cairo 1.32.3 broke -pedantic-errors.

    alvarezp committed Jul 16, 2013
    A workaround has been implemented to remove the use of
    -pedantic-errors if pango-cairo 1.32.3 is detected.
    Pango-cairo introduced the bug in commit 7274bd56 [1]
    to workaround a gir bug.
    According to GNOME Bug #688356 [2], the bug in gir was
    fixed so commit 7274bd56 was reverted.
    Tested-by: Ruben Guerra <>
Commits on Apr 30, 2011
  1. Fixed wrong word in error message.

    alvarezp committed Apr 30, 2011
    We want the user to have their current keyboard layout
    whatever the system default might be.