Зөөврийн компьютерт зориулсан i3 тохиргоо: гүйцэтгэлийг хэрхэн 100% хүртэл бууруулах вэ?

Саяхан би зөөврийн компьютерын хүч чадал хангалтгүй байгааг ойлгосон. Энэ нь бүгдийг нэгтгэх хангалттай хүч чадалгүй: Vim (+ 20 залгаас), VSCode (+ ижил тооны өргөтгөл), Google Chrome (+ 20 таб) гэх мэт. 4 ГБ RAM-тай зөөврийн компьютерт энэ нь нийтлэг асуудал мэт санагдаж байсан ч би бууж өгөөгүй. Би зөөврийн компьютерт дуртай, учир нь тэд авсаархан, мөн тэд хаана ч байсан батерейгаар ажиллах боломжтой. Би зүгээр л нэмэлт RAM-г хэрхэн суллах, мөн эрчим хүчний хэмнэлтийг нэмэгдүүлэх талаар бодох хэрэгтэй байсан.

Зөөврийн компьютерт зориулсан i3 тохиргоо: гүйцэтгэлийг хэрхэн 100% хүртэл бууруулах вэ?

Хэрэв танд нэн даруй тохиргоо хэрэгтэй бол "Суулгацыг задлан шинжлэх" хэсэг рүү доош гүйлгэ.

үйлдлийн систем

Надад хамгийн бага хэмжээний RAM болон зай зарцуулдаг үйлдлийн систем хэрэгтэй байгаа тул би сонгосон Arch Linux. Сонгодог, шинэ зүйл биш. Түүний агуулах нь надад шаардлагагүй олон ажлыг автоматжуулах боломжийг олгоно AUR илүү их цаг хэмнэх болно.

Цонхны менежер

Би бүрэн хэмжээний орчин гэхээсээ илүү цонхны менежер ашиглахаар шийдсэн. Хэдийгээр би пүүз (KDE)-д дуртай ч гэсэн тэд маш их иддэг, учир нь тэд маш их номын сан, хамааралтай байдаг. За, DE өөрөө бүх төрлийн шаардлагагүй виджетүүдээс болж маш их хэрэглэдэг.

Зөөврийн компьютерт зориулсан i3 тохиргоо: гүйцэтгэлийг хэрхэн 100% хүртэл бууруулах вэ?

Суулгацыг задалж үзье

Эхлээд бид бүх үндсэн багцуудыг суулгах хэрэгтэй (бид ямар нэг зүйлийг тохируулах хэрэгтэй)

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

Энд бүх зүйл хэрхэн ажиллах талаар бүдүүлэг диаграмм байна

Зөөврийн компьютерт зориулсан i3 тохиргоо: гүйцэтгэлийг хэрхэн 100% хүртэл бууруулах вэ?

Ямар багцууд юунд хэрэгтэй вэ?

Багц
Бидэнд яагаад хэрэгтэй байна

xwinwrap
.gif өргөтгөлтэй файлуудыг хөдөлгөөнт ханын зураг болгон суулгахад шаардлагатай

полибар
Цонхны менежерт дээд самбарыг харуулахад шаардлагатай

i3
Цонхны менежер өөрөө

i3-цоорхой
Цонхны менежерийн өргөтгөл

суурь хөгжил
Полибар суулгахад шаардлагатай бүрэлдэхүүн хэсгүүд

rofi
Програм эхлүүлэгч

окуляр
Баримт бичиг харагч

zathura
Баримт бичиг харагч (олон өргөтгөлийг дэмждэггүй, гэхдээ илүү минималист)

фех
Зураг үзэх, дэвсгэр зургийг тохируулах програм

VIM
Үндсэн редактор

код
Нэмэлт засварлагч

пиком
Хөгжмийн зохиолч (сүүдэр, ил тод байдал, дэвсгэр бүдэгрүүлэх программ)

Kitty
Үндсэн терминал

urxvt
Нэмэлт терминал

stow
Файл менежер

Go
Хувилбарын хяналтын систем

xdotool
Скрипт боловсруулах, цонхтой харилцахад туслах хэрэгсэл

xautolock
Идэвхгүй үед компьютерийг түгжиж, i3-lock-ыг ажиллуулдаг хэрэгсэл

i3lock-өнгө
i3lock-ийн сайжруулсан хувилбар. Энэ програм нь компьютерийг түгжих, нууц үг оруулахад шаардлагатай

scrot
Дэлгэцийн агшинг авах минималист програм

imagemagick
Зурагтай харьцахад тань туслах програм (тэдгээрийг урьдчилан бүдгэрүүлж, хувиргах, нягтралыг өөрчлөх)

i3-г тохируулж байна

i3 - Цонхны менежер нь маш их нөөц шаарддаггүй тул бусад ердийн цонхны менежерүүдийг "дууриах" нь бидэнд хэрэгтэй болно. (Мэдээжийн хэрэг, бэлэг нь хавтанцартай хамт ирдэг - цонхны менежер дэлгэцийн бүхэл бүтэн хэсэгт програмуудыг нээх чадвар.)

Би тохиргоог өгөх болно i3 эхлэгчдэд хүртэл бүх зүйлийг ойлгохын тулд хэсэгчлэн. Хамгийн чухал зүйл болох товчлуураас эхэлье $Mod. Энэ нь харилцахад үйлчилдэг i3. Бүх гол товчлуурууд түүгээр дамжин өнгөрөх болно.

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

Дараа нь бид цонхны менежертээ дарахад хулганаар цонхыг зөөхийг заах болно $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

Бид өөрсдийн хэрэглээний програмууд болон хамааралтай програмуудад зориулж фонтуудыг суулгах болно i3

# Fonts
font pango: JetBrains Mono 10

Миний санаа бол эхлээд бүх цонхыг хийх байсан нисдэг (энэ нь маш тохиромжтой болсон). Тодруулга: in i3 олон төрөл байдаг залгах цонхнууд (Tilling, Fullscreen, Tabbed, Float, Stacking) бүгд өөр өөр нөхцөл байдалд тохиромжтой, гэхдээ би хийх нь утгагүй юм. бүх цонхнууд дэлгэцийг бүхэлд нь дүүргэдэг. Тэднийг дарахад дүүргэхийг зөвшөөрөх нь дээр $mod + f, гэхдээ анхдагчаар агаарт өлгөх бөгөөд үүнийг би дараах кодын хэсэгт хийсэн:

# 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

Та илэрхийлэлд андуурахгүйн тулд (1920 - 10)/2 and (1080 - 10)/2 Энэ нь цонх бүр дэлгэцийн дөрөвний нэгийг эзлэх бөгөөд яг 5 пикселийн (бүх талдаа 5) догол (бие биенээсээ) байх болно гэсэн үг юм.

Дараа нь бүх үндсэн програмуудыг холбоно. Бүх товчлуурууд энэ схемд тохирохыг хичээдэг

Зөөврийн компьютерт зориулсан i3 тохиргоо: гүйцэтгэлийг хэрхэн 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

Мөн бид ямар ч бодолгүйгээр гүйцэтгэдэг, заавал байх ёстой бүх үндсэн чиг үүргийг холбох болно

# 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

Автомат эхлүүлэх хэсгийг хийцгээе

### 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-цоорхой олон шинэ боломжуудыг нэмсэн i3 бүтээц юм. Тэдгээрийн нэг нь харагдахуйц маш сайн харагддаг догол (цоорхой) нэмэх явдал юм.

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

Юу болсон бэ?

Үр дүн нь зөөврийн компьютер дээр маш хурдан ажилладаг, сайн гүйцэтгэлийг өгдөг i3 дээр нэлээд минималист угсралт юм

Зөөврийн компьютерт зориулсан i3 тохиргоо: гүйцэтгэлийг хэрхэн 100% хүртэл бууруулах вэ?

Би маш олон тохиргоог бичсэн тул (энэ нь дэлгэцийн агшинд тодорхой харагдаж байна) тэдгээрийг репозитороос олж болно. Гайхалтай i3.

Өөр хэдэн дэлгэцийн агшин

Зөөврийн компьютерт зориулсан i3 тохиргоо: гүйцэтгэлийг хэрхэн 100% хүртэл бууруулах вэ?

Зөөврийн компьютерт зориулсан i3 тохиргоо: гүйцэтгэлийг хэрхэн 100% хүртэл бууруулах вэ?

Зөөврийн компьютерт зориулсан i3 тохиргоо: гүйцэтгэлийг хэрхэн 100% хүртэл бууруулах вэ?

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх