i3 nešiojamojo kompiuterio konfigūracija: kaip sumažinti našumą iki 100%?

Neseniai supratau, kad mano nešiojamas kompiuteris nėra pakankamai galingas. Neužtenka galios, kad būtų galima viską sujungti: Vim (+ 20 įskiepių), VSCode (+ tiek pat plėtinių), Google Chrome (+ 20 skirtukų) ir pan. Atrodytų, kad tai dažna nešiojamųjų kompiuterių su 4 GB RAM problema, bet aš nepasidaviau. Man patinka nešiojamieji kompiuteriai, nes jie yra kompaktiški ir todėl, kad jie gali veikti su akumuliatoriaus energija bet kur. Man tiesiog reikėjo išsiaiškinti, kaip atlaisvinti papildomos RAM ir padidinti energijos vartojimo efektyvumą.

i3 nešiojamojo kompiuterio konfigūracija: kaip sumažinti našumą iki 100%?

Jei jums reikia konfigūracijų iš karto, slinkite žemyn iki skyriaus „Įdiegimo analizė“

Operacinė sistema

Kadangi man reikia OS, kuri sunaudos mažiausiai RAM ir baterijos, pasirinkau Arch Linux. Klasika, nieko naujo. Jo saugyklos leis man automatizuoti daugybę nereikalingų darbų ir AUR sutaupys dar daugiau laiko.

Langų tvarkyklė

Nusprendžiau naudoti langų tvarkyklę, o ne visavertę aplinką. Nors man patinka sportbačiai (KDE), jie vis tiek suvalgo gana daug dėl to, kad juose yra daug bibliotekų ir priklausomybių. Na, o pati DE sunaudoja gana daug dėl visokių nereikalingų widgetų.

i3 nešiojamojo kompiuterio konfigūracija: kaip sumažinti našumą iki 100%?

Išardykime instaliaciją

Pirmiausia turime įdiegti visus pagrindinius paketus (turime ką nors sukonfigūruoti)

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

Čia yra apytikslė schema, kaip viskas veiks

i3 nešiojamojo kompiuterio konfigūracija: kaip sumažinti našumą iki 100%?

Kokių paketų kam reikia?

Pakuotė
Kodėl mums reikia

xwinwrap
Reikalingas norint įdiegti failus su plėtiniu .gif kaip animuotus fono paveikslėlius

polibaras
Reikia, kad viršutinė juosta būtų rodoma langų tvarkyklėje

i3
Pati langų tvarkyklė

i3 spragas
Langų tvarkyklės plėtinys

pagrindas-išsivystymas
Komponentai, reikalingi polibarui įdiegti

rofi
Programų paleidimo priemonė

okuliarus
Dokumentų peržiūros priemonė

zathura
Dokumentų peržiūros priemonė (nepalaiko daug plėtinių, bet yra labiau minimalistiška)

feh
Programa, skirta nuotraukų peržiūrai ir fono vaizdų nustatymui

energija
Pagrindinis redaktorius

kodas
Papildomas redaktorius

picom
Kompozitorius (programa, kurianti šešėlius, skaidrumą, fono suliejimą)

katytė
Pagrindinis terminalas

urxvt
Papildomas terminalas

girininkas
Failų tvarkyklė

Git
Versijų valdymo sistema

xdotool
Priemonė, kuri padės kurti scenarijus ir sąveikauti su langais

xautolock
Priemonė, kuri užrakina kompiuterį, kai jis neaktyvus, ir paleidžia i3-lock

i3lock spalvos
Patobulinta i3lock versija. Programa reikalinga kompiuteriui užrakinti ir slaptažodžiui įvesti

skrotelė
Minimalistinė programa ekrano kopijoms daryti

ImageMagic
Programa, kuri padės jums bendrauti su nuotraukomis (iš anksto jas sulieja, konvertuoja, keičia skiriamąją gebą)

i3 konfigūravimas

i3 - Langų tvarkyklė, kuri nesunaudoja daug resursų, todėl bus naudinga mums norint „emuliuoti“ kitas įprastas langų tvarkykles. (Premija, žinoma, yra plytelių klojimas - langų tvarkyklės galimybė atidaryti programas visoje laisvoje ekrano dalyje)

Pateiksiu konfigūraciją i3 dalimis, kad net pradedantieji viską suprastų. Pradėkime nuo svarbiausio dalyko – mygtuko $Mod. Jis tarnauja bendravimui su i3. Visi pagrindiniai spartieji klavišai praeis per jį.

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

Tada mes išmokysime savo langų tvarkyklę perkelti langus spustelėjus $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

Mes įdiegsime šriftus savo programoms, taip pat programoms, kurios priklauso nuo i3

# Fonts
font pango: JetBrains Mono 10

Mano idėja buvo iš pradžių padaryti visus langus skraidantis (kas, kaip paaiškėjo, yra labai patogu). Dėl paaiškinimo: in i3 yra daug rūšių prijungimas langai (Tilling, Fullscreen, Tabbed, Float, Stacking), visi jie yra patogūs įvairiose situacijose, bet nematau prasmės daryti visi langai, užpildantys visą ekraną. Geriau leiskite jiems užpildyti jį paspaudus $mod + f, bet pagal numatytuosius nustatymus kabo ore, ką aš padariau šioje kodo dalyje:

# 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

Kad nesupainiotumėte dėl posakio (1920 - 10)/2 and (1080 - 10)/2 reiškia, kad kiekvienas langas užims ketvirtadalį ekrano, taip pat bus lygiai 5 pikselių (5 iš visų pusių) įdubimas (vienas nuo kito).

Tada susiekime visas pagrindines programas. Visi spartieji klavišai bando atitikti šią schemą

i3 nešiojamojo kompiuterio konfigūracija: kaip sumažinti našumą iki 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

Taip pat susiesime visas pagrindines funkcijas, kurias atliekame negalvodami ir kurios turi būti

# 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

Padarykime automatinio paleidimo skyrių

### 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 spragas yra i3 versija, kuri prideda daug naujų funkcijų. Vienas iš jų yra įtraukų (tarpų) pridėjimas, kuris vizualiai atrodo labai gerai.

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

Kas atsitiko?

Rezultatas yra gana minimalistinis i3 rinkinys, kuris labai greitai veikia nešiojamuosiuose kompiuteriuose ir užtikrina gerą našumą

i3 nešiojamojo kompiuterio konfigūracija: kaip sumažinti našumą iki 100%?

Kadangi parašiau daug konfigūracijų (kas aiškiai matoma ekrano kopijoje), jas galima rasti saugykloje Puikus i3.

Dar pora ekrano kopijų

i3 nešiojamojo kompiuterio konfigūracija: kaip sumažinti našumą iki 100%?

i3 nešiojamojo kompiuterio konfigūracija: kaip sumažinti našumą iki 100%?

i3 nešiojamojo kompiuterio konfigūracija: kaip sumažinti našumą iki 100%?

Šaltinis: www.habr.com

Добавить комментарий