и3 конфигурација за лаптоп: како смањити перформансе на 100%?

Недавно сам схватио да мој лаптоп није довољно моћан. Нема довољно снаге да узме све заједно: Вим (+ 20 додатака), ВСЦоде (+ исти број екстензија), Гоогле Цхроме (+ 20 картица) и тако даље. Чини се да је то уобичајен проблем на лаптоповима са 4 ГБ РАМ-а, али нисам одустао. Волим лаптопове јер су компактни и зато што могу да раде на батерију било где. Само сам требао да схватим како да ослободим додатни РАМ и повећам енергетску ефикасност.

и3 конфигурација за лаптоп: како смањити перформансе на 100%?

Ако су вам одмах потребне конфигурације, померите се надоле до одељка „Разбрајање инсталације“

Оперативни систем

Пошто ми треба ОС који ће трошити најмање РАМ-а и батерије, изабрао сам Арцх Линук. Класика, ништа ново. Његова спремишта ће ми омогућити да аутоматизујем много непотребног посла, и АУР уштедеће још више времена.

Менаџер прозора

Одлучио сам да користим менаџер прозора уместо пуноправног окружења. Иако волим патике (КДЕ), оне и даље доста поједу, због чињенице да повлаче доста библиотека и зависности. Па, сам ДЕ троши доста због разних непотребних виџета.

и3 конфигурација за лаптоп: како смањити перформансе на 100%?

Хајде да раставимо инсталацију

Прво морамо да инсталирамо све главне пакете (треба нешто да конфигуришемо)

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

Ево грубог дијаграма како ће све функционисати

и3 конфигурација за лаптоп: како смањити перформансе на 100%?

Који пакети су потребни за шта?

Пластична кеса
Шта је потребно

квинврап
Потребно је за инсталирање датотека са екстензијом .гиф као анимираних позадина

полибар
Потребно је да би се горња трака приказала у менаџеру прозора

i3
Сам менаџер прозора

и3-празнине
Екстензија за управљање прозорима

база-развој
Компоненте потребне за инсталирање полибара

рофи
Покретач апликација

окулар
Прегледач докумената

затхура
Прегледач докумената (не подржава много екстензија, али је минималистичкији)

фех
Програм за гледање слика, као и за постављање позадинских слика

енергија
Главни уредник

код
Додатни уредник

пицом
Цомпосер (програм који ствара сенке, транспарентност, замућење позадине)

маче
Главни терминал

урквт
Додатни терминал

рангер
Филе манагер

git
Систем контроле верзија

кдотоол
Услужни програм који ће помоћи у развоју скрипти и интеракцији са прозорима

каутолоцк
Услужни програм који закључава рачунар када је неактиван и покреће и3-лоцк

и3лоцк-цолор
Побољшана верзија и3лоцк-а. Програм је потребан за закључавање рачунара и унос лозинке

скрот
Минималистичка апликација за прављење снимака екрана

ИмагеМагицк
Програм који ће вам помоћи да комуницирате са сликама (унапред их замагљује, претвара, мења резолуцију)

Конфигурисање и3

i3 - Менаџер прозора који не троши много ресурса, па ће нам бити од користи да бисмо „емулирали“ друге обичне менаџере прозора. (Бонус је, наравно, поплочавање - могућност менаџера прозора да отвара апликације на цео слободни део екрана)

Ја ћу дати конфигурацију i3 у деловима, тако да и почетници све разумеју. Почнимо од најважније ствари - дугмета $Мод. Служи за интеракцију са i3. Све главне пречице ће проћи кроз њега.

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

Затим ћемо научити наш менаџер прозора да помера прозоре помоћу миша када се кликне $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

Инсталираћемо фонтове за наше апликације, као и за апликације које зависе од i3

# Fonts
font pango: JetBrains Mono 10

Моја идеја је била да у почетку направим све прозоре летећи (што је, како се испоставило, веома згодно). За појашњење: ин i3 има много врста пристајање прозори (Тиллинг, Фуллсцреен, Таббед, Флоат, Стацкинг), сви су згодни у различитим ситуацијама, али не видим смисао у томе све прозори који испуњавају цео екран. Боље је да га напуне када се притисне $mod + f, али подразумевано виси у ваздуху, што сам и урадио у следећем делу кода:

# 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

Да вас не збуни израз (1920 - 10)/2 and (1080 - 10)/2 значи да ће сваки прозор заузимати четвртину екрана, а такође ће постојати увлачење (један од другог) од тачно 5 пиксела (5 на свим странама).

Затим, хајде да повежемо све главне апликације. Сви интервентни тастери покушавају да одговарају овој шеми

и3 конфигурација за лаптоп: како смањити перформансе на 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

Такође, везаћемо све главне функције које обављамо без размишљања, а које морају бити

# 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

Хајде да направимо одељак за аутоматско покретање

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

и3-празнине је и3 верзија која додаје многе нове функције. Један од њих је додавање удубљења (празнина), које визуелно изгледају веома добро.

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

Шта се десило?

А резултат је прилично минималистички склоп на и3, који ради веома брзо на лаптоповима и даје добре перформансе

и3 конфигурација за лаптоп: како смањити перформансе на 100%?

Пошто сам написао много конфигурација (што је јасно видљиво на снимку екрана), оне се могу наћи у спремишту Греат и3.

Још пар снимака екрана

и3 конфигурација за лаптоп: како смањити перформансе на 100%?

и3 конфигурација за лаптоп: како смањити перформансе на 100%?

и3 конфигурација за лаптоп: како смањити перформансе на 100%?

Извор: ввв.хабр.цом

Додај коментар