Sinto-me iluminado (uma crítica aos gerenciadores de janelas do Linux) – Parte 2

Após uma semana mais ou menos com o Enlightenment, posso dizer que gosto dele, mas que ele ainda não está pronto para uso. Não duvido que quando ele estiver pronto ele será um ótimo gerenciador de janelas / desktop, mas no momento os pequenos defeitos me encomodam.

Pesquisei mais gerenciadores de janelas aqui e ali, mas os que pareciam promissores eram projetos mortos, todos os outros que pareciam interessantes eu já tinha testado e não gostava por um detalhe ou por outro.

Por fim, resolvi fazer o meu próprio gerenciador, baseado no que eu gostava ou não em cada gerenciador que já experimentei (e acreditem, eu já experimentei vários). Se você não quiser ler um pequeno review de cada gerenciador, pule direto para o cabeçalho “O meu”.

Não tilings:

  • Enlightenment: O Enlightenment é um projeto que tem futuro. Não conheço os desenvolvedores do projeto, mas aposto que são perfeccionistas; entretanto, o projeto ainda está em fase alfa, significando que ainda faltam muitas coisas até que ele esteja de fato utilizável.
  • XFCE4: Tem um gerenciador de janelas bom, que permite a utilização de composição, janelas transparentes, de maneira bastante fácil (e bastante leve). Infelizmente, não achei um modo de fazer com que certos programas abrissem em certos desktops virtuais.
  • KDE e GNOME: São os projetos com maior integração entre os programas que os compõe, algo que de certa forma eu sinto falta, mas ambos são monstruosos: mais de 300MB de downloads cada. Além disso, apesar de às vezes eu sentir falta de uma maior integração entre os programas, eu sei que sou minimalista na essência, e que logo me encheria dos dois.
  • Openbox: Eu gosto do Openbox, mas o uso de XML como arquivo de configuração realmente me desanima. Entre os *box, é o mais bonito.
  • Fluxbox: Fluxbox é leve e é relativamente fácil de configurar (se comparado ao Openbox), mas nem mesmo com os melhores temas ele parece ter sex appeal, sempre sinto que estou usando um software arcaico quando estou com ele.
  • PekWM: Um gerenciador de janelas muito bom, reune as qualidades do Openbox (é bonito) e do Fluxbox (é fácil de ser configurado). Entretanto, ele também sofre da síndrome de não parecer um software “terminado”, assim como o Enlightenment.

Além disso, não posso me enganar, os gerenciadores de janela que mais gostam foram os tiling, mas mesmo assim eles não são perfeitos…

Tiling:

  • DWM: Espartano demais. Ele sequer tem um arquivo de configuração propriamente dito, as configurações são feitas em um header (um arquivo .h) e o programa deve ser recompilado para que as alterações tenham efeito.
  • Awesome: Legal, mas seu arquivo de configuração muda mesmo a cada troca de versão menor (de 3.0 para 3.1 mudou, de 3.1 para 3.2 mudou…).
  • Xmonad: Legal, mas é escrito em Haskell, o que faz do GHC uma dependência. Eu não uso Haskell para mais nada, então ter um pacote que ocupa mais de 300MB quando descompactado é exagero.

O meu:

Baseado nisso tudo, resolvi fazer o meu. As idéias principais são:

  • Configurável sem precisar recompilar.
  • O arquivo de configuração em hipótese alguma será em XML.
  • Pequeno número de dependências, e preferencialmente dependências pequenas.
  • Configurável por uma linguagem que permita que o gerenciador seja extensível.
  • A sintaxe do arquivo de configuração não ficará mudando de hora em hora.

O resultado disso tudo é um fork do DWM que usa o ECL para lidar com seus arquivos de configuração. O que isso significa? Que o usuário tem um ambiente Lisp completo para suas configurações.

– Quantos desktops virtuais você quer?
– 5!
– Cinco fatorial? Sem problemas:

(defun factorial (n)
  (if (= n 1)
      1
    (* n (factorial (1- n)))))

(workspaces (factorial 5))

Assim que ele estiver minamente funcional, estarei disponibilizando o código para quem quiser testar.

Publicidade

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: