Konfiguracija i3 za prenosnik: kako zmanjšati zmogljivost na 100%?

Pred kratkim sem ugotovil, da moj prenosnik ni dovolj zmogljiv. Nima dovolj moči, da bi vzel vse skupaj: Vim (+ 20 vtičnikov), VSCode (+ enako število razširitev), Google Chrome (+ 20 zavihkov) itd. Zdi se, da je to pogosta težava pri prenosnikih s 4 GB RAM-a, vendar se nisem vdal. Obožujem prenosnike, ker so kompaktni in tudi zato, ker lahko delujejo na baterijo kjer koli. Samo ugotoviti sem moral, kako sprostiti dodaten RAM in povečati energetsko učinkovitost.

Konfiguracija i3 za prenosnik: kako zmanjšati zmogljivost na 100%?

Če potrebujete konfiguracije takoj, se pomaknite navzdol do razdelka »Razčlenjevanje namestitve«

Operacijski sistem

Ker potrebujem OS, ki bo porabil najmanj RAM-a in baterije, sem izbral Arch Linux. Klasika, nič novega. Njegovi repozitoriji mi bodo omogočili, da avtomatiziram veliko nepotrebnega dela in AUR bo prihranilo še več časa.

Upravitelj oken

Odločil sem se za uporabo upravitelja oken namesto polnopravnega okolja. Čeprav imam rada superge (KDE), pa še vedno precej požrejo, zaradi dejstva, da potegnejo gor kar veliko knjižnic in odvisnosti. No, sam DE porabi kar precej zaradi raznoraznih nepotrebnih widgetov.

Konfiguracija i3 za prenosnik: kako zmanjšati zmogljivost na 100%?

Razstavimo instalacijo

Najprej moramo namestiti vse glavne pakete (nekaj moramo konfigurirati)

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

Tukaj je približen diagram, kako bo vse delovalo

Konfiguracija i3 za prenosnik: kako zmanjšati zmogljivost na 100%?

Kateri paketi so potrebni za kaj?

Paket
Zakaj potrebujemo

xwinwrap
Potrebno za namestitev datotek s končnico .gif kot animiranih ozadij

polibar
Potreben za prikaz zgornje vrstice v upravitelju oken

i3
Sam upravitelj oken

Vrzeli i3
Razširitev upravitelja oken

osnova-razvoj
Komponente, potrebne za namestitev polybar

rofi
Zaganjalnik aplikacij

okular
Pregledovalnik dokumentov

Zathura
Pregledovalnik dokumentov (ne podpira veliko razširitev, vendar je bolj minimalističen)

feh
Program za pregledovanje slik in tudi za nastavitev slik v ozadju

vim
Glavni urednik

Koda
Dodatni urejevalnik

picom
Composer (program, ki ustvarja sence, prosojnost, zameglitev ozadja)

kitty
Glavni terminal

urxvt
Dodatni terminal

ranger
Upravitelj datotek

git
Sistem za nadzor različic

xdotool
Pripomoček, ki bo pomagal pri razvijanju skriptov in interakciji z okni

xautolock
Pripomoček, ki zaklene računalnik, ko je nedejaven, in zažene i3-lock

i3lock-barva
Izboljšana različica i3lock. Program je potreben za zaklepanje računalnika in vnos gesla

skrot
Minimalistična aplikacija za snemanje posnetkov zaslona

ImageMagick
Program, ki vam bo pomagal pri interakciji s slikami (predhodno jih zamegli, pretvori, spremeni ločljivost)

Konfiguriranje i3

i3 - Upravljalnik oken, ki ne porabi veliko virov, zato nam bo koristil za »posnemanje« drugih običajnih upraviteljev oken. (Darilo seveda prinese tiling - zmožnost okenskega upravitelja, da odpre aplikacije na celotnem prostem delu zaslona)

Priskrbel bom konfiguracijo i3 po delih, tako da tudi začetniki razumejo vse. Začnimo pri najpomembnejšem – gumbu $Mod. Služi za interakcijo z i3. Skozi to bodo šle vse glavne bližnjične tipke.

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

Nato bomo našega upravitelja oken naučili premikati okna z miško, ko kliknemo $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

Namestili bomo pisave za naše aplikacije, pa tudi za aplikacije, ki so odvisne od i3

# Fonts
font pango: JetBrains Mono 10

Moja ideja je bila, da bi najprej naredila vsa okna letenje (kar je, kot se je izkazalo, zelo priročno). Za pojasnilo: v i3 obstaja veliko vrst priklop okna (Tilling, Fullscreen, Tabbed, Float, Stacking), vsa so primerna v različnih situacijah, vendar ne vidim smisla v tem, Vsi okna, ki zapolnijo celoten zaslon. Bolje, da ga napolnijo, ko ga pritisnete $mod + f, vendar privzeto visi v zraku, kar sem naredil v naslednjem delu kode:

# 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

Da vas ne bo zmedel izraz (1920 - 10)/2 and (1080 - 10)/2 pomeni, da bo vsako okno zasedlo četrtino zaslona, ​​poleg tega pa bo tudi zamik (med seboj) točno 5 slikovnih pik (5 na vseh straneh).

Nato povežimo vse glavne aplikacije. Vse bližnjične tipke poskušajo ustrezati tej shemi

Konfiguracija i3 za prenosnik: kako zmanjšati zmogljivost na 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

Prav tako bomo vezali vse glavne funkcije, ki jih opravljamo brez razmišljanja in ki morajo biti

# 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

Naredimo razdelek za samodejni zagon

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

Vrzeli i3 je različica i3, ki dodaja številne nove funkcije. Ena od njih je dodajanje vdolbin (vrzeli), ki vizualno izgledajo zelo dobro.

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

Kaj se je zgodilo?

In rezultat je precej minimalističen sklop na i3, ki na prenosnikih deluje zelo hitro in daje dobro zmogljivost

Konfiguracija i3 za prenosnik: kako zmanjšati zmogljivost na 100%?

Ker sem napisal veliko konfiguracij (kar je jasno vidno na posnetku zaslona), jih je mogoče najti v repozitoriju Odličen i3.

Še nekaj posnetkov zaslona

Konfiguracija i3 za prenosnik: kako zmanjšati zmogljivost na 100%?

Konfiguracija i3 za prenosnik: kako zmanjšati zmogljivost na 100%?

Konfiguracija i3 za prenosnik: kako zmanjšati zmogljivost na 100%?

Vir: www.habr.com

Dodaj komentar