Configurazione i3 per un laptop: cumu riduce u rendiment à 100%?

Ricertamenti aghju capitu chì u mo laptop ùn hè micca abbastanza putente. Ùn hà micca abbastanza putere per piglià tuttu inseme: Vim (+ 20 plugins), VSCode (+ u listessu numeru di estensioni), Google Chrome (+ 20 tabulazioni) è cusì. Sembra esse un prublema cumuni in i laptops cù 4 GB di RAM, ma ùn aghju micca rinunciatu. Amu i laptops perchè sò compacti è ancu perchè ponu curriri cù a bateria in ogni locu. Aviu solu bisognu di capisce cumu liberà RAM extra è ancu aumentà l'efficienza energetica.

Configurazione i3 per un laptop: cumu riduce u rendiment à 100%?

Sè avete bisognu di cunfigurazione subitu, scorri finu à a sezione "Analizà l'installazione"

sistema upirativu

Siccomu aghju bisognu di un OS chì cunsumà u minimu quantità di RAM è batteria, aghju sceltu Arch Linux. Classic, nunda di novu. I so repositori permettenu di automatizà assai travagliu innecessariu, è AUR risparmià ancu più tempu.

Gestore di finestra

Aghju decisu di utilizà un gestore di finestra piuttostu cà un ambiente cumpletu. Ancu s'ellu mi piace i sneakers (KDE), manghjanu ancu assai, per via di u fattu chì tiranu assai biblioteche è dipendenze. Ebbè, DE stessu cunsuma assai per via di ogni tipu di widgets inutili.

Configurazione i3 per un laptop: cumu riduce u rendiment à 100%?

Disassemblemu a stallazione

Prima avemu bisognu di stallà tutti i pacchetti principali (avemu bisognu di cunfigurà qualcosa)

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

Eccu un schema grossu di cumu tuttu funziona

Configurazione i3 per un laptop: cumu riduce u rendiment à 100%?

Chì pacchetti sò necessarii per chì?

Poney
Ciò chì hè necessariu

xwinwrap
Hè necessariu installà i schedari cù l'estensione .gif cum'è wallpapers animati

polibar
Hè necessariu per a barra superiore per esse visualizata in u gestore di finestra

i3
U gestore di finestra stessu

i3-gap
Estensione di u gestore di finestra

basa-sviluppu
Cumpunenti necessarii per installà polybar

rofi
Lanciatore di applicazioni

okulare
Visualizzatore di documenti

zathura
Visualizzatore di documenti (ùn supporta parechje estensioni, ma hè più minimalista)

feh
Un prugramma per vede l'imaghjini è ancu per stabilisce l'imaghjini di fondo

vim
Editore principale

codice
Editore supplementu

picum
Composer (un prugramma chì crea ombre, trasparenza, sfocatura di fondo)

gattino
Terminal principale

urxvt
Terminal supplementu

Traduction:
Gestore di fugliali

andà
Sistema di cuntrollu di versione

xdotool
Una utilità chì aiuterà à sviluppà scripts è interagisce cù Windows

xautolock
Una utilità chì chjude l'urdinatore quandu inattivu è lancia i3-lock

i3lock-culore
Versione mejorata di i3lock. U prugramma hè necessariu per chjude l'urdinatore è entre una password

scrotum
App minimalista per piglià screenshots

imagemagick
Un prugramma chì vi aiuterà à interagisce cù l'imaghjini (sfoca in anticipu, cunvertisce, cambia a risoluzione)

Configurazione di i3

i3 - Un gestore di finestra chì ùn cunsuma micca assai risorse, cusì serà utile per noi per "emulate" altri gestori di finestra regulare. (U bonus, sicuru, hè tiling - a capacità di u gestore di finestra per apre l'applicazioni à tutta a parte libera di u screnu)

Forniraghju a cunfigurazione i3 in parte, perchè ancu i principianti capiscenu tuttu. Accuminciamu cù u più impurtante - u buttone $Mod. Serve per interagisce cù i3. Tutti i principali hotkeys passanu per ellu.

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

In seguitu, avemu da insignà à u nostru gestore di finestra per spustà Windows cù u mouse quandu cliccà $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

Stallaremu fonti per e nostre applicazioni, è ancu per l'applicazioni chì dipendenu i3

# Fonts
font pango: JetBrains Mono 10

A mo idea era di fà tutte e finestri inizialmente vulendu (chì, cum'è risultava, hè assai còmuda). Per chiarimenti: in i3 ci sò parechji tippi docking Windows (Tilling, Fullscreen, Tabbed, Float, Stacking), tutti sò convenienti in diverse situazioni, ma ùn vecu micca u puntu di fà. tutte e Windows chì riempia tutta a pantalla. Hè megliu lascià ch'elli riempia quandu pressatu $mod + f, ma impiccà in l'aria per difettu, chì hè ciò chì aghju fattu in u seguente pezzu di codice:

# 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

Per ùn avè micca cunfunditu da l'espressione (1920 - 10)/2 and (1080 - 10)/2 significa chì ogni finestra occuperà un quartu di u screnu, è ci sarà ancu una indentazione (da l'altru) di esattamente 5 pixel (5 da tutti i lati).

In seguitu, leghemu tutte l'applicazioni principali. Tutti i hotkeys pruvate à currisponde à stu schema

Configurazione i3 per un laptop: cumu riduce u rendiment à 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

Inoltre, avemu da ligà tutte e funzioni principali chì avemu realizatu senza pensà, è chì deve esse

# 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

Facemu una sezione di 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 hè una build i3 chì aghjunghje parechje funziunalità novi. Unu d'elli aghjunghjenu indents (gaps), chì visualmente vede assai bè.

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

Chi hè successu?

È u risultatu hè una assemblea piuttostu minimalista nantu à i3, chì travaglia assai rapidamente nantu à i laptops è dà un bonu rendimentu

Configurazione i3 per un laptop: cumu riduce u rendiment à 100%?

Siccomu aghju scrittu assai cunfigurazioni (chì hè chjaramente visibile in a screenshot), ponu esse truvati in u repository Grande i3.

Un paru di altre screenshots

Configurazione i3 per un laptop: cumu riduce u rendiment à 100%?

Configurazione i3 per un laptop: cumu riduce u rendiment à 100%?

Configurazione i3 per un laptop: cumu riduce u rendiment à 100%?

Source: www.habr.com

Add a comment