Echinus was originally a simple fork of dwm, designed to simplify the syntax by adding a configuration file ~echinusrc in ~/.Xdefaults format. But there is now a window manager in its own right. encoded by Alexander Polakov, it offers management windows tiling/floating in the line of dwm.
echinus organizes the windows in tiling mode: into two areas, the master and the stack or tile. client "principal" holds the master while other customers are piling up in the stack according to a predefined layout. echinus has no panel, menu or other gadgets.
specificities:
echinus is launched by the ~/bin/start/echinus_start.sh script.
to change startup applications, simply edit this file
echinus session has several elements:
to configure dzen2, you have to edit the conky piped to dzen2 :
to configure fbpanel, edit its configuration file
if you want to add plugins, please visit the dedicated page.
livarp menu is handled by compiz-deskmenu, it includes a graphical editor. please visit the dedicated page.
to configure tint2, you have to edit its configuration file
for more infos about tint2, visit the dedicated page.
echinus is configured by its ~/.echinus/echinusrc. this file is written in ~/.Xdefaults format and is easily understandable. here is a commented example:
! ---------------------- ! file: ~/.echinus/echinusrc ! echinuswm configuration file ! vim:fenc=utf-8:nu:ai:si:et:ts=4:sw=4:ft=xdefaults: ! -------------------------------------------------- ! focus client border color Echinus*selected.border: #262626 ! focus client titlebar button color Echinus*selected.button: #d3d7cf ! focus cleint titlebar color Echinus*selected.bg: #262626 ! focus client titlebar font color Echinus*selected.fg: #d3d7cf ! border color Echinus*normal.border: #262626 ! buttons color Echinus*normal.button: #262626 ! titlebar color Echinus*normal.bg: #262626 ! titlebar font color Echinus*normal.fg: #b0b4ac ! border with in pixels Echinus*border: 1 ! path of the button directory, to be placed in ~/.echinus/ Echinus*button.iconify.pixmap: iconify.xbm Echinus*button.maximize.pixmap: max.xbm Echinus*button.close.pixmap: close.xbm ! cursor behaviour: ! options: 0:click to focus, 1:focus-follow for floating clients, ! 2:focus-follow, 3:focus-follow-raise Echinus*sloppy: 0 ! client opacity. the focused window stay opaque (1) ! you need a composite manager as xcompmgr Echinus*opacity: 0.8 ! free titlebar (0/1) Echinus*decoratetiled: 0 ! hide bastards... panels, widgets, docks (0/1) Echinus*hidebastards: 0 ! master area percent (0.5=moitié de l'écran) Echinus*mwfact: 0.6 ! number of client in the master area Echinus*nmaster: 1 ! titlebar height in pixels Echinus*title: 12 ! font to use Echinus*font: fixed-9 ! modkey: A:Alt, W:Super, S:Shift, C:Control Echinus*modkey: A ! default layout: ! options: i:ifloating, f:floating, t:tiled, b:bottomstack, m:maximized ! ifloating vs floating: f=client opens on top-left corner, i= smart placement Echinus*deflayout: i ! number of tags (virtual desktops) Echinus*tags.number: 7 ! tags names Echinus*tags.name0: main Echinus*tags.name1: web Echinus*tags.name2: doc Echinus*tags.name3: dev Echinus*tags.name4: scr Echinus*tags.name5: gfx Echinus*tags.name6: misc ! tags default layout Echinus*tags.layout1: m Echinus*tags.layout3: b ! toggle hide panels, pager, widgets Echinus*togglestruts: A + b ! switch monitor Echinus*togglemonitor: A + grave ! focus previous/next client Echinus*focusnext: A + j Echinus*focusprev: A + k ! display previous tag Echinus*viewprevtag: A + Tab ! display left/right tag Echinus*viewlefttag: AS + Left Echinus*viewrighttag: AS + Right ! quit echinus Echinus*quit: CA + q ! reload echinus: read the ~/.echinus/echinusrc file Echinus*restart: AS + q = echinus ! close client Echinus*killclient: AS + c ! toggle free the client Echinus*togglefloating: A + space ! put client in master area Echinus*zoom: A + Return ! display tag 'n' Echinus*view0: A + F1 Echinus*view1: A + F2 Echinus*view2: A + F3 Echinus*view3: A + F4 Echinus*view4: A + F5 Echinus*view5: A + F6 ! tag client with tag 'n' Echinus*tag0: AS + 1 Echinus*tag1: AS + 2 Echinus*tag2: AS + 3 Echinus*tag3: AS + 4 Echinus*tag4: AS + 5 Echinus*tag5: AS + 6 ! ?? Echinus*toggletag0: CAS + 1 Echinus*toggletag1: CAS + 2 Echinus*toggletag2: CAS + 3 Echinus*toggletag3: CAS + 4 Echinus*toggletag4: CAS + 5 Echinus*toggletag5: CAS + 6 ! toggleview the tag 'n' Echinus*toggleview0: CA + 1 Echinus*toggleview1: CA + 1 Echinus*toggleview2: CA + 1 Echinus*toggleview3: CA + 1 Echinus*toggleview4: CA + 1 Echinus*toggleview5: CA + 1 ! swap with the tag 'n' and tag the cleint with the tag 'n' Echinus*focusview6: A + s ! layout Echinus*setlayoutm: A + m Echinus*setlayoutf: A + f Echinus*setlayouti: A + i Echinus*setlayoutt: A + r Echinus*setlayoutb: A + w ! move & resize !Echinus*moveright: A + d = 5 !Echinus*moveleft: A + a = -5 !Echinus*moveup: A + w = 0 -5 !Echinus*movedown: A + s = 0 5 !Echinus*resizedecx: AS + a = 0 0 -5 0 !Echinus*resizedecy: AS + s = 0 0 0 -5 !Echinus*resizeincx: AS + d = 0 0 5 0 !Echinus*resizeincy: AS + w = 0 0 0 5 ! decrease the client from 5px Echinus*resizedecx: AS + a = 0 0 -5 0 Echinus*resizedecy: AS + s = 0 0 0 -5 ! increase the client from 5px Echinus*resizeincx: AS + d = 0 0 5 0 Echinus*resizeincy: AS + w = 0 0 0 5 ! shortcuts (64maxi). format: ''SCW' + 'key' ! A:Alt, S:Shift, C:Control, W:Super Echinus*spawn0: A + t = xterm Echinus*spawn1: AS + t = xterm -title root-terminal -e su ! increase/decrease master area Echinus*decmwfact: A + h = -0.05 Echinus*incmwfact: A + l = +0.05 ! increase/decrease client number in the master area Echinus*decnmaster: AS + j = -1 Echinus*incnmaster: AS + k = +1 ! command executed with right-click on desktop Echinus*command: xterm ! rules ! format: Echinus*rule#: 'Window class|Window title' 'tag' 'isfloating' 'hastitle' Echinus*rule0: Firefox.* web 0 1 Echinus*rule4: Mplayer.* NULL 1 1 Echinus*rule5: Gimp.* gfx 1 1
dwm is fully controllable from the keyboard: control, launchers, navigation, tags and clients manipulation...
configuration stands in ~/.echinus/echinusrc, here is the default list: