i3-kannettavan kokoonpano: kuinka vähentää suorituskykyä 100%:iin?

Tajusin äskettäin, että kannettavani ei toimi tarpeeksi hyvin. Siitä puuttuu voima yhdistää kaikkea: Vim (+ 20 laajennusta), VSCode (+ sama määrä laajennuksia), Google Chrome (+ 20 välilehteä) ja niin edelleen. Se näytti olevan yleinen ongelma kannettavissa tietokoneissa, joissa on 4 Gt RAM-muistia, mutta en antanut periksi. Rakastan kannettavia tietokoneita niiden pienen koon ja sen vuoksi, että ne toimivat akulla missä tahansa. Minun piti vain miettiä, kuinka vapauttaa ylimääräistä RAM-muistia ja lisätä energiatehokkuutta.

i3-kannettavan kokoonpano: kuinka vähentää suorituskykyä 100%:iin?

Jos tarvitset asetuksia heti, vieritä alas kohtaan "Asennuksen nouto"

Käyttöjärjestelmä

Koska tarvitsen käyttöjärjestelmän, joka syö vähiten RAM-muistia ja akkua, valitsin Arch Linux. Klassikko, ei mitään uutta. Sen arkistot antavat minulle mahdollisuuden automatisoida joukon turhaa työtä ja AUR säästää vielä enemmän aikaa.

ikkunanhallinta

Päätin ottaa ikkunahallinnan, en täysimittaista ympäristöä. Vaikka pidän lenkkareista (KDE), ne syövät silti melko paljon, koska ne keräävät mukanaan paljon kirjastoja ja riippuvuuksia. No, sinänsä DE'shka syö aika paljon kaikenlaisten turhien widgetien takia.

i3-kannettavan kokoonpano: kuinka vähentää suorituskykyä 100%:iin?

Asennusohjelman jäsentäminen

Ensin meidän on asennettava kaikki pääpaketit (meidän on määritettävä jotain)

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

Tässä on esimerkkikaavio siitä, kuinka se toimii

i3-kannettavan kokoonpano: kuinka vähentää suorituskykyä 100%:iin?

Mitä paketteja tarvitaan mihin?

paketti
Mitä tarvitaan

xwinwrap
Vaaditaan .gif-tiedostojen asentamiseen animoituina taustakuvina

polybar
Tarvitaan, jotta ikkunanhallinta näyttää yläpalkin

i3
Itse ikkunanhallinta

i3-aukkoja
Ikkunanhallinnan laajennus

pohja-kehitys
Polybarin asentamiseen tarvittavat komponentit

vaihtaa
Sovellusten käynnistysohjelma

okulaarinen
Asiakirjan katseluohjelma

Zathura
Asiakirjojen katseluohjelma (vähemmän laajennuksia tuettu, mutta minimalistisempi)

puuttuu
Ohjelma kuvien katseluun ja taustakuvien asettamiseen

puhti
Päätoimittaja

koodi
Lisäeditori

picom
Composer (ohjelma, joka luo varjoja, läpinäkyvyyttä, sumentaa taustaa)

kisu
Pääterminaali

urxvt
Lisäterminaali

metsänvartija
Tiedostonhallinta

mennä
Versionhallintajärjestelmä

xdotool
Apuohjelma, joka auttaa skriptien kehittämisessä ja vuorovaikutuksessa ikkunoiden kanssa

xautolock
Apuohjelma, joka lukitsee tietokoneen käyttämättömänä ja käynnistää i3-lockin

i3lock väri
Parannettu versio i3lockista. Ohjelmaa tarvitaan tietokoneen lukitsemiseen ja salasanan syöttämiseen

scrot
Minimalistinen kuvakaappaussovellus

ImageMagick
Ohjelma, joka auttaa vuorovaikutuksessa kuvien kanssa (sumentaa ne etukäteen, muuntaa, muuttaa resoluutiota)

i3:n konfigurointi

i3 - Ikkunanhallinta, joka ei kuluta paljon resursseja, joten siitä on meille hyötyä muiden tavallisten ikkunoiden hallintaohjelmien "emuloinnissa". (Lahja on tietysti laatoitus - ikkunanhallinnan kyky laajentaa sovelluksia koko näytön vapaaseen osaan)

Annan konfiguraation i3 osissa, jotta aloittelijatkin ymmärtävät kaiken. Aloitetaan tärkeimmästä - painikkeesta $mod. Se palvelee vuorovaikutuksessa i3. Kaikki tärkeimmät pikanäppäimet kulkevat sen läpi.

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

Seuraavaksi opetamme ikkunanhallintaamme siirtämään ikkunoita hiirellä, kun sitä napsautetaan. $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

Asennamme kirjasimia sovelluksiimme sekä sovelluksiin, jotka riippuvat niistä i3

# Fonts
font pango: JetBrains Mono 10

Ajatukseni oli tehdä kaikki ikkunat aluksi lentäminen (Mikä osoittautui erittäin käteväksi). Selvennykseksi: sisään i3 niitä on monenlaisia telakointi ikkunat (Tilling, Fullscreen, Tabbed, Float, Pinoaminen), ne ovat kaikki käteviä eri tilanteissa, mutta en näe mitään syytä tehdä kaikki ikkunat täyttävät koko näytön. Anna niiden täyttää se painettaessa $mod + f, mutta roikkuu oletuksena ilmassa, minkä tein seuraavassa koodinpätkässä:

# 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

Jotta ilmaisu ei sekoitettaisi (1920 - 10)/2 and (1080 - 10)/2 tarkoittaa, että jokainen ikkuna vie neljänneksen näytöstä ja on myös sisennetty (toisistaan) täsmälleen 5 pikseliä (5 joka puolella).

Sidotaan seuraavaksi kaikki pääsovellukset. Kaikki pikanäppäimet yrittävät noudattaa tätä järjestelmää.

i3-kannettavan kokoonpano: kuinka vähentää suorituskykyä 100%:iin?

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

Lisäksi sitomme kaikki päätoiminnot, jotka suoritamme ajattelematta ja joiden täytyy olla

# 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

Tehdään automaattinen käynnistysosio

### 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-aukkoja - rakentaa i3, joka lisää monia uusia ominaisuuksia. Yksi niistä on välilyöntien (rakojen) lisääminen, jotka näyttävät visuaalisesti erittäin hyvältä.

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

Mitä tapahtui?

Ja se osoittautui melko minimalistiseksi kokoonpanoksi i3:ssa, joka toimii erittäin nopeasti kannettavissa tietokoneissa ja antaa hyvän suorituskyvyn.

i3-kannettavan kokoonpano: kuinka vähentää suorituskykyä 100%:iin?

Koska kirjoitin paljon asetuksia (joka näkyy selvästi kuvakaappauksessa), ne löytyvät arkistosta Hieno i3.

Pari kuvakaappausta lisää

i3-kannettavan kokoonpano: kuinka vähentää suorituskykyä 100%:iin?

i3-kannettavan kokoonpano: kuinka vähentää suorituskykyä 100%:iin?

i3-kannettavan kokoonpano: kuinka vähentää suorituskykyä 100%:iin?

Lähde: will.com

Lisää kommentti