HelpPopup

Introduction
Some time ago, began to catch myself thinking, that I do not remember certain keys for some program. When you remember basic, it still did not go, but at the same vim their more then 100, that you will agree, is almost impossible to remember.

So, I think that would not prevent what some help on hotkeys applications. Now, you can see result.

This module allows typing keybinding show notify with help, it does not matter the console or graphic application. Еhe module will define the name of application and will show for it the help.

However, there is limitation, if in console you are stopped one of programms (Ctrl+Z), the script sometimes strays, have not been able to solve ((.

But at the same time have succeeded in, if such a mc open file for editing vim or nano and exist suited help file, then it will be displayed by him.

It looks like the following:

Setting Up
https://github.com/FaiverBES/Awesome-help

That module work in Awesome 3.4 and 3.5 Clone repository: git clone https://github.com/FaiverBES/Awesome-help.git ~/.config/awesome/help

Add in top of your rc.lua: require ("help/help")

If you are using either terminal than Xterm, UXTerm, Rxvt, URxvt, Konsole, then add its class to value termClass in help.lua. For get class of client, you can type in console, and click on them: xprop | grep CLASS Class is the second value in quotes.

Now, module will be able to look which program is running in the terminal, and if it has a help file, display it.

If your language different from the English, change value lang to your own language. And add same folder in data.

In order that it was possible to hide the notification message add in rc.lua the following code:: local help_nofify = nil function notifyHide(mynotification)   --destroy notification by id        if mynotification ~= nil then naughty.destroy(mynotification) return nil else return true end end

Now just add a module call. To do this, in your rc.lua clientkey section, add the following code: awful.key({ modkey,}, "z", function (c)                              if notifyHide(help_notify) then                                help_notify = help.getClientName(c)                              else                                help_notify = nil                               end                              end) , awful.key({ modkey, "Shift"}, "z", function                                     if notifyHide(help_notify) then                                       help_notify = help.displayHelp("Awesome")                                     else                                       help_notify = nil                                     end                                    end) Now when you press Mod4 + z will be the application definition and display prompts for it (if any). And when you Mod4 + Shift + z will see help for Awesome. By pressing these keys as a notification will be hidden, or you can click on it.

In addition, I can offer more to create a menu and place it for example in systray, so that you can manually call any help (eg, you can add a help file on regular expressions, or shell commands, etc.). helpLauncher = awful.widget.launcher({ image=beautiful.help_icon, --create theme.help_icon in your theme.lua                                     menu = help.helpMenuGenerate }) Then add the widgets section of your helpLauncher.

Help files
Files with the help located in the data directory and have the same name as the application. If it's not exitst, you give message with it name (note, name of application are case-sensitive). So, you can create help file for your application.

The syntax is very simple: == - section title '' - allocated positions The names of the sections following keys and their descriptions by a dash (-). Note that the keys are not used dash.

Note: don't using symbol of another(not English) languages (left side of string, before -), because their size 2byte and there is an incorrect alignment.

Contact
If you have some problem, [mailto:evg.bichan@yandex.ru write me] about it, with subject "Awesome module help". Also I will be glad if you send your files of helps, for filling base. ))