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.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
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