# A simple CAPS LOCK widget for Awesome Useful when you have a keyboard that does not have a CAPS LOCK indicator. This widget is really simple and parses the output of `xset` to figure out whether CAPS LOCK is active or not. (Hint: you need the `xset` utility for this widget to work) # Installation 1. Ensure that `xset` is available to you on your system. 2. Copy `capslock.lua` in your `~/.config/awesome/ folder` (e.g. by cloning this repository). 3. Restart Awesome (e.g. press `modkey + Control` or run `awesome-client "awesome.restart()"` from a terminal). # Usage For **Awesome 4.x**, add the following to your `~/.config/awesome/rc.lua`: ``` lua -- If you just copied the file in ~/.config/awesome local capslock = require("capslock") -- If you cloned the repo as a submodule in -- ~/.config/awesome/external/capslock -- local capslock = require("external.capslock.capslock") -- more config here -- Add widgets to the wibox s.mywibox:setup { -- more config here { -- Right widgets layout = wibox.layout.fixed.horizontal, wibox.widget.systray(), capslock, -- more config here -- {{{ Key bindings local globalkeys = awful.util.table.join( capslock.key, -- more config follows ``` Now, when CAPS LOCK is active, an uppercase letter **A** will be displayed ![active_capslock screenshot](/screenshots/active_capslock_widget.png?raw=true) when CAPS LOCK is inactive, a lowecase letter **a** will be displayed: ![inactive_capslock screenshot](/screenshots/inactive_capslock_widget.png?raw=true) These can be changed by changing the `activated` and `deactivated` attributes of the widget as [Pango markup](https://developer.gnome.org/pango/stable/PangoMarkupFormat.html) strings. You will probably need to adjust the `forced_width` attribute too. For example: ``` lua local capslock = require("capslock") capslock.forced_width = 35 capslock.activated = "CAPS" capslock.deactivated = "caps" ``` When the mouse is over the widget, a tooltip that says `Caps Lock on`/`Caps Lock off` is also shown. # Contributing If you have ideas about how to make this better, feel free to open an issue or submit a pull request.