Konfigurace i3 pro notebook: jak snížit výkon na 100 %?

Nedávno jsem si uvědomil, že můj notebook není dostatečně výkonný. Nemá dostatek výkonu, aby vzal vše dohromady: Vim (+ 20 pluginů), VSCode (+ stejný počet rozšíření), Google Chrome (+ 20 karet) a tak dále. Zdálo by se, že jde o běžný problém u notebooků se 4 GB RAM, ale nevzdal jsem se. Notebooky miluji, protože jsou kompaktní a také proto, že mohou běžet na baterie kdekoli. Potřeboval jsem jen vymyslet, jak uvolnit RAM navíc a také zvýšit energetickou účinnost.

Konfigurace i3 pro notebook: jak snížit výkon na 100 %?

Pokud potřebujete konfigurace ihned, přejděte dolů do sekce „Analýza instalace“

Operační systém

Protože potřebuji OS, který bude spotřebovávat co nejmenší množství RAM a baterie, zvolil jsem Arch Linux. Klasika, nic nového. Jeho úložiště mi umožní automatizovat spoustu zbytečné práce, a AUR ušetří ještě více času.

Správce oken

Rozhodl jsem se použít spíše správce oken než plnohodnotné prostředí. Tenisky (KDE) mám sice rád, ale pořád docela dost žerou, vzhledem k tomu, že vytahují docela dost knihoven a závislostí. No a samotné DE žere díky všemožným zbytečným widgetům docela dost.

Konfigurace i3 pro notebook: jak snížit výkon na 100 %?

Pojďme rozebrat instalaci

Nejprve musíme nainstalovat všechny hlavní balíčky (musíme něco nakonfigurovat)

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

Zde je hrubý diagram, jak vše bude fungovat

Konfigurace i3 pro notebook: jak snížit výkon na 100 %?

Jaké balíčky jsou k čemu potřeba?

Balíček
Co je potřeba

xwinwrap
Potřebné k instalaci souborů s příponou .gif jako animovaných tapet

polybar
Potřebné pro zobrazení horní lišty ve správci oken

i3
Samotný správce oken

i3-mezery
Rozšíření správce oken

base-devel
Komponenty potřebné k instalaci polybaru

rofi
Spouštěč aplikací

okulární
Prohlížeč dokumentů

zathura
Prohlížeč dokumentů (nepodporuje mnoho rozšíření, ale je více minimalistický)

chybějící
Program pro prohlížení obrázků a také pro nastavení obrázků na pozadí

elán
Hlavní editor

kód
Dodatečný editor

picom
Composer (program, který vytváří stíny, průhlednost, rozostření pozadí)

koťátko
Hlavní terminál

urxvt
Přídavný terminál

tulák
Správce souborů

git
Systém kontroly verzí

xdotool
Nástroj, který pomůže při vývoji skriptů a interakci s okny

xautolock
Nástroj, který uzamkne počítač, když není aktivní, a spustí i3-lock

barva i3lock
Vylepšená verze i3lock. Program je potřeba k uzamčení počítače a zadání hesla

šrot
Minimalistická aplikace pro pořizování snímků obrazovky

ImageMagick
Program, který vám pomůže pracovat s obrázky (předem je rozmaže, převede, změní rozlišení)

Konfigurace i3

i3 - Správce oken, který nespotřebovává mnoho zdrojů, takže se nám bude hodit k „emulaci“ jiných běžných správců oken. (K dárku samozřejmě patří dlaždice – možnost správce oken otevírat aplikace na celou volnou část obrazovky)

Konfiguraci dodám i3 po částech, aby všemu rozuměli i začátečníci. Začněme tím nejdůležitějším – tlačítkem $Mod. Slouží k interakci s i3. Projdou jím všechny hlavní klávesové zkratky.

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

Dále naučíme našeho správce oken při kliknutí myší přesouvat okna $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

Nainstalujeme písma pro naše aplikace i pro aplikace, které jsou závislé na i3

# Fonts
font pango: JetBrains Mono 10

Můj nápad byl zpočátku vyrobit všechna okna letící (což, jak se ukázalo, je velmi pohodlné). Pro upřesnění: in i3 existuje mnoho typů dokování okna (Tilling, Fullscreen, Tabbed, Float, Stacking), všechna jsou vhodná v různých situacích, ale nevidím v tom smysl vše okna vyplňující celou obrazovku. Raději je nechte naplnit při stlačení $mod + f, ale ve výchozím nastavení visí ve vzduchu, což jsem udělal v následujícím kusu kódu:

# 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

Abyste se nezmátli výrazem (1920 - 10)/2 and (1080 - 10)/2 znamená, že každé okno bude zabírat čtvrtinu obrazovky a bude zde také odsazení (od sebe) přesně 5 pixelů (5 na všech stranách).

Dále svažme všechny hlavní aplikace. Všechny klávesové zkratky se snaží tomuto schématu odpovídat

Konfigurace i3 pro notebook: jak snížit výkon na 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

Také budeme vázat všechny hlavní funkce, které vykonáváme bez přemýšlení a které musí být

# 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

Udělejme sekci automatického spuštění

### 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-mezery je sestavení i3, které přidává mnoho nových funkcí. Jedním z nich je přidání odsazení (mezer), které vizuálně vypadají velmi dobře.

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

Co se stalo?

Výsledkem je poměrně minimalistická sestava na i3, která na laptopech funguje velmi rychle a podává dobrý výkon

Konfigurace i3 pro notebook: jak snížit výkon na 100 %?

Protože jsem napsal spoustu konfigurací (což je jasně vidět na snímku obrazovky), lze je najít v úložišti Skvělé i3.

Ještě pár screenshotů

Konfigurace i3 pro notebook: jak snížit výkon na 100 %?

Konfigurace i3 pro notebook: jak snížit výkon na 100 %?

Konfigurace i3 pro notebook: jak snížit výkon na 100 %?

Zdroj: www.habr.com

Přidat komentář