Configurație i3 pentru un laptop: cum să reduceți performanța la 100%?

Recent mi-am dat seama că laptopul meu nu este suficient de puternic. Nu are suficientă putere pentru a lua totul împreună: Vim (+ 20 de pluginuri), VSCode (+ același număr de extensii), Google Chrome (+ 20 de file) și așa mai departe. S-ar părea a fi o problemă obișnuită la laptopurile cu 4 GB RAM, dar nu am renunțat. Îmi plac laptopurile pentru că sunt compacte și, de asemenea, pentru că pot funcționa cu baterie oriunde. Trebuia doar să îmi dau seama cum să eliberez RAM suplimentară și, de asemenea, să măresc eficiența energetică.

Configurație i3 pentru un laptop: cum să reduceți performanța la 100%?

Dacă aveți nevoie de configurații imediat, derulați în jos la secțiunea „Analizarea instalării”

Sistem de operare

Deoarece am nevoie de un sistem de operare care să consume cea mai mică cantitate de RAM și baterie, am ales Arch Linux. Clasic, nimic nou. Arhivele sale îmi vor permite să automatizez o mulțime de lucrări inutile și AUR va economisi și mai mult timp.

Manager de ferestre

Am decis să folosesc un manager de ferestre mai degrabă decât un mediu cu drepturi depline. Deși îmi plac adidașii (KDE), aceștia mănâncă totuși destul de mult, datorită faptului că trag destul de multe biblioteci și dependențe. Ei bine, DE în sine consumă destul de mult din cauza a tot felul de widget-uri inutile.

Configurație i3 pentru un laptop: cum să reduceți performanța la 100%?

Să dezasamblam instalația

Mai întâi trebuie să instalăm toate pachetele principale (trebuie să configuram ceva)

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

Iată o diagramă aproximativă a modului în care va funcționa totul

Configurație i3 pentru un laptop: cum să reduceți performanța la 100%?

Ce pachete sunt necesare pentru ce?

pachet
Ce este necesar

xwinwrap
Este necesar să instalați fișiere cu extensia .gif ca imagini de fundal animate

polibar
Este necesar ca bara de sus să fie afișată în managerul de ferestre

i3
Managerul de ferestre în sine

i3-lacune
Extensie manager de ferestre

baza-dezvoltare
Componentele necesare pentru instalarea Polybar

rofi
Lansatorul de aplicații

ocular
Vizualizator de documente

zathura
Vizualizator de documente (nu acceptă multe extensii, dar este mai minimalist)

feh
Un program pentru vizualizarea imaginilor și, de asemenea, pentru setarea imaginilor de fundal

sevă
Editor principal

cod
Editor suplimentar

picom
Composer (un program care creează umbre, transparență, estompare de fundal)

Kitty
Terminalul principal

urxvt
Terminal suplimentar

pădurar
Manager de fișiere

merge
Sistem de control al versiunilor

xdotool
Un utilitar care va ajuta la dezvoltarea scripturilor și la interacțiunea cu Windows

xautolock
Un utilitar care blochează computerul atunci când este inactiv și lansează i3-lock

i3lock-color
Versiune îmbunătățită a i3lock. Programul este necesar pentru a bloca computerul și a introduce o parolă

scrot
Aplicație minimalistă pentru capturi de ecran

ImageMagick
Un program care te va ajuta să interacționezi cu imaginile (le estompează în avans, le convertește, schimbă rezoluția)

Configurarea i3

i3 - Un manager de ferestre care nu consumă multe resurse, astfel ne va fi util pentru a „emula” alți manageri de ferestre obișnuiți. (Bonusul, desigur, este tiling - capacitatea managerului de ferestre de a deschide aplicații în întreaga parte liberă a ecranului)

Voi oferi configurația i3 pe părți, astfel încât până și începătorii să înțeleagă totul. Să începem cu cel mai important lucru - butonul $Mod. Servește pentru a interacționa cu i3. Toate tastele rapide majore vor trece prin el.

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

În continuare, vom învăța managerul nostru de ferestre să mute ferestrele cu mouse-ul atunci când faceți 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

Vom instala fonturi pentru aplicațiile noastre, precum și pentru aplicațiile care depind de i3

# Fonts
font pango: JetBrains Mono 10

Ideea mea a fost sa fac toate ferestrele initial zbor (care, după cum sa dovedit, este foarte convenabil). Pentru clarificare: în i3 sunt multe tipuri andocare ferestre (Tilling, Fullscreen, Tabbed, Float, Stacking), toate sunt convenabile în diferite situații, dar nu văd rostul în a face toate ferestre care umplu tot ecranul. Mai bine lăsați-i să-l umple când sunt apăsați $mod + f, dar stau în aer în mod implicit, ceea ce am făcut în următoarea bucată de cod:

# 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

Ca să nu te încurce de expresie (1920 - 10)/2 and (1080 - 10)/2 înseamnă că fiecare fereastră va ocupa un sfert din ecran și va exista și o indentație (una față de cealaltă) de exact 5 pixeli (5 pe toate părțile).

În continuare, să legăm toate aplicațiile principale. Toate tastele rapide încearcă să se potrivească cu această schemă

Configurație i3 pentru un laptop: cum să reduceți performanța la 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

De asemenea, vom lega toate funcțiile principale pe care le îndeplinim fără să ne gândim și care trebuie să fie

# 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

Să facem o secțiune de pornire automată

### 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

i3-lacune este o versiune i3 care adaugă multe caracteristici noi. Una dintre ele este adăugarea de indentări (goluri), care arată vizual foarte bine.

### 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

Ce sa întâmplat?

Iar rezultatul este un ansamblu destul de minimalist pe i3, care funcționează foarte repede pe laptopuri și oferă performanțe bune

Configurație i3 pentru un laptop: cum să reduceți performanța la 100%?

Deoarece am scris o mulțime de configurații (ceea ce este clar vizibil în captură de ecran), acestea pot fi găsite în depozit Grozav i3.

Încă câteva capturi de ecran

Configurație i3 pentru un laptop: cum să reduceți performanța la 100%?

Configurație i3 pentru un laptop: cum să reduceți performanța la 100%?

Configurație i3 pentru un laptop: cum să reduceți performanța la 100%?

Sursa: www.habr.com

Adauga un comentariu