Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/polachok/echinus

echinus is a lightweight and easily configurable tiling window manager
https://github.com/polachok/echinus

Last synced: 3 months ago
JSON representation

echinus is a lightweight and easily configurable tiling window manager

Awesome Lists containing this project

README

        

echinus wm.
==========

WARNING: this project is not maintained anymore.

0.Installation
1.Configuration file
2.config.h header
3.About panels and pagers

0.Installation
--------------

You need X11 and Xft headers to compile echinus wm and the pkg-config tool.
Packages containing this stuff are probably named libx11-dev and libxft-dev
(note "-dev" suffix). You need libxrandr for multihead support (can be
disabled in config.mk if not needed). XRandr-enabled binary still works
with single monitor configurations.

# make
# make install

On new install:

% mkdir ~/.echinus
% cp -r CONFDIR ~/.echinus

1.Configuration file
--------------------

Name: ~/.echinus/echinusrc

Main settings

Echinus*deflayout
Layout applied to tag if not explicitly set by tags.layout later.
One of: i - ifloating, f - floating, t - tiled, b - bottomstack, m - maximized.

Echinus*gap

Gap size between tiling windows in pixels.

Echinus*mwfact

Space occupied by master window in tiled layout (fraction of 1).

Echinus*nmaster

Number of clients in master area in tiled layout.

Echinus*sloppy

0 - Click to focus
1 - Sloppy focus for floating clients
2 - Sloppy focus for everything
3 - Sloppy focus + raise on focus

Echinus*modkey

Choose modkey. A for alt, W - winkey, S - shift, C - control

Title settings

Echinus*decoratetiled - boolean (1 or 0)

Draw titles in tiled mode

Echinus*titleposition
Echinus*tagbar
Echinus*tbpos

Were removed for more general interface, see below

Echinus*titlelayout - string

Titlebar consists of 3 parts separated with dashes or
spaces. Left is aligned to left, center to center and
right to right (obviously).

Default value is "N IMC" meaning name on the left
iconify, maximize and close buttons on right (note
2 spaces).

- or ' ' (space) - skip space (space can't be
used as first character)
N - window name
I - iconify
M - maximize
C - close
T - tagbar

Examples:

-T-C - title centered, close button on right

Color settings

Echinus*selected.border
Echinus*normal.border
Echinus*selected.bg
Echinus*normal.bg
Echinus*selected.fg
Echinus*normal.fg
Echinus*selected.button
Echinus*normal.button

border - color of a small border around each window
bg - titlebar background
fg - titlebar foreground
button - button foreground

normal - unfocused window
selected - window in focus

Border settings

Echinus*border

width of the border, in pixels

Button settings

Echinus*button.iconify.pixmap (was: Echinus*button.left.pixmap)
Echinus*button.maximize.pixmap (was: Echinus*button.center.pixmap)
Echinus*button.close.pixmap (was: Echinus*button.right.pixmap)

buttons in the titlebar, left iconifies window, center switch
to monocle (fullscreen) mode, right - close.
~ are not allowed in pathnames.

Opacity

Echinus*opacity

Opacity value for inactive windows, you need xcompmgr running to
see the result.

Terminal app

Echinus*command (was: Echinus*terminal)

Application to run on right window click on root window.

Title

Echinus*title

Titlebar height

Echinus*font

Titlebar font

Tags

Echinus*tags.number

Number of tags

Echinus*tags.name{...}

Names for the tags

Echinus*tags.layout{...}

Layout per tag on start. See deflayout for possible
values

Hacks

Echinus*hidebastards

Set to 1 to hide panels, pagers and others with
togglestruts function.

Keybindings

Format is "[ASCW] + key", where:
A - Alt (mod1)
S - Shift
C - Control
W - Windows key
You can find the list of available keys in keysym.h
and XF86keysym.h files (usually located in
/usr/include/X11/), remove XK_ prefix before use.

Don't miss ' ' (space).

Echinus*togglestruts

Echinus has no bar, but this binding switches the area
on top or bottom which won't be covered by windows in
tiled or monocle mode.

Echinus*togglemonitor

Switch from one monitor to another.

Echinus*focusnext
Echinus*focusprev

Focus next and previous window

Echinus*viewprevtag

View previous tag set

Echinus*quit

Leave echinus

Echinus*restart

Restart echinus

Echinus*killclient

Close window in focus

Echinus*togglefloating

Toggle floating/tiled

Echinus*view#

View tag number #

Echinus*tag#

Tag current window with tag number #

Echinus*toggleview#

Toggle view number #

Echinus*focusview#

Toggle view number # and focus the first client
from it.

Echinus*viewlefttag
Echinus*viewrighttag

View tag on the left(right) of current

Echinus*spawn#: = program

Run specified program. # is less than 64.

Echinus*moveright
Echinus*moveleft
Echinus*moveup
Echinus*movedown

Syntax for this is rather untrivial: x y w h. For example move right for five pixels:

Echinus*moveright: AS + l = +5 0 0 0

Echinus*resizedecx
Echinus*resizedecy
Echinus*resizeincy
Echinus*resizeincx

Same as above, but change second group of values. Resize by y for 5 pixels:

Echinus*resizedecy: AS + v = 0 0 0 -5

Echinus*rule#

Format is " "

2.config.h header
-----------------

Contains default values of options. You probably don't have
to edit it.

3.About panels and pagers
-------------------------

Echinus supports some parts of EWMH, so if the author of the pager knows
what this magical letters mean it *should* work fine.

Known to work:
fbpanel
ipager
ourico

Known to NOT work:
pypanel