Ordenagailu eramangarri baterako i3 konfigurazioa: nola murriztu errendimendua % 100era?

Недавно я понял, что мой ноутбук недостаточно производителен. Ему не хватает мощности вывезти всё вместе: Vim (+ 20 плагинов), VSCode (+ столько же расширений), Google Chrome (+ 20 вкладок) и так далее. Казалось бы, обычная проблема на ноутбуках с 4 ГБ ОЗУ, однако я не стал сдаваться. Я люблю ноутбуки за их компактность, а также за то, что они могут работать на батарее где угодно. Мне нужно было просто подумать, как освободить лишнюю ОЗУ, а также увеличить энергоэффективность.

Ordenagailu eramangarri baterako i3 konfigurazioa: nola murriztu errendimendua % 100era?

Berehala konfigurazioak behar badituzu, joan behera "Instalazioa aztertzea" atalera.

Sistema eragilea

RAM eta bateria gutxien kontsumituko dituen OS bat behar dudanez, aukeratu nuen Arch Linux. Klasikoa, ezer berririk. Bere biltegiek beharrezkoak ez diren lan asko automatizatzeko aukera emango dit, eta AUR are denbora gehiago aurreztuko du.

Leiho kudeatzailea

Leiho-kudeatzailea erabiltzea erabaki nuen ingurune oso bat baino. Sneakers-ak (KDE) gustatzen zaizkidan arren, oraindik asko jaten dute, liburutegi eta menpekotasun dezente ateratzen dituztelako. Beno, DEk berak asko kontsumitzen du beharrezkoak ez diren widget mota guztiengatik.

Ordenagailu eramangarri baterako i3 konfigurazioa: nola murriztu errendimendua % 100era?

Desmuntatu dezagun instalazioa

Для начала нам нужно установить все основные пакеты (нужно же нам что-то конфигурировать)

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

Hona hemen dena nola funtzionatuko duen azaltzen duen diagrama labur bat

Ordenagailu eramangarri baterako i3 konfigurazioa: nola murriztu errendimendua % 100era?

Zein pakete behar dira zertarako?

pakete
Zer behar da?

xwinwrap
.gif luzapena duten fitxategiak animaziozko horma-paper gisa instalatu behar dira

polibarra
Beharrezkoa da goiko barra leiho-kudeatzailean bistaratzeko

i3
Leiho kudeatzailea bera

i3-hutsuneak
Leiho-kudeatzailearen luzapena

oinarri-garapena
Компоненты необходимые для установки polybar

rofi
Aplikazioen abiarazlea

okularra
Dokumentuen ikuslea

Zathura
Dokumentuen ikuslea (ez ditu luzapen asko onartzen, baina minimalistagoa da)

feh
Программа для просмотра картинок, а также для установки фоновых изображений

vim
Editore nagusia

kodea
Editore gehigarria

picom
Composer (itzalak, gardentasuna, atzeko planoa lausotzen dituen programa)

kitty
Terminal nagusia

urxvt
Terminal gehigarria

stow
Fitxategi kudeatzailea

git
Bertsioa kontrolatzeko sistema

xdotool
Scriptak garatzen eta leihoekin elkarreraginean lagunduko duen erabilgarritasuna

xautolock
Inaktibo dagoenean ordenagailua blokeatzen duen eta i3-lock abiarazten duen utilitate bat

i3lock-kolorea
i3lock-en bertsio hobetua. Programa behar da ordenagailua blokeatzeko eta pasahitza sartzeko

scrot
Pantaila-argazkiak egiteko aplikazio minimalista

imagemagick
Irudiekin elkarreraginean lagunduko dizun programa (aldez aurretik lausotu, bihurtzen ditu, bereizmena aldatzen du)

i3 konfiguratzen

i3 - Baliabide asko kontsumitzen ez dituen leiho-kudeatzailea, beraz, baliagarria izango zaigu beste leiho-kudeatzaile arruntak "emulatu" izateko. (Oparia, noski, lauza batekin dator: leiho-kudeatzaileak aplikazioak pantailaren doako zati osoan irekitzeko duen gaitasuna.)

konfigurazioa emango dut i3 zatika, hasiberriek ere dena uler dezaten. Has gaitezen garrantzitsuenarekin: botoia $Mod. Elkarreragiteko balio du i3. Laster-tekla nagusi guztiak bertatik pasatuko dira.

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

Ondoren, gure leiho-kudeatzaileari leihoak saguarekin mugitzen irakatsiko diogu klik egiten denean $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

Letra-tipoak instalatuko ditugu gure aplikazioetarako, baita mendekoak diren aplikazioetarako ere i3

# Fonts
font pango: JetBrains Mono 10

Nire ideia hasiera batean leiho guztiak egitea zen hegan egiten (hori, ondorioztatu denez, oso erosoa da). Argitzeko: in i3 mota asko daude atrakatzeko leihoak (Tilling, Fullscreen, Tabbed, Float, Stacking), denak erosoak dira egoera ezberdinetan, baina ez dut zentzurik ikusten. guztiak leihoak pantaila osoa betez. Hobe uztea sakatzen dutenean betetzen $mod + f, baina airean zintzilikatu lehenespenez, hau da, hurrengo kode honetan egin nuena:

# 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

Esapidearekin nahastu ez zaitezen (1920 - 10)/2 and (1080 - 10)/2 означает что каждое окно будет занимать четверть экрана, а также будет отступ (друг от друга) ровно в 5 пикселей (5 со всех сторон).

Ondoren, lo ditzagun aplikazio nagusi guztiak. Laster-tekla guztiak eskema honekin bat egiten saiatzen dira

Ordenagailu eramangarri baterako i3 konfigurazioa: nola murriztu errendimendua % 100era?

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

Era berean, pentsatu gabe betetzen ditugun eta izan behar diren funtzio nagusi guztiak lotuko ditugu

# 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

Egin dezagun autostart atal bat

### 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-hutsuneak — сборка i3, которая добавляет много новых функций. Одной из них является добавление отступов (gaps), которые визуально выглядят очень хорошо.

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

Zer gertatu zen?

Eta emaitza i3-n muntaketa minimalista samarra da, ordenagailu eramangarrietan oso azkar funtzionatzen duena eta errendimendu ona ematen duena

Ordenagailu eramangarri baterako i3 konfigurazioa: nola murriztu errendimendua % 100era?

Konfigurazio asko idatzi ditudanez (pantaila-argazkian argi ikusten dena), biltegian aurki daitezke Handia i3.

Pare bat pantaila-argazki gehiago

Ordenagailu eramangarri baterako i3 konfigurazioa: nola murriztu errendimendua % 100era?

Ordenagailu eramangarri baterako i3 konfigurazioa: nola murriztu errendimendua % 100era?

Ordenagailu eramangarri baterako i3 konfigurazioa: nola murriztu errendimendua % 100era?

Iturria: www.habr.com

Gehitu iruzkin berria