===== HERBSTLUFTWM =====

Copyright 2011 Thorsten Wißmann. All rights reserved.

This software is licensed under the "Simplified BSD License".
See LICENSE for details.

==== Requirements ====
Build dependencies:
    - build-environemnt (gcc/other compiler, make)
    - asciidoc
Runtime dependencies:
    - bash (if you use the default autostart file)
    - glib >= 2.24
    - libx11

==== Help/Support/Bugs ====
A list of known bugs is listed in BUGS. If you found other bugs or need help
(or want to make suggestions about the internal structure to provide a
statusbar with dzen2), then contact:
    Thorsten Wißmann <edu _at _ thorsten _minus_ wissmann _dot_ de>
or join the IRC channel:
    #herbstluftwm on irc.freenode.net

==== Steps with installing ====
# as user
make
# as root
make PREFIX=/usr ETCDIR=/etc install
# as user
mkdir -p ~/.config/herbstluftwm/
cp /etc/xdg/herbstluftwm/autostart ~/.config/herbstluftwm/autostart

==== First steps without installing ====
# 1. compile it
make
# 2. copy ipc-client/herbstclient to a bin-folder or adjust path in autostart file
# 3. copy default autostart file to the config-dir (~/.config/herbstluftwm/)
mkdir -p "$XDG_CONFIG_HOME/herbstluftwm"
cp share/autostart "$XDG_CONFIG_HOME"/herbstluftwm
# 4. add the share/herbstclient-completion to your /etc/bash_completion.d/ folder
#    or source it in your bashrc
# 5. run it in a session that has no windowmanager yet

==== Internal structure ====
The internal structure of herbstluftwm is as follows:

all boxes are C-Modules (e.g. $name.c-files)


                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                           X11                                                                                                      
                            |                                                                                                       
                            V                                                                                                       
                        +--------+  key  +-----+ call  +---------+                                                                  
                        |  main  |------>| key |------>| command |                                                                  
                        +--------+ event +-----+       +---------+                                                                  
                            \                    output /  ^                                                                        
                     IPC-Call\      +------------+<----'  / Execute                                                                 
                      -Window `---->| ipc-server |-------'  IPC-Call                                                                
                        -Event      +------------+                                                                                  
                                           |                                                                                        
                                           V                                                                                        
                                          X11                                                                                       
herbstclient is rather simple:

 Command-Line-   +------+
   Arguments --->| main |----.
                 |      |   X11
    stdout  <----|      |<---'
                 +------+





// vim: nowrap
