Wmii extended with lua scripts
License
bartman/wmii-lua
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
wmii-lua copyright (c) 2007 Bart Trojanowski <bart@jukie.net> website - http://www.jukie.net/~bart/blog/tag/wmiirc-lua irc - #wmiirc-lua on oftc.net email - http://groups.google.ca/group/wmii-lua source - http://github.com/bartman/wmii-lua Abstract -------- wmii [1], window manager improved-improved, is a dynamic window manager for X11. It supports classic and tiled window management with extended keyboard, mouse, and 9P-based [2] remote control. wmii-lua [3] implements an "event loop" script for the wmii window manager. The goals of the project are to - be fast, small, feature rich, and extensible through plugins, - avoid threading and polling at all costs, and - replicate the functionality of wmii+ruby. As the name suggests the script is written in Lua. Before writing it I was a happy user of wmii+ruby. Happy, until powertop [4] was written. Powertop told me that ruby was the number 1 reason my battery life sucked. I chose lua because it helps me achieve the first and second goals. Requirements for wmii-lua ------------------------- The following are required to build wmii-lua project: - lua5.1 - liblua5.1 - liblua5.1-posix0 - patience (no, it's not a package) Naturally, wmii-lua depends on wmii. It also depends on libixp, which is used to communicate with wmii. Both of these projects come from suskless.org and are tracked upstream using mercurial. You are free chose how you wish to get libixp and wmii: - from your distribution - from wmii-lua's extra packages - from suckless.org's mercurial repositories Your distribution may have upto date libixp and wmii. Great. The easiest way to build libixp and wmii from source is to use the git submodules of this repository. But that assumes that you have received this project in a form of a git repository from the above URL. More on this under "building" below. Installing prerequisites ------------------------ If you are running Debian (or derivative) these steps may help you: apt-get install git-core \ build-essential debhelper \ libx11-dev libxext-dev libxt-dev \ libxrandr-dev libxinerama-dev \ lua5.1 liblua5.1-0-dev \ liblua5.1-posix1-dev \ dwm-tools xclip dstat pkg-config Note that liblua5.1-posix1 may actually be liblua5.1-posix0 or someother suffix. Please check what's available on your platform. apt-get build-dep libixp wmii Note that you will need *deb-src* lines in your `/etc/apt/source` config file. Without the build-dep will not work. If you chose to work on plugins, you can install all lua packages like this: apt-cache search lua5.1 | awk '/liblua5.1/ { print $1 }' \ | xargs sudo apt-get install -y Building & Installation ----------------------- Now that you have the prerequisites installed, you can choose one of the following three options. A. Install in $HOME only This method installs wmii-lua in ~/usr and ~/.wmii-lua only. Ther is no need for super user privileges. # (optional) get the sources git clone git://github.com/bartman/wmii-lua.git cd wmii-lua # (optional) configure where things go make config.mk vim config.mk # (optional) build and install libixp and wmii make ext-update make ext-install-user sed -i -e 's,^IXP_PREFIX.*,IXP_PREFIX = ${HOME}/usr,' config.mk # build and install wmii-lua make install-user B. Install system wide # (optional) get the sources git clone git://github.com/bartman/wmii-lua.git cd wmii-lua # (optional) configure where things go make config.mk vim config.mk # (optional) build and install libixp and wmii make ext-update make ext sudo make ext-install # Build wmii-lua as anyone make # Installing software in system directories as root sudo make install # Setting up $HOME for wmii-lua install-wmiirc-lua C. Make a Debian package # (optional) get the sources git clone git://github.com/bartman/wmii-lua.git cd wmii-lua # Switch to the debian branch git checkout -b debian -t origin/debian # Build the .deb make deb # Install deb sudo debi # Setting up $HOME for wmii-lua install-wmiirc-lua Running wmii ------------ wmii-lua is now ready to run, but you still have to make wmii your window manager. You can do this by running the wmii executable from .initrc or .xsession... your choice. cat ~/.xinitrc wmii-lua or cat ~/.xsession exec wmii-lua Note: the base configuration uses Mod4 -- the windows key on PC keyboards -- for some of the binding. If your keyboard, like my Thinkpad's, does not have a windows key you can "make one" with xmodmaprc. See: contrib/remap-caps-ctrl-mod4 Configuration ------------- All configuration of wmii-lua is done by editing the ~/.wmii-lua/wmiirc file. See doc/configuration for more help on configuring wmii-lua. wmii-lua supports all the keyboard shortcuts of wmii's shell wmiirc, some of the features of wmii+ruby, as well as some additional ones. See the doc/key-bindings for information on how to control wmii with the extended key bindings wmii-lua provides. More advanced users may also write plugins for wmii-lua using the plugin API. Plugins live in ~/.wmii-lua/plugins/ directory, and several come with this package. See the wmii.3lua man page, and doc/plugin-api for more information about how to write code for wmii-lua. make man man ./wmii.3lua Credits ------- The following people have contributed especially to wmii-lua in various ways. They are copyright holders of their respective contributions. - Bart Trojanowski <bart@jukie.net> - Dave O'Neill - Jean Richard - David Leadbeater - Jan-David Quesel - Stefan Riegler - Sytse Wielinga Credits ------- wmii-lua is licensed under GPLv2. References ---------- [1] http://www.suckless.org/ [2] http://www.cs.bell-labs.com/sys/man/5/INDEX.html [3] http://www.jukie.net/~bart/blog/wmiirc-in-lua [4] http://www.linuxpowertop.org # vim:set ft=mkd:
About
Wmii extended with lua scripts
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published