Configuration i3 pour un ordinateur portable : comment réduire les performances à 100 % ?

Récemment, j'ai réalisé que mon ordinateur portable n'était pas assez puissant. Il n’a pas assez de puissance pour tout regrouper : Vim (+ 20 plugins), VSCode (+ le même nombre d’extensions), Google Chrome (+ 20 onglets) et j’en passe. Cela semble être un problème courant sur les ordinateurs portables dotés de 4 Go de RAM, mais je n'ai pas abandonné. J'aime les ordinateurs portables parce qu'ils sont compacts et aussi parce qu'ils peuvent fonctionner sur batterie n'importe où. J'avais juste besoin de comprendre comment libérer de la RAM supplémentaire et également augmenter l'efficacité énergétique.

Configuration i3 pour un ordinateur portable : comment réduire les performances à 100 % ?

Si vous avez besoin de configurations immédiatement, faites défiler jusqu'à la section « Analyse de l'installation »

Système d'exploitation

Comme j'ai besoin d'un système d'exploitation qui consommera le moins de RAM et de batterie, j'ai choisi Arch Linux. Classique, rien de nouveau. Ses référentiels me permettront d'automatiser beaucoup de travail inutile, et AUR permettra de gagner encore plus de temps.

Gestionnaire de fenêtres

J'ai décidé d'utiliser un gestionnaire de fenêtres plutôt qu'un environnement à part entière. Même si j'aime les baskets (KDE), elles consomment quand même beaucoup, car elles génèrent beaucoup de bibliothèques et de dépendances. Eh bien, DE lui-même consomme beaucoup à cause de toutes sortes de widgets inutiles.

Configuration i3 pour un ordinateur portable : comment réduire les performances à 100 % ?

Démontons l'installation

Nous devons d’abord installer tous les packages principaux (nous devons configurer quelque chose)

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

Voici un schéma approximatif de la façon dont tout fonctionnera

Configuration i3 pour un ordinateur portable : comment réduire les performances à 100 % ?

Quels packages sont nécessaires pour quoi ?

Forfait
Pourquoi avons-nous besoin

xwinwrap
Nécessaire pour installer des fichiers avec l'extension .gif comme fonds d'écran animés

polybarre
Nécessaire pour que la barre supérieure soit affichée dans le gestionnaire de fenêtres

i3
Le gestionnaire de fenêtres lui-même

i3-lacunes
Extension du gestionnaire de fenêtres

niveau de base
Composants requis pour installer polybar

rofi
Lanceur d'applications

okulé
Visionneuse de documents

zathura
Visionneuse de documents (ne prend pas en charge de nombreuses extensions, mais est plus minimaliste)

feh
Un programme pour visualiser des images et également pour définir des images d'arrière-plan

entrain
Editeur principal

code
Éditeur supplémentaire

picom
Composer (un programme qui crée des ombres, de la transparence, du flou d'arrière-plan)

minou
Terminal principal

urxvt
Borne supplémentaire

ranger
Gestionnaire de fichiers

jet
Système de contrôle de versions

xdotool
Un utilitaire qui aidera à développer des scripts et à interagir avec Windows

xautolock
Un utilitaire qui verrouille l'ordinateur lorsqu'il est inactif et lance i3-lock

i3lock-couleur
Version améliorée d'i3lock. Le programme est nécessaire pour verrouiller l'ordinateur et saisir un mot de passe

scrotter
Application minimaliste pour prendre des captures d'écran

imagemagick
Un programme qui vous aidera à interagir avec les images (les rend floues à l'avance, les convertit, change la résolution)

Configuration d'i3

i3 - Un gestionnaire de fenêtres qui ne consomme pas beaucoup de ressources, il nous sera donc utile pour « émuler » d'autres gestionnaires de fenêtres classiques. (Le cadeau, bien sûr, est accompagné du carrelage - la capacité du gestionnaire de fenêtres à ouvrir des applications sur toute la partie libre de l'écran.)

je fournirai la configuration i3 en plusieurs parties, pour que même les débutants comprennent tout. Commençons par la chose la plus importante : le bouton $Mod. Il sert à interagir avec i3. Tous les raccourcis clavier majeurs passeront par là.

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

Ensuite, nous apprendrons à notre gestionnaire de fenêtres à déplacer les fenêtres avec la souris lorsque vous cliquez dessus. $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

Nous installerons des polices pour nos applications, ainsi que pour les applications qui dépendent de i3

# Fonts
font pango: JetBrains Mono 10

Mon idée était de faire toutes les fenêtres au départ en volant (ce qui s'est avéré très pratique). Pour précision : dans i3 il en existe de nombreux types amarrage fenêtres (Tilling, Fullscreen, Tabbed, Float, Stacking), toutes sont pratiques dans différentes situations, mais je ne vois pas l'intérêt de le faire tous fenêtres remplissant tout l’écran. Mieux vaut les laisser le remplir lorsqu'ils sont pressés $mod + f, mais reste en l'air par défaut, ce que j'ai fait dans le morceau de code suivant :

# 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

Pour que vous ne soyez pas dérouté par l'expression (1920 - 10)/2 and (1080 - 10)/2 signifie que chaque fenêtre occupera un quart de l'écran, et il y aura également une indentation (les unes par rapport aux autres) d'exactement 5 pixels (5 de tous les côtés).

Ensuite, lions toutes les applications principales. Tous les raccourcis clavier tentent de correspondre à ce schéma

Configuration i3 pour un ordinateur portable : comment réduire les performances à 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

Nous lierons également toutes les fonctions principales que nous effectuons sans réfléchir et qui doivent être

# 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

Créons une section de démarrage automatique

### 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-lacunes est une version i3 qui ajoute de nombreuses nouvelles fonctionnalités. L’un d’eux consiste à ajouter des retraits (espaces), qui sont visuellement très beaux.

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

Qu'est-il arrivé?

Et le résultat est un montage plutôt minimaliste sur i3, qui fonctionne très vite sur les portables et donne de bonnes performances

Configuration i3 pour un ordinateur portable : comment réduire les performances à 100 % ?

Comme j'ai écrit beaucoup de configurations (ce qui est clairement visible sur la capture d'écran), elles se trouvent dans le référentiel Super i3.

Quelques captures d'écran supplémentaires

Configuration i3 pour un ordinateur portable : comment réduire les performances à 100 % ?

Configuration i3 pour un ordinateur portable : comment réduire les performances à 100 % ?

Configuration i3 pour un ordinateur portable : comment réduire les performances à 100 % ?

Source: habr.com

Ajouter un commentaire