i3 configuration para sa isang laptop: paano bawasan ang performance sa 100%?

Kamakailan ay napagtanto ko na ang aking laptop ay hindi sapat na malakas. Wala itong sapat na kapangyarihan upang pagsamahin ang lahat: Vim (+ 20 plugin), VSCode (+ parehong bilang ng mga extension), Google Chrome (+ 20 tab) at iba pa. Ito ay tila isang karaniwang problema sa mga laptop na may 4 GB ng RAM, ngunit hindi ako sumuko. Gustung-gusto ko ang mga laptop dahil ang mga ito ay compact at dahil din sa maaari silang tumakbo sa lakas ng baterya kahit saan. Kailangan ko lang malaman kung paano magbakante ng dagdag na RAM at dagdagan din ang kahusayan sa enerhiya.

i3 configuration para sa isang laptop: paano bawasan ang performance sa 100%?

Kung kailangan mo kaagad ng mga config, pagkatapos ay mag-scroll pababa sa seksyong "Parsing the installation"

Operating system

Dahil kailangan ko ng OS na kumonsumo ng pinakamababang halaga ng RAM at baterya, pinili ko Arch Linux. Classic, walang bago. Ang kanyang mga repositoryo ay magpapahintulot sa akin na i-automate ang maraming hindi kinakailangang gawain, at AUR mas makakatipid pa ng oras.

Window Manager

Nagpasya akong gumamit ng window manager sa halip na isang ganap na kapaligiran. Bagama't gusto ko ang mga sneaker (KDE), kumakain pa rin sila ng marami, dahil sa katotohanang marami silang mga library at dependencies. Well, ang DE mismo ay kumokonsumo ng marami dahil sa lahat ng uri ng hindi kinakailangang mga widget.

i3 configuration para sa isang laptop: paano bawasan ang performance sa 100%?

I-disassemble natin ang pag-install

Una kailangan nating i-install ang lahat ng pangunahing mga pakete (kailangan nating i-configure ang isang bagay)

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

Narito ang isang magaspang na diagram kung paano gagana ang lahat

i3 configuration para sa isang laptop: paano bawasan ang performance sa 100%?

Aling mga pakete ang kailangan para sa ano?

Package
Ano ang kinakailangan

xwinwrap
Kailangang mag-install ng mga file na may extension na .gif bilang mga animated na wallpaper

polybar
Kailangan para maipakita ang topbar sa window manager

i3
Ang window manager mismo

i3-gaps
Extension ng window manager

base-devel
Mga sangkap na kinakailangan upang mai-install ang polybar

rofi
Application launcher

okular
Tagatingin ng dokumento

zathura
Document viewer (hindi sumusuporta sa maraming extension, ngunit mas minimalistic)

feh
Isang programa para sa pagtingin ng mga larawan at para din sa pagtatakda ng mga larawan sa background

kalakasan
Pangunahing editor

code
Karagdagang editor

picom
Composer (isang program na lumilikha ng mga anino, transparency, background blur)

Kitty
Pangunahing terminal

urxvt
Karagdagang terminal

tanod-gubat
Tagapamahala ng file

pumunta
Sistema ng kontrol ng bersyon

xdotool
Isang utility na makakatulong sa pagbuo ng mga script at pakikipag-ugnayan sa mga bintana

xautolock
Isang utility na nagla-lock ng computer kapag hindi aktibo at naglulunsad ng i3-lock

i3lock-kulay
Pinahusay na bersyon ng i3lock. Ang programa ay kinakailangan upang i-lock ang computer at magpasok ng isang password

scrot
Minimalist na app para sa pagkuha ng mga screenshot

imagemagick
Isang program na tutulong sa iyo na makipag-ugnayan sa mga larawan (na-blur ang mga ito nang maaga, kino-convert ang mga ito, binabago ang resolution)

Pag-configure ng i3

i3 - Isang window manager na hindi kumonsumo ng maraming mapagkukunan, kaya ito ay magiging kapaki-pakinabang para sa amin upang "tularan" ang iba pang mga regular na window manager. (Ang regalo, siyempre, ay may kasamang tiling - ang kakayahan ng window manager na magbukas ng mga application sa buong libreng bahagi ng screen)

Ibibigay ko ang config i3 sa mga bahagi, upang kahit na ang mga nagsisimula ay maunawaan ang lahat. Magsimula tayo sa pinakamahalagang bagay - ang pindutan $Mod. Nagsisilbi itong makipag-ugnayan sa i3. Lahat ng mga pangunahing hotkey ay dadaan dito.

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

Susunod, tuturuan namin ang aming window manager na ilipat ang mga bintana gamit ang mouse kapag na-click $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

Mag-i-install kami ng mga font para sa aming mga application, pati na rin para sa mga application na umaasa sa i3

# Fonts
font pango: JetBrains Mono 10

Ang aking ideya ay gawin ang lahat ng mga bintana sa simula lumilipad (na, bilang ito ay naging, ay napaka-maginhawa). Para sa paglilinaw: sa i3 maraming uri pagdaong windows (Tilling, Fullscreen, Tabbed, Float, Stacking), lahat ng ito ay maginhawa sa iba't ibang sitwasyon, ngunit hindi ko nakikita ang punto sa paggawa lahat mga bintana na pumupuno sa buong screen. Mas mahusay na hayaan silang punan ito kapag pinindot $mod + f, ngunit mag-hang sa hangin bilang default, na kung ano ang ginawa ko sa sumusunod na piraso ng code:

# 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

Para hindi ka malito sa expression (1920 - 10)/2 and (1080 - 10)/2 nangangahulugan na ang bawat window ay sasakupin ang isang-kapat ng screen, at magkakaroon din ng indentation (mula sa bawat isa) na eksaktong 5 pixels (5 sa lahat ng panig).

Susunod, itali natin ang lahat ng pangunahing aplikasyon. Sinusubukan ng lahat ng hotkey na tumugma sa scheme na ito

i3 configuration para sa isang laptop: paano bawasan ang performance sa 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

Gayundin, ibibigkis namin ang lahat ng mga pangunahing pag-andar na ginagawa namin nang walang pag-iisip, at kung alin ang dapat

# 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

Gumawa tayo ng seksyong 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

i3-gaps ay isang i3 build na nagdaragdag ng maraming bagong feature. Ang isa sa mga ito ay ang pagdaragdag ng mga indent (gaps), na nakikitang napakaganda.

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

Ano ang nangyari?

At ang resulta ay isang medyo minimalistic na pagpupulong sa i3, na gumagana nang napakabilis sa mga laptop at nagbibigay ng mahusay na pagganap

i3 configuration para sa isang laptop: paano bawasan ang performance sa 100%?

Dahil sumulat ako ng maraming mga pagsasaayos (na malinaw na nakikita sa screenshot), makikita ang mga ito sa repositoryo Mahusay na i3.

Ilang screenshot pa

i3 configuration para sa isang laptop: paano bawasan ang performance sa 100%?

i3 configuration para sa isang laptop: paano bawasan ang performance sa 100%?

i3 configuration para sa isang laptop: paano bawasan ang performance sa 100%?

Pinagmulan: www.habr.com

Magdagdag ng komento