DWM, um dos gerenciadores de janela mais eficientes

Tenho usado gerenciadores de janelas muito leves há alguns anos. Eu comecei com Fluxboxem seguida OpenBox ao instalar a distribuição CrunchBang, disso eu fui para xmonad e por ultimo, DWM, o gerenciador de janelas no qual o Xmonad é baseado. Na verdade, o Xmonad é um clone DWM escrito em Haskell em vez de C.

Dito isso, acho que tentei com alguns gerentes chegar à conclusão (pessoal, é claro) de que o DWM é, sem dúvida, o melhor de todos, especialmente em termos de eficiência e personalização. Neste artigo, tentarei explicar passo a passo como instalá-lo e fazer uma breve introdução ao seu uso.

instalação

Neste caso, o DWM não será instalado da forma convencional via apto, vamos clonar diretamente o seu repositório, para isso:

$git clone http://git.suckless.org/dwm

Depois de baixado, entramos no diretório. O arquivo mais importante em termos de configuração é config.def.h. Todas as modificações serão feitas no referido arquivo. Cuidado, este arquivo é o que vem por default, para compilar é necessário que o arquivo seja chamado configuração.h. Assim que corrermos fazer, ele cuidará de criá-lo, se não existir.

Antes de continuar, você pode querer instalar algumas ferramentas, como dmenu, o que permitirá o lançamento de qualquer programa. Para isso executamos:

sudo apt-get install ferramentas sem sucção

Alterações a fazer antes de compilar

Antes de compilar, seria ideal alterar pelo menos qual terminal queremos que o DWM execute ao pressionar ALT + Shift + Enter. Para isso modificamos no arquivo config.def.h, (ou configuração.h se você já criou a cópia) a seguinte linha:

static const char * termcmd [] = {"st", NULL};

Por seu terminal preferido, no meu caso, Terminator:

static const char * termcmd [] = {"terminator", NULL};

Ainda há algo a fazer antes de instalar. Crie uma sessão DWM que nos permita executá-la ao entrar no sistema. Precisaremos de um arquivo que chamaremos dwm.desktop e vamos colocar em / usr / share / xsessions, o conteúdo deve ser o seguinte:

[Desktop Entry] Encoding = UTF-8 Name = Dwm-customized Comment = Gerenciador de janela dinâmica Exec = dwm-personalized Icon = dwm.png Type = XSession

Por sua vez, iremos criar um script que será executado ao entrar nesta sessão, denominado personalizado dwm ao qual daremos permissões de execução e seu conteúdo será a execução de todos os programas que queremos executar na inicialização. O meu, por exemplo, é:

#! / bin / bash # configuração do layout do teclado /usr/share/X11/xkb/rules/base.lst setxkbmap us intl xset + fp / usr / share / fonts / local xset fp rehash nm-applet & parcellite & xfce4-volumed & #Definir barra de status e iniciar DWM dwmstatus & exec dwm

O script deve ser salvo em / usr / bin com permissões de execução:

chmod + x dwm personalizado

Construir e instalar

Agora, dentro do diretório onde o DWM está localizado, compilamos e instalamos:

sudo fazer instalação limpa

Depois disso, saímos do gerenciador de janelas atual e entramos com DWM.

Guia de uso

Uma vez dentro, com Alt + Shitf + Enter o terminal definido acima será executado. Os comandos básicos são

- [Shift] + [Alt] + [Enter] - Iniciar o terminal
- [Alt] + [p] - Iniciar dmenu
- [Alt] + número de 1 a 9 - mover entre os diferentes rótulos (ou desktops)
- [Shift] + [Alt] + número - Mova a janela para o número indicado
- [Alt] + [Shift] + c - Fechar a janela atual

Existem 3 tipos de layout por padrão, Em azulejo ([Alt] + t), Monóculo ([Alt] + m) que mostra uma janela em tela cheia, e podemos navegar entre eles com [Alt] + j ou [Alt] + k, e finalmente Flutuante, para mover e redimensionar as janelas ao nosso gosto.

Todos os atalhos de teclado estão no arquivo config.def.h, e é aí que vamos declarar os novos.

Se você preferir usar a tecla windows em vez de [Alt], basta modificar a linha

#define MODKEY Mod1Mask

por

#define MODKEY Mod4Mask

e recompilar.

Modificando DWM à vontade

Existem muitos patches que podem ser aplicados ao DWM em seu site oficial (http://dwm.suckless.org/patches/). No entanto, uma das mais marcantes, a coloração da barra de status, não está disponível para a versão mais recente (6.1). Eu tentei escrever um e atualmente funciona muito bem. Se encontra em github.com/someone91/myDWM e é tão fácil de executar quanto baixar e digitar:

git apply dwm-6.1-simplestatuscolor.diff

Para usá-lo você precisa usar status dwm e formate o estado da seguinte maneira.

O patch tem 7 cores. Para indicar a cor a ser usada, deve-se escrever o caractere \ xCL no final do texto a ser colorido, onde CL é um dígito de 01 a 07. Por exemplo, usando as três primeiras cores:

status = smprintf ("L:% s \ x01 A:% s \ x02 U:% s% s \ x03", avgs, tmar, tmutc, tmbln);

Ele irá colorir L:% s com a cor 1, L:% s com a cor 2 e U:% s% s com a cor 3.

Se você quiser saber os detalhes da programação sobre o patch, você pode consultar este artigo.

Observações finais

Espero que tenha gostado do artigo e seja encorajado a experimentar este tipo de gerenciador de janelas. Desde que os descobri, não usei os gerentes convencionais novamente e não sinto falta deles. Deixo-vos uma imagem:

Captura de tela - 290714 - 13-11-28


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   ninguém dito

    testando comentário de tor 🙂

    1.    Pandev92 dito

      E isso, o que tem a ver com o artigo?

    2.    yukiteru dito
  2.   Vínculo dito

    Com relação ao consumo de RAM, como ele é comparado ao que vem por padrão no xfce?

    1.    Alexander Mayor dito

      bom,

      Eu fiz as medições com o básico em execução, o miniaplicativo de bateria e as conexões de rede. Aqui estão os resultados:

      DWM: 140 MiB de 4 Gib
      XFCE: Gib 279 MiB

      1.    Vínculo dito

        Muito obrigado, irei instalá-lo então: D, eu só estava tentando reduzir o consumo de memória RAM.

      2.    Alexander Mayor dito

        Espero não te decepcionar 😉

    2.    caçador dito

      Baixo consumo de RAM sem perder os olhos? ===> IceWm + tint2 + wbar

  3.   bmacf dito

    Vou tentar testá-lo nas férias ... Sempre tive curiosidade em WMs, mas estou muito acostumado com DEs ... E todo o incômodo de configurar a partir de 0 também é algo que me parece um pouco tedioso, mas foi o que curei depois de instalar Arch… xD

    1.    Alexander Mayor dito

      Sim, é verdade que no começo é um pouco tedioso, mas depois que você se acostumar… vai ser difícil você voltar para o PS. 🙂

  4.   eliotime3000 dito

    Incrível, Plz!

    1.    desidratador dito

      Fiquei incrível por um tempo, mas não estava muito convencido e voltei ao meu querido e fiel openbox, claro, configurado de 0. Configurando de 0 quero dizer que em vez da configuração do openbox xml que vem por padrão no debian com o pacote openbox, eu o reescrevi quase do zero, declarando em detalhes todas as funções, por exemplo, que ao pressionar alt + f4 ou ao bater na lâmina de fechamento da janela, quais bordas permitem arrastar a janela e quais redimensioná-la (I no meu caso, tenho as bordas inferior e direita para redimensionar, a superior e a esquerda para arrastar) e muitos mais detalhes. Também o tema da janela, embora esteja pensando em dar um novo visual. Enfim, deu muito trabalho, na verdade eu tenho salvado minha configuração do openbox há alguns anos, é algo que aprecio muito e que faço backup sim ou sim.

      Saludos!

  5.   BlackSheepX dito

    Seria suficiente mudar o apt-get para pacman nos comandos de instalação e as modificações seriam as mesmas para usá-lo no Arch?

    1.    Alexander Mayor dito

      Nunca usei o Arch, mas acho que sim. Uma vez que o DWM é instalado do repositório e o único pacote necessário, se você quiser usar o dmenu, é o suckless-tools.

    2.    Wada dito

      Não, a verdade não é a mesma no Archlinux, não existe esse pacote suckless-tools quando eu instalo, faço o download do dwm e dmenu, compilando-os a partir de 0, você também pode usar o ABS que é mais recomendado do que usar o pacman.

      Há DWM nos pacotes do pacman, mas não recomendo que você instale a partir daí, para que possa compilá-lo e modificá-lo ao seu gosto. 🙂

      1.    eliotime3000 dito

        E que tal incrível?

      2.    Wada dito

        Legal eu não mudo Elio, ele me consome ao iniciar apenas 126MB ele é modular e programado em LUA, então não preciso ficar compilando para cada configuração feita, e deixa eu dizer que é 126MB para o Slim houve um tempo que usei login por TTY / Bash e no a inicialização usou cerca de 80 MB.

      3.    eliotime3000 dito

        Bem, da próxima vez, terei que aprender a configurar o Awesome com jogos de azar e vagabundas (#OkNo), e assim, não precisarei sofrer mais bugs ou falhas em ambientes de desktop (até agora XFCE, KDE 4.8 e GNOME 2 Eu não fui decepcionado).

    3.    Alexander Mayor dito
  6.   Gonzalemd dito

    Obrigado pela nota, vou tentar uma vez. Saudações.

  7.   Dark Purple dito

    Ausência de?
    Não perca a ortografia, por favor.

    1.    Alexander Mayor dito

      Eu sei, desculpe. Mas, quando percebi, não poderia mais editar o artigo. :-(. Alguém poderia corrigi-lo?

      1.    Alexander Mayor dito

        Mas para * e se alguém pudesse *. (As coisas de escrever do celular e não poder editar .. XD)

  8.   Illukki dito

    Bom tuto. Mais cedo ou mais tarde chegarei a esses WMs, mas você tem que dedicar o tempo necessário para aprender a deixá-lo à vontade.
    Saudações.

  9.   debochar dito

    Já passei por alguns também e nem me atrevo a dizer qual é o "melhor" para mim. Dos non-tiling, eu gosto especialmente do fluxbox e do openbox e dos tiling, embora seja mais difícil para mim escolher porque cada um é um mundo maravilhoso pra caralho, eu diria i3 e dwm. Gosto mais deles, o que não quer dizer que sejam melhores ou piores ...

    1.    Jesus Ballesteros dito

      Exatamente, é uma questão de gosto. Eu pessoalmente não gosto do tiling WM, a menos que você seja um programador é claro, para outras coisas eles me tornam improdutivo ou talvez seja eu quem não saiba como usá-los, mas a partir daí dizer que um é melhor do que outro nós gostaríamos retorne às guerras típicas de quando a luta era entre o KDE e o Gnome 😀

      1.    Vínculo dito

        Qual é a diferença entre tiling e no tiling? Desde já, obrigado.

      2.    Jesus Ballesteros dito

        Olá Bonus,

        Aqui está a explicação dos diferentes tipos de WM.

        https://wiki.archlinux.org/index.php/Window_Manager_%28Espa%C3%B1ol%29

        Este é um exemplo de "Incrível", que é um tipo de lado a lado.

        https://www.youtube.com/watch?v=4mMb7qXwhuU

        Uma saudação.

  10.   m dito

    dwm é um ... desculpe, duas dores de bola: para mudar qualquer coisa, você tem que alterar o código e recompilar - sempre assumindo que você conhece C.

    SpectrWM é o pai da bomba!

  11.   johnfgs dito

    É interessante, mas não consigo ver o apelo desses gerenciadores de janelas esotéricos. Recompilar toda vez que você quiser mudar algum comportamento é bom ... um pouco demais. Eu entendo que tem gente meio obsessiva com o consumo de memória, mas basicamente tendo que reinventar a roda toda vez ... é impraticável, e se o problema for baixo consumo de memória bom ... me parece que é como cortar as pernas e a dizer «perdi 30 quilos de peso».

    Fora isso, ainda é interessante se você estiver interessado em aprender como funciona um WM, especialmente se for compatível com NetWM.

    1.    Alexander Mayor dito

      É uma questão de gosto. Embora realmente recompilar seja apenas executar uma linha (sudo make clean install) E não é necessário reiniciar. Existe um patch por aí que permite que você reinicie o DWM pressionando MODKEY + q

  12.   oscar meza dito

    Oi, como é DWM para Fluxbox em termos de consumo de recursos de hardware?