/awesomerc-ierton

ierton's awesome config

Primary LanguageLua

Hi! This project grows from my attempt to setup awesome.

INSTALL
=======

0. Config set uses lots of third-party programs. Here is some of them:

* rfkill
* inotail
* sensors
* iwevent
* inotifywait
* pkill
* acpitool
* notify-send
* xkb-switch (see http://github.com/ierton/xkb-switch)
* Search for "Environment programs" in rc.lua for more
* xvkbd for laptop branch

and some well-known files

* /var/log/messages (logger should be configureg to not flood it)
* /proc/mounts
* /etc/mtab

Also rfkill pipelet uses hardcoded WIFI_RFKILL_ID value. Change it to one your
wifi card uses (see rfkill list). Well, all pipelets are hackish a bit .

1. git clone git@github.com:ierton/awesomerc-ierton.git

2. mv ~/.config/awesome ~/.config/awesome.old

3. ln -s `pwd`/awesomerc-ierton ~/.config/awesome


DIRECTORY STRUCTURE
===================

The directory structure of config:
.
|-- README                          This file
|-- freedesktop                     Freedesktop-menu from Gustavo Dutra.
|                                   http://github.com/terceiro/awesome-freedesktop/tree
|-- memory.data                     This is kind a DB or "registry" to store client settings
|-- myrc                            Directory with my config libs
|   |-- keybind.lua                 Library for defining key sequence
|   |-- mainmenu.lua                Main menu generator
|   |-- memory.lua                  Registry routines (client states are saved here)
|   |-- tagman.lua                  Tag routines (renaming, adding, deleting, ...)
|   `-- themes.lua
|-- rc.lua                     		This is main config
|-- table.save-0.94.lua
|-- pipelets.lua                    Piplets library
|-- themes                          Theme collection
|   |-- blue-black-red              My current theme files are here
|   |   |-- theme.lua               My current theme config
|   |   `-- titlebar
|   `-- ... more
|                                   Another default theme
|-- pipelets
|   |-- date                        Russian-language date pipelet
|   |-- mmount                      Mount info pipelet
|   |-- batmon                      Battery info pipelet
|   `-- more
|-- tsave.lua -> table.save-0.94.lua
|                                   Main thing for registry to work
|-- icons                           Some common icons
`-- wallpapers                      Wallpaper collection

PIPELETS
========

This config uses pipelets to post some information into widgets.
pipelet is a program (shell script), which is "conected" 
with widget via pipe. 

All plumbery is hidden in the ./pipeman script. It translates stdout
of its children into awesome calls.

See rc.lua for details and examples.

DEFAULT KEYBINDINGS
===================

Here are some default bindings:

Client keys
-----------

altkey+1 - prev client
altkey+j - prev client
altkey+2 - next client
altkey+k - next client
altkey+tab - toggle last 2 active clients
altkey+3 - begin client manipulation menu (tooltip will appear)

Tag keys
--------

altkey+F1 - jump to one tag left
altkey+F2 - jump to one tag right
modkey+F1 - move focused client one tag left
modkey+F2 - move focused client one tag right
modkey+tab - switch to previous tag
altkey+F3 - begin tag manipulation menu (tooltip will appear)

Other
-----

altkey+Esc - show main menu
altkey+e - begin mpd manipulation menu (tooltip will appear)

There are vim style keybindings defined for menus 
(hjkl - move, o - open, x - back, Enter - open)


TODO 
====

*) Add client reordering
*) Implement M$Windows alt+tab functionality (don't know how to 
   capture altkey release event)
*) Add some online translator support

--
Thanks for your interest! 
Please Mail bugs/patches to ierton@gmail.com.
Sergey.