Cyfluniad i3 ar gyfer gliniadur: sut i leihau perfformiad i 100%?

Yn ddiweddar sylweddolais nad yw fy ngliniadur yn ddigon pwerus. Nid oes ganddo ddigon o bΕ΅er i gymryd popeth gyda'i gilydd: Vim (+ 20 ategyn), VSCode (+ yr un nifer o estyniadau), Google Chrome (+ 20 tab) ac ati. Byddai'n ymddangos yn broblem gyffredin ar gliniaduron gyda 4 GB o RAM, ond ni wnes i roi'r gorau iddi. Rwyf wrth fy modd Γ’ gliniaduron oherwydd eu bod yn gryno a hefyd oherwydd eu bod yn gallu rhedeg ar bΕ΅er batri yn unrhyw le. Roedd angen i mi ddarganfod sut i ryddhau RAM ychwanegol a hefyd cynyddu effeithlonrwydd ynni.

Cyfluniad i3 ar gyfer gliniadur: sut i leihau perfformiad i 100%?

Os oes angen cyfluniadau arnoch ar unwaith, sgroliwch i lawr i'r adran "Dosrannu'r gosodiad"

System weithredu

Gan fod angen OS arnaf a fydd yn defnyddio'r swm lleiaf o RAM a batri, dewisais Arch Linux. Clasurol, dim byd newydd. Bydd ei gadwrfeydd yn fy ngalluogi i awtomeiddio llawer o waith diangen, a AUR bydd yn arbed hyd yn oed mwy o amser.

Rheolwr ffenestr

Penderfynais ddefnyddio rheolwr ffenestri yn hytrach nag amgylchedd llawn. Er fy mod yn hoffi sneakers (KDE), maen nhw'n dal i fwyta cryn dipyn, oherwydd eu bod yn tynnu i fyny cryn dipyn o lyfrgelloedd a dibyniaethau. Wel, mae DE ei hun yn defnyddio cryn dipyn oherwydd pob math o widgets diangen.

Cyfluniad i3 ar gyfer gliniadur: sut i leihau perfformiad i 100%?

Gadewch i ni ddadosod y gosodiad

Yn gyntaf mae angen i ni osod yr holl brif becynnau (mae angen i ni ffurfweddu rhywbeth)

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

Dyma ddiagram bras o sut bydd popeth yn gweithio

Cyfluniad i3 ar gyfer gliniadur: sut i leihau perfformiad i 100%?

Pa becynnau sydd eu hangen ar gyfer beth?

Pecyn
Ar gyfer beth mae ei angen

xwinwrap
Angen gosod ffeiliau gyda'r estyniad .gif fel papurau wal animeiddiedig

polybar
Angenrheidiol er mwyn i'r bar uchaf gael ei arddangos yn y rheolwr ffenestri

i3
Y rheolwr ffenestri ei hun

bylchau i3
Estyniad rheolwr ffenestr

sylfaen-devel
Cydrannau sydd eu hangen i osod polybar

rofi
Lansiwr cais

okular
Gwyliwr dogfen

zathura
Gwyliwr dogfen (nid yw'n cefnogi llawer o estyniadau, ond mae'n fwy minimalaidd)

feh
Rhaglen ar gyfer gwylio lluniau a hefyd ar gyfer gosod delweddau cefndir

vim
Prif olygydd

cod
Golygydd ychwanegol

picom
Cyfansoddwr (rhaglen sy'n creu cysgodion, tryloywder, niwl cefndir)

kitty
Prif derfynell

urxvt
Terfynell ychwanegol

ceidwad
Rheolwr ffeiliau

git
System rheoli fersiwn

xdotool
Cyfleustodau a fydd yn helpu i ddatblygu sgriptiau a rhyngweithio Γ’ ffenestri

xautoglo
Cyfleustodau sy'n cloi'r cyfrifiadur pan fydd yn anactif ac yn lansio i3-lock

i3clo-liw
Gwell fersiwn o i3lock. Mae angen y rhaglen i gloi'r cyfrifiadur a nodi cyfrinair

sgrot
Ap minimalaidd ar gyfer cymryd sgrinluniau

delweddmagick
Rhaglen a fydd yn eich helpu i ryngweithio Γ’ lluniau (eu cymylu ymlaen llaw, eu trosi, newid cydraniad)

Ffurfweddu i3

i3 - Rheolwr ffenestri nad yw'n defnyddio llawer o adnoddau, felly bydd yn ddefnyddiol i ni er mwyn β€œefelychu” rheolwyr ffenestri rheolaidd eraill. (Daw'r anrheg, wrth gwrs, gyda theils - gallu'r rheolwr ffenestri i agor cymwysiadau i ran rydd gyfan y sgrin)

Byddaf yn darparu'r ffurfwedd i3 mewn rhannau, fel bod hyd yn oed dechreuwyr yn deall popeth. Gadewch i ni ddechrau gyda'r peth pwysicaf - y botwm $Mod. Mae'n gwasanaethu i ryngweithio Γ’ i3. Bydd pob hotkeys mawr yn mynd drwyddo.

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

Nesaf, byddwn yn dysgu ein rheolwr ffenestri i symud ffenestri gyda'r llygoden wrth glicio $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

Byddwn yn gosod ffontiau ar gyfer ein cymwysiadau, yn ogystal ag ar gyfer cymwysiadau sy'n dibynnu arnynt i3

# Fonts
font pango: JetBrains Mono 10

Fy syniad oedd gwneud yr holl ffenestri i ddechrau hedfan (sydd, fel y mae'n troi allan, yn gyfleus iawn). Er eglurhad: yn i3 mae llawer o fathau tocio ffenestri (Tilling, Fullscreen, Tabbed, Float, Stacking), mae pob un ohonynt yn gyfleus mewn gwahanol sefyllfaoedd, ond nid wyf yn gweld pwynt gwneud holl ffenestri yn llenwi'r sgrin gyfan. Gwell gadael iddynt ei lenwi pan gaiff ei wasgu $mod + f, ond hongian yn yr awyr yn ddiofyn, a dyna wnes i yn y darn canlynol o god:

# 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

Fel na fyddwch chi'n cael eich drysu gan y mynegiant (1920 - 10)/2 and (1080 - 10)/2 yn golygu y bydd pob ffenestr yn meddiannu chwarter y sgrin, a bydd hefyd mewnoliad (oddi wrth ei gilydd) o union 5 picsel (5 ar bob ochr).

Nesaf, gadewch i ni rwymo'r holl brif geisiadau. Mae pob hotkeys yn ceisio cyfateb y cynllun hwn

Cyfluniad i3 ar gyfer gliniadur: sut i leihau perfformiad i 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

Hefyd, byddwn yn rhwymo'r holl brif swyddogaethau yr ydym yn eu cyflawni heb feddwl, ac sy'n rhaid iddynt fod

# 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

Gadewch i ni wneud adran autostart

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

bylchau i3 yn adeilad i3 sy'n ychwanegu llawer o nodweddion newydd. Mae un ohonynt yn ychwanegu mewnoliadau (bylchau), sy'n edrych yn dda iawn yn weledol.

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

Beth ddigwyddodd?

A'r canlyniad yw cynulliad eithaf minimalaidd ar i3, sy'n gweithio'n gyflym iawn ar gliniaduron ac yn rhoi perfformiad da

Cyfluniad i3 ar gyfer gliniadur: sut i leihau perfformiad i 100%?

Ers i mi ysgrifennu llawer o ffurfweddiadau (sydd i'w gweld yn glir yn y sgrin), maent i'w cael yn yr ystorfa Gwych i3.

Cwpl sgrinluniau mwy

Cyfluniad i3 ar gyfer gliniadur: sut i leihau perfformiad i 100%?

Cyfluniad i3 ar gyfer gliniadur: sut i leihau perfformiad i 100%?

Cyfluniad i3 ar gyfer gliniadur: sut i leihau perfformiad i 100%?

Ffynhonnell: hab.com

Ychwanegu sylw