Ноутбук үчүн i3 конфигурациясы: натыйжалуулукту 100% кантип төмөндөтсө болот?

Жакында мен ноутбукумдун күчү жетишсиз экенин түшүндүм. Анын баарын чогултууга күчү жетпейт: Vim (+ 20 плагиндер), VSCode (+ ошол эле сандагы кеңейтүүлөр), Google Chrome (+ 20 өтмөк) жана башкалар. Бул 4 ГБ оперативдик эс тутуму бар ноутбуктарда кеңири таралган көйгөй болуп көрүнөт, бирок мен багынган жокмун. Мен ноутбуктарды жакшы көрөм, анткени алар компакттуу, ошондой эле алар батарейка менен каалаган жерде иштей алат. Мен жөн гана кошумча оперативдүү эсту кантип бошотуп, энергиянын натыйжалуулугун жогорулатууну түшүнүшүм керек болчу.

Ноутбук үчүн i3 конфигурациясы: натыйжалуулукту 100% кантип төмөндөтсө болот?

Эгер сизге дароо конфигурация керек болсо, анда "Орнотууларды талдоо" бөлүмүнө ылдый жылдырыңыз

Операциондук система

Мага эң аз оперативдүү эстутум жана батарейканы керектеген ОС керек болгондуктан, мен тандап алдым догоого окшоп кошулган жер Linux. Классикалык, жаңы эч нерсе жок. Анын репозиторийлери мага көптөгөн керексиз иштерди автоматташтырууга мүмкүндүк берет жана AUR дагы көбүрөөк убакытты үнөмдөйт.

Терезе менеджери

Мен толук кандуу чөйрөнү эмес, терезе менеджерин колдонууну чечтим. Мен кроссовкаларды (KDE) жакшы көрсөм да, алар дагы эле көп жешет, анткени алар абдан көп китепканаларды жана көз карандылыктарды тартат. Ооба, DE өзү ар кандай керексиз виджеттерден улам көп керектейт.

Ноутбук үчүн i3 конфигурациясы: натыйжалуулукту 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

Бул жерде баары кантип иштээрин болжолдуу диаграмма болуп саналат

Ноутбук үчүн i3 конфигурациясы: натыйжалуулукту 100% кантип төмөндөтсө болот?

Кандай пакеттер эмне үчүн керек?

таңгак
Эмне үчүн керек

xwinwrap
Анимацияланган тушкагаздар катары .gif кеңейтүүсү менен файлдарды орнотуу керек

полибар
Терезе башкаргычында үстүнкү тилке көрсөтүлүшү үчүн керек

i3
Терезе менеджери өзү

i3-боштуктар
Терезе менеджеринин кеңейтүүсү

базалык деңгээл
Полибарды орнотуу үчүн керектүү компоненттер

rofi
Колдонмону ишке киргизгич

окулярдык
Документти көрүүчү

затура
Документти көрүүчү (көп кеңейтүүлөрдү колдобойт, бирок минималисттик)

фех
Сүрөттөрдү көрүү, ошондой эле фондо сүрөттөрдү орнотуу үчүн программа

VIM
Башкы редактор

коду
Кошумча редактор

пиком
Композитор (көлөкөлөрдү, тунуктукту, фонду бүдөмүктөгөн программа)

Китти
Негизги терминал

urxvt
Кошумча терминал

Тессман
Файл менеджери

Мурунку
Версияны башкаруу системасы

xdotool
Скрипттерди иштеп чыгууга жана терезелер менен иштешүүгө жардам бере турган утилита

xautolock
Активсиз болгондо компьютерди кулпулап, i3-lockду ишке киргизген утилита

i3lock-түсү
i3lock жакшыртылган версиясы. Программа компьютерди кулпулоо жана сырсөздү киргизүү үчүн керек

скрот
Скриншотторду алуу үчүн минималисттик колдонмо

ImageMagick
Сүрөттөр менен иштешүүгө жардам бере турган программа (аларды алдын ала бүдөмүктөйт, аларды өзгөртөт, резолюцияны өзгөртөт)

i3 конфигурацияланууда

i3 - Терезе менеджери, ал көп ресурстарды талап кылбайт, ошондуктан башка кадимки терезе менеджерлерин "эмуляциялоо" үчүн биз үчүн пайдалуу болот. (Белек, албетте, плитка менен коштолот - терезе менеджеринин экрандын бардык бош бөлүгүнө тиркемелерди ачуу мүмкүнчүлүгү.)

Мен конфигурацияны берем i3 бөлүктөрүндө, ал тургай, үйрөнчүктөр баарын түшүнөт. Эң негизги нерседен баштайлы - баскыч $Mod. менен өз ара аракеттенүү үчүн кызмат кылат 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

Менин оюм башында бардык терезелерди жасоо болчу учуу (бул, белгилүү болгондой, абдан ыңгайлуу). Тактоо үчүн: in i3 көп түрлөрү бар док терезелер (Tilling, Fullscreen, Tabbed, Float, Stacking), алардын баары ар кандай кырдаалдарда ыңгайлуу, бирок мен мунун маанисин көрбөй жатам бардык терезелер бүт экранды толтурат. Жакшыраак, алар басканда толтурсун $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).

Андан кийин, келгиле, бардык негизги тиркемелерди байлайлы. Бардык ысык баскычтар бул схемага дал келүүгө аракет кылышат

Ноутбук үчүн i3 конфигурациясы: натыйжалуулукту 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

i3-боштуктар көптөгөн жаңы функцияларды кошкон i3 түзүлүшү. Алардын бири визуалдык жактан абдан жакшы көрүнгөн чегинүүлөр (боштуктар) кошуу.

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

Эмне болду?

Натыйжада, ноутбуктарда абдан тез иштеп, жакшы өндүрүмдүүлүктү берген i3 боюнча өтө минималисттик жыйын болуп саналат

Ноутбук үчүн i3 конфигурациясы: натыйжалуулукту 100% кантип төмөндөтсө болот?

Мен көптөгөн конфигурацияларды жазгандыктан (скриншотто ачык көрүнүп турат), аларды репозиторийден тапса болот Улуу i3.

Дагы бир нече скриншот

Ноутбук үчүн i3 конфигурациясы: натыйжалуулукту 100% кантип төмөндөтсө болот?

Ноутбук үчүн i3 конфигурациясы: натыйжалуулукту 100% кантип төмөндөтсө болот?

Ноутбук үчүн i3 конфигурациясы: натыйжалуулукту 100% кантип төмөндөтсө болот?

Source: www.habr.com

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster