spectr/scrotwm est un gestionnaire de fenêtres de type tiling inspiré par xmonad et dwm. spectrwm a été écrit par des hackers pour des hackers et tente de rester rapide, léger et compact.
spectrwm est en constant développement et demande encore quelques améliorations, mais ça ne l'empêche pas d'être un gestionnaire de fenêtres très rapide et hautement configurable.
spectrwm est un tiling window manager, c'est à dire qu'il affiche vos fenêtres (clients) afin qu'elles occupent la totalité de la surface du bureau (tags). les clients sont organisés de différentes façons (layouts) pour optimiser la visibilité de vos applications ouvertes.les layouts s'organisent autour du Master (zone principale) et du Stack (zone d'empilement des autres clients).
spectrwm est lancé par le script ~/bin/start/spectrwm_start.sh.
pour changer vos applications lancées au démarrage, éditer ce fichier:
la session spectrwm du livarp dispose de plusieurs éléments:
pour conky, il faut éditer son conkyrc:
pour fbpanel, il faut éditer son fichier de configuration
si vous désirez ajouter des plugins, visitez la page dédiée.
le fichier est facilement compréhensible et en partie traduit sur livarp. je vous livre le fichier par défaut de la session spectrwm du livarp_0.4:
# PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE! # http://opensource.conformal.com/cgi-bin/man-cgi?spectrwm # colors for focussed and unfocussed window borders # NOTE: all colors in this file are in hex! see XQueryColor for examples # couleur de la bordure du client ayant le focus color_focus = rgb:0/68/8b # couleur de la bordure des clients en arrière plan color_unfocus = rgb:24/24/24 ## bar settings # afficher la barre bar_enabled = 1 # épaisseur de la bordure de la status bar. pas de bordure si 0 bar_border_width = 0 # couleur de la bordure de la status bar sur l'écran x bar_border[1] = rgb:0/68/8b # couleur de fond de la status bar sur l'écran x bar_color[1] = grey12 # couleur de la police de la status bar pour l'écran x bar_font_color[1] = rgb:0/68/8b # police utilisée pour la status bar. format Xft ou X Logical Font Description(XLFD). # vous pouvez spécifier plusieurs polices séparées par ”,”. # si une des polices est en XFT, elle sera utilisée par défaut. # notez que dmenu n'utilise pas les polices XFT bar_font = snap # script externe à lancer pour un affichage dans la status bar bar_action = spectrwm_status.sh # temps de rafraichissement de la barre bar_delay = 1 # alignement du texte de la status bar. valeurs: left, center, et right bar_justify = left # place la status bar en bas de l'écran bar_at_bottom = 0 # afficher la disposition dans la status bar stack_enabled = 1 # affiche l'heure dans la status bar clock_enabled = 0 # format d'affichage de l'heure clock_format = %a %d/%m %I:%M %P # afficher le titre du client dans la status bar title_name_enabled = 1 # afficher la class du client dans la status bar title_class_enabled = 0 # affiche le nom du client, limité à 64 caractères window_name_enabled = 0 # précise l'affiche de la disposition dans la status bar verbose_layout = 0 # mode du focus. valeurs: default, follow et manual focus_mode = default # n'affiche pas la bordure si la status bar est masquée et qu'il n'y a qu'un seul client disable_border = 1 # épaisseur de la bordure des clients. pas de bordures si 0 border_width = 1 # notification des clients urgents urgent_enabled = 0 # spawn app program[term] = urxvtcd program[screenshot_all] = screenshot -a program[screenshot_wind] = screenshot -w program[lock] = xscreensaver-command -lock program[initscr] = initscreen.sh program[menu] = dmenu_run -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_font_color -sf $bar_color -p exec: spawn_term = urxvtcd # ratio des boites de dialogue. entre .3 et 1 dialog_ratio = 0.3 # Split a non-Xrandr dual head setup into one region per monitor # (non-standard driver-based multihead is not seen by spectrwm) # region = screen[1]:1280x1024+0+0 # region = screen[1]:1280x1024+1280+0 # Launch applications in a workspace of choice # autorun = ws[1]:x-terminal-emulator # autorun = ws[2]:xxxterm http://www.openbsd.org # workspace layout # layout = ws[1]:4:0:0:0:vertical # layout = ws[2]:0:0:0:0:horizontal # layout = ws[3]:0:0:0:0:fullscreen # mod key, (windows key is Mod4) (apple key on OSX is Mod2) # modkey = Mod1 # Clear key bindings and load new key bindings from the specified file. # This allows you to load pre-defined key bindings for your keyboard layout. #keyboard_mapping = ~/.spectrwm_fr.conf # quirks # remove with: quirk[class:name] = NONE # quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV # quirk[OpenOffice.org 2.4:VCLSalFrame] = FLOAT # quirk[OpenOffice.org 3.0:VCLSalFrame] = FLOAT # quirk[OpenOffice.org 3.1:VCLSalFrame] = FLOAT # quirk[Firefox-bin:firefox-bin] = TRANSSZ # quirk[Firefox:Dialog] = FLOAT # quirk[Gimp:gimp] = FLOAT + ANYWHERE # quirk[XTerm:xterm] = XTERM_FONTADJ # quirk[xine:Xine Window] = FLOAT + ANYWHERE # quirk[Xitk:Xitk Combo] = FLOAT + ANYWHERE # quirk[xine:xine Panel] = FLOAT + ANYWHERE # quirk[Xitk:Xine Window] = FLOAT + ANYWHERE # quirk[xine:xine Video Fullscreen Window] = FULLSCREEN + FLOAT # quirk[pcb:pcb] = FLOAT # EXAMPLE: define firefox program and bind to key # program[firefox] = firefox http://spectrwm.org/ # bind[firefox] = MOD+Shift+b # livarp default keybinds program[firefox] = firefox http://arpinux.org/livarp_start program[ranger] = urxvtcd -e ranger program[rox] = rox-filer program[vim] = urxvtcd -e vim program[geany] = geany program[mocp] = urxvtcd -e mocp program[mixer] = urxvtcd -e alsamixer program[help] = urxvtcd -e spectrwm_keys.sh bind[firefox] = Mod4+w bind[ranger] = Mod4+r bind[rox] = Mod4+Shift+r bind[vim] = Mod4+e bind[geany] = Mod4+Shift+e bind[mocp] = Mod4+z bind[mixer] = Mod4+v bind[help] = Mod4+h
spectrwm est entièrement pilotable depuis le clavier: control, lanceurs, navigation, manipulation des tags et clients...
les raccourcis clavier/souris sont définis dans le fichier ~/.spectrwm.conf.
pour la liste complète des raccourcis et des possibilités de spectrwm, consulter la man, le wiki fr en ligne ou le pdf situé dans votre dossier ~/docs.