Konfigurasi i3 untuk laptop: bagaimana cara mengurangi kinerja hingga 100%?

Baru-baru ini saya menyadari bahwa laptop saya tidak cukup kuat. Ia tidak memiliki kekuatan yang cukup untuk menyatukan semuanya: Vim (+ 20 plugin), VSCode (+ jumlah ekstensi yang sama), Google Chrome (+ 20 tab) dan seterusnya. Tampaknya ini adalah masalah umum pada laptop dengan RAM 4 GB, tapi saya tidak menyerah. Saya menyukai laptop karena ringkas dan juga dapat dijalankan dengan daya baterai di mana saja. Saya hanya perlu memikirkan cara mengosongkan RAM ekstra dan juga meningkatkan efisiensi energi.

Konfigurasi i3 untuk laptop: bagaimana cara mengurangi kinerja hingga 100%?

Jika Anda memerlukan konfigurasi segera, gulir ke bawah ke bagian β€œParsing instalasi”

Sistem operasi

Karena saya memerlukan OS yang mengonsumsi RAM dan baterai paling sedikit, saya memilih Arch Linux. Klasik, bukan sesuatu yang baru. Repositorinya memungkinkan saya mengotomatiskan banyak pekerjaan yang tidak perlu, dan AUR akan menghemat lebih banyak waktu.

Manajer jendela

Saya memutuskan untuk menggunakan window manager daripada lingkungan yang lengkap. Meskipun saya menyukai sepatu kets (KDE), sepatu tersebut masih memakan banyak waktu, karena faktanya sepatu tersebut menggunakan cukup banyak perpustakaan dan ketergantungan. Nah, DE sendiri memakan cukup banyak karena banyaknya widget yang tidak diperlukan.

Konfigurasi i3 untuk laptop: bagaimana cara mengurangi kinerja hingga 100%?

Mari kita bongkar instalasinya

Pertama kita perlu menginstal semua paket utama (kita perlu mengkonfigurasi sesuatu)

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

Berikut adalah diagram kasar tentang bagaimana semuanya akan bekerja

Konfigurasi i3 untuk laptop: bagaimana cara mengurangi kinerja hingga 100%?

Paket mana yang dibutuhkan untuk apa?

Paket
Apa yang dibutuhkan

xwinwrap
Diperlukan untuk menginstal file dengan ekstensi .gif sebagai wallpaper animasi

polibar
Diperlukan agar bilah atas dapat ditampilkan di pengelola jendela

i3
Manajer jendela itu sendiri

i3-gap
Ekstensi pengelola jendela

dasar-pengembangan
Komponen yang dibutuhkan untuk memasang polybar

rofi
Peluncur aplikasi

okular
Penampil dokumen

zathura
Penampil dokumen (tidak mendukung banyak ekstensi, tetapi lebih minimalis)

feh
Sebuah program untuk melihat gambar dan juga untuk mengatur gambar latar belakang

semangat
Editor utama

kode
Penyunting tambahan

picom
Komposer (program yang menciptakan bayangan, transparansi, keburaman latar belakang)

celengan
Terminal utama

urxvt
Terminal tambahan

penjaga hutan
Manajer file

git
Sistem kontrol versi

xdotool
Sebuah utilitas yang akan membantu dalam mengembangkan skrip dan berinteraksi dengan windows

kunci otomatis
Utilitas yang mengunci komputer saat tidak aktif dan meluncurkan i3-lock

i3lock-warna
Versi i3lock yang ditingkatkan. Program ini diperlukan untuk mengunci komputer dan memasukkan kata sandi

scrot
Aplikasi minimalis untuk mengambil tangkapan layar

imagemagick
Sebuah program yang akan membantu Anda berinteraksi dengan gambar (mengaburkannya terlebih dahulu, mengonversinya, mengubah resolusi)

Mengonfigurasi i3

i3 - Window manager yang tidak memakan banyak resource, sehingga berguna bagi kita untuk β€œmeniru” window manager biasa lainnya. (Hadiahnya, tentu saja, hadir dengan ubin - kemampuan pengelola jendela untuk membuka aplikasi ke seluruh bagian layar yang bebas)

Saya akan memberikan konfigurasinya i3 di beberapa bagian, sehingga pemula pun memahami segalanya. Mari kita mulai dengan hal yang paling penting - tombolnya $Mod. Ini berfungsi untuk berinteraksi dengan i3. Semua hotkey utama akan melewatinya.

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

Selanjutnya, kita akan mengajarkan window manager kita untuk menggerakkan jendela dengan mouse ketika diklik $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

Kami akan menginstal font untuk aplikasi kami, serta untuk aplikasi yang bergantung padanya i3

# Fonts
font pango: JetBrains Mono 10

Ide saya adalah membuat semua jendela pada awalnya penerbangan (yang ternyata sangat nyaman). Untuk klarifikasi: di i3 ada banyak jenis perkaitan windows (Tilling, Fullscreen, Tabbed, Float, Stacking), semuanya nyaman dalam situasi yang berbeda, tapi saya tidak melihat gunanya melakukannya semua jendela memenuhi seluruh layar. Lebih baik biarkan mereka mengisinya saat ditekan $mod + f, tetapi menggantung di udara secara default, seperti yang saya lakukan pada potongan kode berikut:

# 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

Agar Anda tidak bingung dengan ungkapannya (1920 - 10)/2 and (1080 - 10)/2 berarti setiap jendela akan menempati seperempat layar, dan juga akan ada lekukan (satu sama lain) tepat 5 piksel (5 di semua sisi).

Selanjutnya, mari kita ikat semua aplikasi utama. Semua tombol pintas mencoba mencocokkan skema ini

Konfigurasi i3 untuk laptop: bagaimana cara mengurangi kinerja hingga 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

Selain itu, kami akan mengikat semua fungsi utama yang kami lakukan tanpa berpikir panjang, dan mana yang harus dilakukan

# 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

Mari kita membuat bagian 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-gap adalah build i3 yang menambahkan banyak fitur baru. Salah satunya dengan menambahkan indentasi (celah) yang secara visual terlihat sangat bagus.

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

Apa yang terjadi?

Dan hasilnya adalah build yang agak minimalis pada i3, yang bekerja sangat cepat di laptop dan memberikan performa yang baik

Konfigurasi i3 untuk laptop: bagaimana cara mengurangi kinerja hingga 100%?

Karena saya menulis banyak konfigurasi (yang terlihat jelas di tangkapan layar), konfigurasi tersebut dapat ditemukan di repositori i3 yang bagus.

Beberapa tangkapan layar lagi

Konfigurasi i3 untuk laptop: bagaimana cara mengurangi kinerja hingga 100%?

Konfigurasi i3 untuk laptop: bagaimana cara mengurangi kinerja hingga 100%?

Konfigurasi i3 untuk laptop: bagaimana cara mengurangi kinerja hingga 100%?

Sumber: www.habr.com

Tambah komentar