i3-agordo por tekkomputilo: kiel redukti rendimenton al 100%?

Lastatempe mi konstatis, ke mia tekkomputilo ne estas sufiĉe potenca. Ĝi ne havas sufiĉe da potenco por preni ĉion kune: Vim (+ 20 kromaĵojn), VSCode (+ la sama nombro da etendoj), Google Chrome (+ 20 langetoj) ktp. Ŝajnus, ke ĝi estas ofta problemo ĉe tekkomputiloj kun 4 GB da RAM, sed mi ne rezignis. Mi amas tekkomputilojn ĉar ili estas kompaktaj kaj ankaŭ ĉar ili povas funkcii per bateria potenco ie ajn. Mi nur bezonis eltrovi kiel liberigi kroman RAM kaj ankaŭ pliigi energian efikecon.

i3-agordo por tekkomputilo: kiel redukti rendimenton al 100%?

Se vi bezonas agordojn tuj, tiam rulumu malsupren al la sekcio "Analizante la instaladon"

operaciumo

Ĉar mi bezonas OS, kiu konsumos la plej malgrandan kvanton da RAM kaj baterio, mi elektis Arch Linukso. Klasika, nenio nova. Liaj deponejoj permesos al mi aŭtomatigi multajn nenecesajn laborojn, kaj AUR ŝparos eĉ pli da tempo.

Fenestra Administranto

Mi decidis uzi fenestran administranton prefere ol plenan medion. Kvankam mi ŝatas sneakers (KDE), ili ankoraŭ manĝas sufiĉe multe, pro la fakto ke ili tiras supren sufiĉe multe da bibliotekoj kaj dependecoj. Nu, DE mem konsumas sufiĉe multe pro ĉiaj nenecesaj fenestraĵoj.

i3-agordo por tekkomputilo: kiel redukti rendimenton al 100%?

Ni malmuntu la instaladon

Unue ni devas instali ĉiujn ĉefajn pakaĵojn (ni devas agordi ion)

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

Jen malglata diagramo pri kiel ĉio funkcios

i3-agordo por tekkomputilo: kiel redukti rendimenton al 100%?

Kiuj pakoj estas necesaj por kio?

Pako
Por kio ĝi bezonas

xwinwrap
Necesas instali dosierojn kun la etendo .gif kiel viglajn tapetojn

polistango
Bezonata por ke la supra trinkejo estu montrata en la fenestromanaĝero

i3
La fenestromanaĝero mem

i3-truoj
Finestra administranto etendo

bazo-devel
Komponantoj necesaj por instali plurstangon

rofi
Lanĉilo de aplikaĵoj

okula
Dokumentrigardilo

zathura
Dokumentrigardilo (ne subtenas multajn etendaĵojn, sed estas pli minimumisma)

feh
Programo por vidi bildojn kaj ankaŭ por agordi fonbildojn

vim
Ĉefa redaktoro

kodo
Plia redaktisto

pikomo
Komponisto (programo, kiu kreas ombrojn, travideblecon, fonan malklariĝon)

kitito
Ĉefa terminalo

urxvt
Plia terminalo

ordigita
Dosieradministrilo

iri
Sistemo de kontrolo de versio

xdotool
Ilo, kiu helpos disvolvi skriptojn kaj interagi kun fenestroj

xautolock
Ilo, kiu ŝlosas la komputilon kiam neaktiva kaj lanĉas i3-lock

i3lock-koloro
Plibonigita versio de i3lock. La programo estas necesa por ŝlosi la komputilon kaj enigi pasvorton

skroto
Minimuma aplikaĵo por preni ekrankopiojn

ImageMagick
Programo kiu helpos vin interagi kun bildoj (malklarigas ilin anticipe, konvertas ilin, ŝanĝas rezolucion)

Agordante i3

i3 - Fenestra administranto, kiu ne konsumas multajn rimedojn, do ĝi estos utila por ni por "imuli" aliajn regulajn fenestrajn administrantojn. (La donaco, kompreneble, venas kun kahelaro - la kapablo de la fenestra administranto malfermi aplikojn al la tuta libera parto de la ekrano.)

Mi provizos la agordon i3 en partoj, por ke eĉ komencantoj komprenu ĉion. Ni komencu per la plej grava afero - la butono $Mod. Ĝi utilas por interagi kun i3. Ĉiuj ĉefaj klavoj trapasos ĝin.

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

Poste, ni instruos nian fenestran administranton movi fenestrojn per la muso kiam oni klakas $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

Ni instalos tiparojn por niaj aplikaĵoj, same kiel por aplikaĵoj, kiuj dependas de i3

# Fonts
font pango: JetBrains Mono 10

Mia ideo estis fari ĉiujn fenestrojn komence flugante (kiu, kiel montriĝis, estas tre oportuna). Por klarigo: en i3 estas multaj tipoj albordiĝo fenestroj (Ting, Plenekrano, Tabbed, Float, Stacking), ĉiuj estas oportunaj en malsamaj situacioj, sed mi ne vidas la signifon fari ĉiuj fenestroj plenigante la tutan ekranon. Pli bone lasu ilin plenigi ĝin kiam premate $mod + f, sed pendi en la aero defaŭlte, kion mi faris en la sekva kodo:

# 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

Por ke vi ne konfuziĝu de la esprimo (1920 - 10)/2 and (1080 - 10)/2 signifas, ke ĉiu fenestro okupos kvaronon de la ekrano, kaj ankaŭ estos indentaĵo (de unu la alian) de ekzakte 5 pikseloj (5 ĉiuflanke).

Poste, ni ligu ĉiujn ĉefajn aplikojn. Ĉiuj klavoj provas kongrui kun ĉi tiu skemo

i3-agordo por tekkomputilo: kiel redukti rendimenton al 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

Ankaŭ ni ligos ĉiujn ĉefajn funkciojn, kiujn ni plenumas sen pensi, kaj kiuj devas esti

# 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

Ni faru aŭtomatan sekcion

### 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-truoj estas i3-konstruaĵo, kiu aldonas multajn novajn funkciojn. Unu el ili aldonas indentaĵojn (interspacojn), kiuj videble aspektas tre bone.

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

Kio okazis?

Kaj la rezulto estas sufiĉe minimumisma asembleo sur i3, kiu funkcias tre rapide sur tekkomputiloj kaj donas bonan rendimenton

i3-agordo por tekkomputilo: kiel redukti rendimenton al 100%?

Ĉar mi skribis multajn agordojn (kio estas klare videbla en la ekrankopio), ili troveblas en la deponejo. Granda i3.

Kelkaj pliaj ekrankopioj

i3-agordo por tekkomputilo: kiel redukti rendimenton al 100%?

i3-agordo por tekkomputilo: kiel redukti rendimenton al 100%?

i3-agordo por tekkomputilo: kiel redukti rendimenton al 100%?

fonto: www.habr.com

Aldoni komenton