Configuració i3 per a un ordinador portàtil: com reduir el rendiment al 100%?

Recentment em vaig adonar que el meu portàtil no és prou potent. No té prou potència per agafar-ho tot junt: Vim (+ 20 connectors), VSCode (+ el mateix nombre d'extensions), Google Chrome (+ 20 pestanyes), etc. Sembla ser un problema comú als ordinadors portàtils amb 4 GB de RAM, però no em vaig rendir. M'encanten els portàtils perquè són compactes i també perquè poden funcionar amb bateria a qualsevol lloc. Només necessitava esbrinar com alliberar RAM addicional i també augmentar l'eficiència energètica.

Configuració i3 per a un ordinador portàtil: com reduir el rendiment al 100%?

Si necessiteu configuracions immediatament, desplaceu-vos cap avall fins a la secció "Anàlisi de la instal·lació"

Sistema operatiu

Com que necessito un sistema operatiu que consumeixi la menor quantitat de memòria RAM i bateria, vaig triar Arch Linux. Clàssic, res de nou. Els seus dipòsits em permetran automatitzar molts treballs innecessaris, i AUR estalviarà encara més temps.

Gestor de finestres

Vaig decidir utilitzar un gestor de finestres en lloc d'un entorn complet. Tot i que m'agraden les sabatilles esportives (KDE), encara mengen bastant, a causa del fet que treuen força biblioteques i dependències. Bé, el propi DE consumeix bastant a causa de tota mena de ginys innecessaris.

Configuració i3 per a un ordinador portàtil: com reduir el rendiment al 100%?

Desmuntem la instal·lació

Primer hem d'instal·lar tots els paquets principals (hem de configurar alguna cosa)

sudo pacman -Sy --noconfirm i3 i3-gaps base-devel rofi okular feh vim code picom kitty ranger git xdotool xautolock i3lock-color scrot imagemagick rxvt-unicode urxvt-perls

Aquí teniu un diagrama aproximat de com funcionarà tot

Configuració i3 per a un ordinador portàtil: com reduir el rendiment al 100%?

Quins paquets es necessiten per a què?

Paquet
El que es necessita

xwinwrap
Cal instal·lar fitxers amb l'extensió .gif com a fons de pantalla animats

polibar
Necessari perquè la barra superior es mostri al gestor de finestres

i3
El propi gestor de finestres

buits i3
Extensió del gestor de finestres

desenvolupament base
Components necessaris per instal·lar polybar

rofi
Llançador d'aplicacions

Okular
Visor de documents

zathura
Visor de documents (no admet moltes extensions, però és més minimalista)

feh
Un programa per visualitzar imatges i també per configurar imatges de fons

empenta
Editor principal

codi
Editor addicional

picom
Composer (un programa que crea ombres, transparència, desenfocament de fons)

gatet
Terminal principal

urxvt
Terminal addicional

estibar
Gestor d'arxius

git
Sistema de control de versions

xdotool
Una utilitat que ajudarà a desenvolupar scripts ia interactuar amb Windows

xautolock
Una utilitat que bloqueja l'ordinador quan està inactiu i llança i3-lock

i3lock-color
Versió millorada d'i3lock. El programa és necessari per bloquejar l'ordinador i introduir una contrasenya

escrot
Aplicació minimalista per fer captures de pantalla

màgia de la imatge
Un programa que us ajudarà a interactuar amb les imatges (les difumina per endavant, les converteix, canvia la resolució)

Configurant i3

i3 - Un gestor de finestres que no consumeix molts recursos, per tant ens serà útil per “emular” altres gestors de finestres habituals. (El regal, per descomptat, ve amb rajoles: la capacitat del gestor de finestres d'obrir aplicacions a tota la part gratuïta de la pantalla.)

Proporcionaré la configuració i3 en parts, perquè fins i tot els principiants ho entenguin tot. Comencem amb el més important: el botó $Mod. Serveix per interactuar amb i3. Totes les tecles d'accés directe principals passaran per ella.

### Tweaks ###
# Set main key (Win)
set $mod Mod4

A continuació, ensenyarem al nostre gestor de finestres a moure finestres amb el ratolí quan es fa clic $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

Instal·larem tipus de lletra per a les nostres aplicacions, així com per a aplicacions que en depenguin i3

# Fonts
font pango: JetBrains Mono 10

La meva idea era fer totes les finestres inicialment volant (que, com va resultar, és molt convenient). Per a aclariments: en i3 n'hi ha de molts tipus atracament finestres (Tilling, Fullscreen, Tabbed, Float, Stacking), totes elles són convenients en diferents situacions, però no veig el sentit de fer-ho tots finestres que omplen tota la pantalla. Millor que l'omplin quan es premeu $mod + f, però penja a l'aire per defecte, que és el que vaig fer a la següent peça de codi:

# 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

Perquè no et confonguis amb l'expressió (1920 - 10)/2 and (1080 - 10)/2 significa que cada finestra ocuparà una quarta part de la pantalla, i també hi haurà un sagnat (l'un de l'altre) de 5 píxels exactament (5 a tots els costats).

A continuació, lliguem totes les aplicacions principals. Totes les tecles d'accés directe intenten coincidir amb aquest esquema

Configuració i3 per a un ordinador portàtil: com reduir el rendiment al 100%?

## Keyboard Settings ##
# Apps
bindsym $mod+Return exec kitty
bindsym $mod+Mod1+r exec "kitty sh -c 'ranger'"
bindsym $mod+Mod1+g exec google-chrome-stable
bindsym $mod+Mod1+c exec code
bindsym $mod+Mod1+v exec dolphin
bindsym Print exec spectacle

A més, vincularem totes les funcions principals que desenvolupem sense pensar-ho, i que han de ser

# System / Volume
bindsym XF86AudioMute "exec amixer -D pulse sset Master toggle && notify-send "Volume" "Sound is (un)muted" --urgency low"
bindsym XF86AudioRaiseVolume "exec amixer -D pulse sset Master 5%+ && notify-send "Volume" "Volume added +5%n    Volume level is now $(amixer -D pulse get Master | awk -F 'Left:|[][]' 'BEGIN {RS=""}{ print $3 }')" --urgency low"
bindsym XF86AudioLowerVolume "exec amixer -D pulse sset Master 5%- && notify-send "Volume" "Volume added -5%n    Volume level is now $(amixer -D pulse get Master | awk -F 'Left:|[][]' 'BEGIN {RS=""}{ print $3 }')" --urgency low"

# System / Brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 5
bindsym XF86MonBrightnessUp exec xbacklight -inc 5

# Moving from one window to another
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

# Choose one of your workspaces
bindsym $mod+1 workspace $workspace1
bindsym $mod+2 workspace $workspace2
bindsym $mod+3 workspace $workspace3
bindsym $mod+4 workspace $workspace4

# Move window to the workspace
bindsym $mod+Shift+1 move container to workspace $workspace1
bindsym $mod+Shift+2 move container to workspace $workspace2
bindsym $mod+Shift+3 move container to workspace $workspace3
bindsym $mod+Shift+4 move container to workspace $workspace4

## Floating manipulation ##
# Make window floating
bindsym $mod+f floating toggle
# Change focus
bindsym $mod+Shift+f focus mode_toggle

# Move windows
bindsym $mod+Shift+h move left 20px
bindsym $mod+Shift+j move down 20px
bindsym $mod+Shift+k move up 20px
bindsym $mod+Shift+l move right 20px

# Resizing Windows
bindsym $mod+Ctrl+l resize shrink width 10 px or 10 ppt
bindsym $mod+Ctrl+k resize grow height 10 px or 10 ppt
bindsym $mod+Ctrl+j resize shrink height 10 px or 10 ppt
bindsym $mod+Ctrl+h resize grow width 10 px or 10 ppt

# Make window fullscreen
bindcode 95 fullscreen toggle

# Reload Configuration
bindsym $mod+p reload

# Kill a window
bindsym $mod+x exec xdotool getwindowfocus windowkill

Fem una secció d'inici automàtic

### Autostart ###
# Lockscreen after 10min delay
exec --no-startup-id "$HOME/.config/i3/lockscreen"
# Convert background gif to jpg
exec --no-startup-id convert -verbose $HOME/.config/i3/{gif.gif,gif.jpg}
# Generate Colorscheme
exec_always --no-startup-id wal -i $HOME/.config/i3/gif-0.jpg
# Compositor
exec_always --no-startup-id "killall -q picom; picom --config $HOME/.config/picom.conf"
# Language
exec --no-startup-id setxkbmap -model pc105 -layout us,ru -option grp:win_space_toggle
# Dunst
exec --no-startup-id dunst
# Kitty
exec kitty
# Dropbox
exec --no-startup-id dropbox &
# Polybar
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
# Cursor
exec_always --no-startup-id xsetroot -cursor_name left_ptr

buits i3 és una compilació i3 que afegeix moltes funcions noves. Un d'ells és afegir sagnies (buits), que visualment es veuen molt bé.

### i3-gaps ###
# Borders for windows
for_window [class=".*"] border pixel 5

# Gaps for i3bar
for_window [class="i3bar"] gaps outer current set 10

# Gaps
gaps inner 10
gaps outer 4

### Topbar and color theme ###
# Color theme of borders
client.focused              #bf616a #2f343f #d8dee8 #bf616a #d8dee8
client.focused_inactive     #2f343f #kf343f #d8dee8 #2f343f #2f343f
client.unfocused            #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.urgent               #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.placeholder          #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.background           #2f343f

Què va passar?

I el resultat és un muntatge bastant minimalista a l'i3, que funciona molt ràpidament en ordinadors portàtils i ofereix un bon rendiment

Configuració i3 per a un ordinador portàtil: com reduir el rendiment al 100%?

Com que vaig escriure moltes configuracions (que és clarament visible a la captura de pantalla), es poden trobar al repositori Genial i3.

Un parell de captures de pantalla més

Configuració i3 per a un ordinador portàtil: com reduir el rendiment al 100%?

Configuració i3 per a un ordinador portàtil: com reduir el rendiment al 100%?

Configuració i3 per a un ordinador portàtil: com reduir el rendiment al 100%?

Font: www.habr.com

Afegeix comentari