Lock Keys Applet

This is a MATE panel applet that shows which of the CapsLock, NumLock and ScrollLock keys are on and which are off.


  • Fedora Linux: the applet is now part of the official repo! yum install mate-applet-lockkeys
  • Arch Linux: the applet will soon be in the official Arch’s repo!

To install from source:

./configure && make && make install

To build an RPM:

./configure --prefix=/usr && make && make rpm

When installed, right-click the panel, chose “Add to Panel” and select “Keyboard LED Indicator” from the list.


Based on original code by Juergen Scheibengruber, <mfcn at gmx dot de>.


The applet is part of the mate-desktop-fedora-extra repo, so you should first try it.

Download current version: 0.3.2:

Download previous versions:

This entry was posted in Нули и единици. Bookmark the permalink.

24 Responses to Lock Keys Applet

  1. rezso says:

    version 0.2.2 not downloadable.

    • Дил says:

      Thanks, link fixed.

      Note: 0.2.2 does not differ from 0.2.0 in features; only change is that the package allows the builder to specify a custom libexec directory (helpful for distributions which do not have a libexec directory per se).

      • rezso says:

        Thank you, I am packager 🙂
        And a question: can you write an applet, which shows the uptime? 🙂
        I think, it would be helpful for some users.

        • rezso says:

          Just two things:
          – the Hungarian language code is hu, instead of hu_HU (po/LINGUAS file),
          – I updated the Hungarian translation, I’ll send for you.

          • Дил says:

            Thank you very much, Rezso! Updated and bumped the version to 0.2.3.

            As of the applet showing uptime, what would you prefer it to look like? Digital clock, something else?

  2. Maurizio says:

    Version 0.2.3 works in FreeBSD 11.0-CURRENT on a Samsung laptop. I have installed it from source, restarted the X session and added the applet to the panel. I am using it for about a week now with no problem.
    Thank you very much.

  3. Sam says:

    I have created a Debian package for mate-lock-keys-applet:

    Currently, it is for amd64 only, but I can build an i386 version too if someone really wants it. If you want to build your own, all you need to do is add the debian folder to the source, modify as needed, and build it:

    • Дил says:

      Thank you, Sam, I’ll take a note of this.

    • Herman says:

      Hi Sam,

      Awesome… it installed and worked immediately.
      Been wanting this for sooooo long on my Pavilion 15 laptop.

      The ‘old fashion’ configure-make-make install of the original package didn’t work, but your package did.

      Thanks again.

  4. Herman says:

    If you are interested:
    I have a HP pavilion 15 (amd64) and tried to use your instructions:
    ./configure && make && make install
    checking for a BSD-compatible install… /usr/bin/install -c
    checking whether build environment is sane… yes
    checking for a thread-safe mkdir -p… /bin/mkdir -p
    checking for gawk… gawk
    checking whether make sets $(MAKE)… yes
    checking whether make supports nested variables… yes
    checking whether NLS is requested… yes
    checking for msgfmt… no
    checking for gmsgfmt… :
    checking for xgettext… no
    checking for msgmerge… no
    checking for style of include used by make… GNU
    checking for gcc… gcc
    checking whether the C compiler works… yes
    checking for C compiler default output file name… a.out
    checking for suffix of executables…
    checking whether we are cross compiling… no
    checking for suffix of object files… o
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ISO C89… none needed
    checking dependency style of gcc… gcc3
    checking build system type… x86_64-unknown-linux-gnu
    checking host system type… x86_64-unknown-linux-gnu
    checking for ld used by GCC… /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld… yes
    checking for shared library run path origin… done
    checking how to run the C preprocessor… gcc -E
    checking for grep that handles long lines and -e… /bin/grep
    checking for egrep… /bin/grep -E
    checking for CFPreferencesCopyAppValue… no
    checking for CFLocaleCopyCurrent… no
    checking for GNU gettext in libc… yes
    checking whether to use NLS… yes
    checking where the gettext function comes from… libc
    checking for gcc… (cached) gcc
    checking whether we are using the GNU C compiler… (cached) yes
    checking whether gcc accepts -g… (cached) yes
    checking for gcc option to accept ISO C89… (cached) none needed
    checking dependency style of gcc… (cached) gcc3
    checking for msgfmt… no
    *** msgfmt not found. Cannot continue.
    make: *** No targets specified and no makefile found. Stop.

    I thought you might want to know. I installed the AMD64 package created by Sam. That installed right away and is working too.

    Since that is based on your initial work – I am reckoning, my thanks for this nice applet.

    • Дил says:

      Hi, Herman,

      The automatic configuraiton script tells you that a requried component is missing in your installation:

      *** msgfmt not found. Cannot continue.

      msgfmt is a message formatting tol used in the process of providing localisation (i.e. messages, menus etc.) in a preferred (local) language. If you’re using Debian or a derivative, try to run ‘apt-get install gettext’ (as super-user). For other distros, try a package with the same name.

  5. rezso says:


    I found just now the new version.
    The 0.2.3 and the current 0.2.4 versions are contains a bug: the „Settings” option name in the right-click menu doesn’t uses the translations, because of wrong order in the array.

    Current, bad order:

    { “Settings”, GTK_STOCK_PROPERTIES, “_Settings”, NULL, NULL, G_CALLBACK (settings_cb) }

    The good order:

    { “Settings”, GTK_STOCK_PROPERTIES, NULL, “_Settings”, NULL, G_CALLBACK (settings_cb) }

    In addition, the old, commented array elements are removeable 🙂

  6. Pingback: Mate Applet Lock Keys (pacchetto debian) – Franco Bersani HomePage

  7. alexpl says:


    Do you have any plans to port this applet to gtk3?

    • Дил says:

      Unlikely as the default MATE notification are already has this feature. To enable it:
      gsettings set org.mate.peripherals-keyboard-xkb.general duplicate-leds true

  8. dimitreej says:

    Hi! Have tried the newest version 0.2.4. Finally, build is ok, but I can’t add it to panel – it’s absent in available applets’ list. even after reboot. What am I doing wrong? Can you help?
    Thanks a lot!
    linux mint 18.1 mate 64bit

  9. Ignacio says:

    Fantastic piece of software, I use it with my K360 which only has a Caps Lock LED. What would make it even more awesome would be to optionally have an event sound played (with libcanberra?) any time a lock key was pressed.

    • Дил says:

      Thanks, I use it on my K330 which has no LEDs at all (cordless, they likely decided to conserve batteries). Guess we’re al fans of Logitech? Sound is an interesting option. Do you know that MATE has a similar function (LED status indicator in system tray) built-in? It might be more convenient than using an external applet.

  10. Palos says:

    Great work, thank you.
    I use this applet instead of the built-in indicator, because I want to display only one indicator – for CapsLock (I have small notebook without numeric keyboard). But the GTK3 version displays always all 3 indicators (built on Fedora 26 with GTK3). On Fedora 24 with GTK2 it works as expected.

    • Дил says:

      Hi, Palos,

      Interesting report, thank you. I’ll check the GTK3 version. The truth is that the original code was not mine, but I ported it to MATE and then added GTK3 support – so some things may indeed differ.

  11. Grim says:

    Hello, I encountered a problem installing it on my LMDE 3: the package is called “libmate-panel-applet” instead of “libmatepanelapplet”, so I had to check each file and replace them all. Then I finished “./configure”.
    Later I encountered this when executing “make”:

    CDPATH=”${ZSH_VERSION+.}:” && cd . && /bin/bash /home/grim/mate-applet-lockkeys-0.3.2/missing aclocal-1.15
    configure.ac:85: error: AC_SUBST: `libmate-panel-applet_4_CFLAGS’ is not a valid shell variable name
    ../../lib/autoconf/general.m4:1522: AC_ARG_VAR is expanded from…
    /usr/share/aclocal/pkg.m4:139: PKG_CHECK_MODULES is expanded from…
    configure.ac:85: the top level
    autom4te: /usr/bin/m4 failed with exit status: 1
    aclocal-1.15: error: echo failed with exit status: 1
    Makefile:431: recipe for target ‘aclocal.m4’ failed
    make: *** [aclocal.m4] Error 1

    I don’t know what to do next. Can you help?

  12. beaker says:

    I am so far unsuccessful getting mate-applet-lockkeys working on LMDE 4 + Mate 1.20.4 with the defaults selected by ‘configure’. It seems to build and install okay under /usr/local/ but apparently mate-panel fails to check /usr/local/* and the applet never appears in the “+ Add to Panel..” list of applets.

    Any hints on how to fix?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.