lang fr|gb

the echinus session

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.

screenshots

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:

  • very simple configuration file in ~/.Xresources, ~/.Xdefaults format
  • EWMH rules support
  • customizable title bars
  • Xft font support
  • multi-screen support with XRandr

startup

echinus is launched by the ~/bin/start/echinus_start.sh script.
to change startup applications, simply edit this filevim bin/start/echinus_start.shor from the echinus menu:section config:echinus:edit startup script

components

echinus session has several elements:

  • echinus-statusbar: echinus display a clickable statusbar handled by dzen2.(configurable from ~/.conky/.conkyrc_dzen).
  • echinus menu: available from top-left corner and handled by fbpanel. it includes a complete menu of installed applications, configuration section and a systray (configurable from ~/.config/fbpanel/echinus or from the menu itself).
  • livarp menu: available with right-click on desktop and configured with compiz-deskmenu-editor.
  • tint2: the multi-fonction panel is used as simple tasklist.

configuration

to configure dzen2, you have to edit the conky piped to dzen2 : vim .conky/.conkyrc_dzen, from the echinus menu config:echinus:statusbar or from the dzenbar itself: left-click to (un)collapse dzen2, middle-click to reload and right-click to configure. more infos about dzen2 on its dedicated page.

to configure fbpanel, edit its configuration filevim .config/fbpanel/echinusor from the fbpanel menu itself: section config:fbpanel:edit menu.
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 filevim .config/tint2/tint2rc or from the echinus menu:section config:echinus:tint2:edit.
for more infos about tint2, visit the dedicated page.

la configuration de echinus passe par l'édition de son fichier ~/.echinus/echinusrc.

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

keybinds/mousebinds

dwm is fully controllable from the keyboard: control, launchers, navigation, tags and clients manipulation...
configuration stands in ~/.echinus/echinusrc, here is the default list:

menus:

  • menu echinus: top-left corner of the screen
  • menu livarp: right-click on desktop
  • dmenu: Alt+d

control:

  • reload echinus: Ctrl+Alt+r
  • quit echinus: Ctrl+Shift+Alt+q or from the echinus menu:exit

windows:

  • close client: Super+q
  • previous client: Alt+j
  • next client: Alt+k
  • move client: Alt+left-click
  • resize client: Alt+right-click

navigation:

  • previous/next tag: Ctrl+Left/Right
  • goto previous/next screen: Alt+Up
  • display tag 'n': Alt+'Fn'
  • tag client with tag 'n': Alt+Shift+'Fn'
  • toggle view clients tagged 'n': Super+'Fn'

layout

  • increase master area: Alt+l
  • decrease master area: Alt+h
  • increase clients number in the master area: Alt+Shift+j
  • decrease clients number in the master area: Alt+Shift+k
  • tile layout: Alt+t. (master on left, stack on right)
  • bottomstack layout: Alt+s. (master on top, stack on bottom)
  • monocle layout: Alt+m. (clients maximized)
  • floating layout: Alt+f (no layout at all, clients opens on top-left corner)
  • ifloating layout: Alt+i (no layout, smart placement of clients)

launchers:

  • default terminal: Ctrl+Enter
  • launch ranger: Alt+r
  • launch rox-filer: Alt+Shift+r
  • launch luakit: Alt+w
  • launch firefox: Alt+Shift+w
  • launch vim: Alt+e
  • launch geany: Alt+Shift+e
  • launch weechat: Alt+x
  • music player: Alt+z
  • volume control: Alt+v
livarp_0.3.9 help center - arpinux@2012 - sources