Scripting extension for NETWM compliant window managers
Project description
Orcsome is a scripting extension for NETWM compliant window managers. It can help a lot to customize your work environment.
Motivation
I’m old awesome user with two year experience. I like it not for tiling but for lua and ability to tune its behavior. But for a very long time some problems stay unsolved:
Grey swing windows. I was hoping it will be fixed in java7 but no luck.
Input focus for swing windows. Awesome treats such windows as inputless.
Random focus problems. For example sometimes evince or opera save dialog are not take focus.
Simply put, awesome sucks as window manager.
I need a robust wm with long devel history, small, fast, candy and scriptable on normal language (hello fvwm). But there are a plenty of robust, small, fast and candy only wm’s. There is no any scriptable.
So I decide to write tiny wm helper application which will be compatible with many window managers and allow to configure flexible workflows.
Features
Written on python. It means very hackable.
Optimization, cpu and memory efficiency are top goals (cffi is used for xlib bindings).
Extensive use of python syntax to provide easy and expressive eDSL in configuration script.
Supports NETWM standards.
Very thin wrapper around X. You can use existing xlib background.
Installation
From PyPI
I’m regularly upload packages of new versions. So you can install orcsome with easy_install:
sudo easy_install orcsome
or pip:
sudo pip install orcsome
From source
git clone --depth=1 git://github.com/baverman/orcsome.git cd orcsome python setup.py build sudo python setup.py install
If you often pull changes from master brunch I recommend you following recipe:
First install orcsome in develop mode (remove any orcsome dirs in site-packages before that):
sudo python setup.py develop
Then, if you want use latest version from master branch simply do:
cd cloned/orcsome/dir git pull
ArchLinux
There is orcsome package in AUR.
Documentation
Quick start
The most common functionality needed is to bind hot keys to spawn or raise applications.
Edit ~/.config/orcsome/rc.py:
from orcsome import get_wm from orcsome.actions import * wm = get_wm() wm.on_key('Shift+Mod+r')( restart) wm.on_key('Ctrl+Alt+p')( spawn_or_raise('urxvtc -name ncmpcpp -e ncmpcpp', name='ncmpcpp')) wm.on_key('Mod+n')( spawn_or_raise('urxvtc -name mutt -e mutt', name='mutt')) wm.on_key('Mod+k')( spawn_or_raise('urxvtc -name rtorrent -e rtorrent-screen', name='rtorrent'))
And start orcsome. That’s all.
TODO
Tests
Python3 port
API to configure window geometry
Layouts (tiling)
Multiple screens
Contacts
You can create issues on github.
Or mail directly to bobrov at vl dot ru.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file orcsome-0.6.tar.gz
.
File metadata
- Download URL: orcsome-0.6.tar.gz
- Upload date:
- Size: 34.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8769a21b062046c5c51c6a2c95e3364dd66bc537283e3669f58950de79bcc57a |
|
MD5 | bd7f4a03f86fe431a5621994b65aa87d |
|
BLAKE2b-256 | 63fe198d392fab847d7479fe040e08f9cc658ad5e73e75b2b9953f23078e0f6e |