rwma - ruby window manager addons TOC: 0. Introduction 1. Instalation 2. Configuration 3. Commands 4. Usage 0. Introduction =============== RWMA is a modular system for adding various keyboard driven actions to (usually minimalistic) window managers, inspired by ruby-wmii. It's main purpose is launching programs and notification displaying but can be expanded with plugins. It is somewhat similar to Gnome Do or Enso (on Windows). It uses dmenu and dzen for user input/output. Basically, it is a Ruby script that is started with window manager, which receives commands via named pipe. Sending commands to rwma is usually binded to keyboard shortcuts (using window manager settings or xbindkeys) Plugins are placed in one of modules directories: * modules directory inside rwma directory * /usr/share/rwma/modules * ~/.rwma/modules For information on how to write plugins look at the modules/PluginSample.rb file. Requirements: ruby (tested on ruby 1.8.7 and 1.9.1) dmenu dzen mechanize gem (install it with "gem install mechanize" as root - needed only for EUdict plugin) RWMA is written by Igor Brkic and distributed under GPLv3 licence. 1. Installation =============== This section only applies if you are installing rwma by hand. First make sure you have all the dependencies installed (mechanize is currently used only for EUdict translation plugin). Unpack archive to desired location: tar xvzf rwma-.tar.gz cd rwma- Make rwma executable it it isn't chmod +x rwma chmod +x rwma-command Copy sample configuration file to your home folder: cp rwma.yaml.sample ~/.rwma.yaml Create FIFO pipe (its location can be changed in config file): mkfifo ~/.rwma_fifo Proceed with configuration. If you want to see rwma in action with default configuration, edit FIFO file path in configuration file and then run rwma. in other terminal go to the rwma directory and type './rwma-command menu' It is important to set valid font in configuration file. Otherwise dzen otput will not work. 2. Configuration ================ Sample config file has a lot of comments inside, but syntax will be explained here too. It must be placed in ~/.rwma.yaml Config file is in YAML format and is pretty much self explaining. Indentation IS VERY important! You can use tabs or spaces but try to be consistent. Words that are prefixed with colon (:) are keywords, and that colon is important (do not remove it). Sample config file can be found in rwma tarball or /usr/share/rwma directory (if installed via package manager). Config file contains four main sections: :main, :plugins, :visuals and :menu. Each section has some required and some optional entries. :main In this sections basic things are defined. First thing that is required is to define full path to FIFO pipe that will be used for communication. Path must be absolute (ie without ~). In this section you can also define what type of logging do you want. This entry is not required and 'none' is default option. For most purposes this will be OK. If you're having problems with rwma it is good to enable logging. Possible options are stdout, stderr and file (log will be written to