Léxico de TI › Infraestrutura › Scwm

Scwm

Infraestrutura Svenska → Atualizado: 2026-10-08

O Scheme Constraints Window Manager, um gerenciador de janelas para X11 configurado em Scheme que mantinha janelas amarradas entre si por restrições entregues a um resolvedor matemático.

O projeto começou em 1997 na Universidade de Washington, quando Maciej Stachowiak e Greg Badros pegaram o código C do FVWM e trocaram seu arquivo de configuração por um interpretador Guile embutido. Toda a lógica, de atalhos de teclado ao posicionamento de janelas, era escrita em Scheme e podia ser alterada em tempo de execução por uma interface de socket, mais ou menos como o Emacs se relaciona com o elisp. O diferencial estava na segunda palavra do nome. Badros pesquisava resolvedores de restrições, e o Scwm permitia declarar coisas como "esta janela fica sempre à direita daquela" ou "estas duas dividem uma borda", e o resolvedor Cassowary movia as janelas para que todas as restrições valessem.

O Cassowary, que Badros escreveu com Alan Borning, sobreviveu ao gerenciador por muito tempo: o mesmo algoritmo está por trás do Auto Layout da Apple e de vários motores de layout para a web. Stachowiak foi para a Apple e ajudou a criar o WebKit. O Scwm em si desapareceu por volta de 2000, em parte porque GNOME e KDE assumiram o desktop, em parte porque poucos queriam escrever Scheme para mover uma janela. A ideia do gerenciador de janelas como linguagem de programação continuou no Sawfish, no StumpWM e no xmonad, nenhum deles com resolvedor de restrições.

← Voltar ao léxico