Configuração i3 para laptop: como reduzir o desempenho para 100%?
Recentemente percebi que meu laptop não é potente o suficiente. Não tem potência suficiente para juntar tudo: Vim (+ 20 plugins), VSCode (+ o mesmo número de extensões), Google Chrome (+ 20 abas) e assim por diante. Pareceria um problema comum em laptops com 4 GB de RAM, mas não desisti. Adoro laptops porque são compactos e também porque podem funcionar com bateria em qualquer lugar. Eu só precisava descobrir como liberar RAM extra e também aumentar a eficiência energética.
Se você precisar de configurações imediatamente, role para baixo até a seção “Analisando a instalação”
Sistema operacional
Como preciso de um sistema operacional que consuma o mínimo de RAM e bateria, escolhi Arch Linux. Clássico, nada de novo. Seus repositórios me permitirão automatizar muito trabalho desnecessário, e AUR economizará ainda mais tempo.
Gerenciador de janelas
Decidi usar um gerenciador de janelas em vez de um ambiente completo. Embora eu goste de tênis (KDE), eles ainda consomem bastante, devido ao fato de possuírem muitas bibliotecas e dependências. Bem, o próprio DE consome bastante devido a todos os tipos de widgets desnecessários.
Vamos desmontar a instalação
Primeiro precisamos instalar todos os pacotes principais (precisamos configurar algo)
Aqui está um diagrama aproximado de como tudo funcionará
Quais pacotes são necessários para quê?
Pacote
O que é necessário
xwinwrap
Necessário para instalar arquivos com extensão .gif como papéis de parede animados
polibar
Necessário para que a barra superior seja exibida no gerenciador de janelas
i3
O próprio gerenciador de janelas
lacunas i3
Extensão do gerenciador de janelas
desenvolvimento básico
Componentes necessários para instalar o polybar
rofi
Iniciador de aplicativos
okulate
Visualizador de documentos
Zathura
Visualizador de documentos (não suporta muitas extensões, mas é mais minimalista)
feh
Um programa para visualizar fotos e também para definir imagens de fundo
vitalidade
Editor principal
código
Editor adicional
picom
Composer (um programa que cria sombras, transparência, desfoque de fundo)
gatinho
Terminal principal
urxvt
Terminal adicional
guarda-florestal
Gerenciador de arquivos
git
Sistema de controle de versão
xdotool
Um utilitário que ajudará no desenvolvimento de scripts e na interação com o Windows
xautolock
Um utilitário que bloqueia o computador quando inativo e inicia o i3-lock
cor i3lock
Versão melhorada do i3lock. O programa é necessário para bloquear o computador e inserir uma senha
escroto
Aplicativo minimalista para tirar screenshots
imagemagick
Um programa que o ajudará a interagir com as imagens (desfoque-as antecipadamente, converta-as, altere a resolução)
Configurando i3
i3 - Um gestor de janelas que não consome muitos recursos, pelo que nos será útil para “emular” outros gestores de janelas regulares. (O presente, é claro, vem com o lado a lado - a capacidade do gerenciador de janelas de abrir aplicativos em toda a parte livre da tela)
vou fornecer a configuração i3 em partes, para que até os iniciantes entendam tudo. Vamos começar com o mais importante: o botão $ Mod. Serve para interagir com i3. Todas as principais teclas de atalho passarão por ele.
### Tweaks ###
# Set main key (Win)
set $mod Mod4
A seguir, ensinaremos nosso gerenciador de janelas a mover janelas com o mouse quando clicado $mod
# Press MOD key and click on mouse to move your window
floating_modifier $mod
# Focus doesn't follow the mouse
focus_follows_mouse no
Instalaremos fontes para nossos aplicativos, bem como para aplicativos que dependem de i3
# Fonts
font pango: JetBrains Mono 10
Minha ideia era fazer todas as janelas inicialmente vôo (o que, no fim das contas, é muito conveniente). Para esclarecimentos: em i3 existem muitos tipos ancoragem janelas (Tilling, Fullscreen, Tabbed, Float, Stacking), todas elas são convenientes em diferentes situações, mas não vejo sentido em fazer todos janelas preenchendo a tela inteira. Melhor deixá-los preencher quando pressionado $mod + f, mas fica no ar por padrão, que foi o que fiz no seguinte trecho de código:
# Maximum width for floating windows
floating_minimum_size 400 x 350
floating_maximum_size 1800 x 900
# (1920 - 10)/2 and (1080 - 10)/2
for_window [class=".*"] floating enable
for_window [class=".*"] resize set 955 535
for_window [class=".*"] focus
Para que você não se confunda com a expressão (1920 - 10)/2 and (1080 - 10)/2 significa que cada janela ocupará um quarto da tela e também haverá um recuo (uma da outra) de exatamente 5 pixels (5 em todos os lados).
A seguir, vamos vincular todos os aplicativos principais. Todas as teclas de atalho tentam corresponder a este esquema