i3 Konfiguratioun fir e Laptop: wéi d'Performance op 100% ze reduzéieren?

Viru kuerzem hunn ech gemierkt datt mäi Laptop net staark genuch ass. Et huet net genuch Kraaft fir alles zesummen ze huelen: Vim (+ 20 Plugins), VSCode (+ déi selwecht Zuel vun Extensiounen), Google Chrome (+ 20 Tabs) a sou weider. Et schéngt e gemeinsame Problem op Laptops mat 4 GB RAM ze sinn, awer ech hunn net opginn. Ech Léift Laptops well se kompakt sinn an och well se op Batterie Muecht iwwerall lafen kann. Ech brauch just erauszefannen wéi ech extra RAM befreien an och d'Energieeffizienz erhéijen.

i3 Konfiguratioun fir e Laptop: wéi d'Performance op 100% ze reduzéieren?

Wann Dir Konfiguratiounen direkt braucht, scrollt dann erof an d'Sektioun "D'Installatioun parséieren"

Betribssystem

Well ech en OS brauch deen déi mannst RAM an Batterie verbraucht, hunn ech gewielt Arch Linux. Klassesch, näischt Neies. Seng repositories wäert erlaben mech vill vun onnéideg Aarbecht ze automatiséieren, an AUR wäert nach méi Zäit spueren.

Fënster Manager

Ech hu beschloss e Fënstermanager ze benotzen anstatt e vollwäertegt Ëmfeld. Och wann ech sneakers (KDE) gär hunn, iessen se nach ëmmer zimlech vill, wéinst der Tatsaach datt se zimlech vill Bibliothéiken an Ofhängegkeeten opzéien. Gutt, DE selwer verbraucht zimlech vill wéinst all méiglechen onnéidege Widgets.

i3 Konfiguratioun fir e Laptop: wéi d'Performance op 100% ze reduzéieren?

Loosst eis d'Installatioun disassemble

Als éischt musse mir all d'Haaptpakete installéieren (mir mussen eppes konfiguréieren)

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

Hei ass e graff Diagramm wéi alles funktionnéiert

i3 Konfiguratioun fir e Laptop: wéi d'Performance op 100% ze reduzéieren?

Wéi eng Packagen si gebraucht fir wat?

Package
Firwat brauche mir

xwinwrap
Noutwendeg fir Dateien mat der .gif Extensioun als animéiert Tapeten z'installéieren

polybar
Néideg fir datt d'Topbar am Fënstermanager ugewise gëtt

i3
De Fënstermanager selwer

i3-Linnen
Fënster Manager Extensioun

Basis-Entwécklung
Komponenten déi néideg sinn fir Polybar z'installéieren

rofi
Applikatioun Launcher

okuléieren
Dokument Viewer

Zigura
Document Viewer (ënnerstëtzt net vill Extensiounen, awer ass méi minimalistesch)

feh
E Programm fir Biller ze gesinn an och fir Hannergrondbiller ze setzen

vim
Haaptredakter

Code
Zousätzlech Redakter

picom
Komponist (e Programm deen Schatten, Transparenz, Hannergrondonschärft erstellt)

Kitty
Haaptterminal

urxvt
Zousätzlech Terminal

Ranger
Dateemanager

Go
Versioun Kontroll System

xdotool
En Utility dat hëlleft Scripten z'entwéckelen an mat Windows ze interagéieren

xautolock
En Utility dat de Computer gespaart wann inaktiv ass an i3-Lock lancéiert

i3lock-Faarf
Verbesserte Versioun vum i3lock. De Programm ass néideg fir de Computer ze spären an e Passwuert aginn

Schrot
Minimalistesch App fir Screenshots ze maachen

imagemagick
E Programm deen Iech hëlleft mat Biller ze interagéieren (verschëllegt se am Viraus, konvertéiert se, ännert d'Resolutioun)

Konfiguréieren i3

i3 - E Fënstermanager deen net vill Ressourcen verbraucht, dofir wäert et eis nëtzlech sinn fir aner regulär Fënstermanager ze "emuléieren". (De Bonus ass natierlech d'Fliesen - d'Fäegkeet vum Fënstermanager fir Uwendungen op de ganzen gratis Deel vum Écran opzemaachen)

Ech wäert d'Konfiguratioun ubidden i3 an Deeler, sou datt och Ufänger alles verstoen. Loosst d'mat déi wichtegst Saach ufänken - de Knäppchen $Mod. Et déngt mat ze interagéieren i3. All gréisser Hotkeys ginn duerch.

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

Als nächst wäerte mir eise Fënstermanager léieren fir Fënstere mat der Maus ze réckelen wann Dir klickt $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

Mir wäerte Schrëften fir eis Uwendungen installéieren, wéi och fir Uwendungen déi ofhängeg sinn i3

# Fonts
font pango: JetBrains Mono 10

Meng Iddi war am Ufank all Fënsteren ze maachen fléien (wat, wéi et sech erausstellt, ganz bequem ass). Fir Erklärung: an i3 et gi vill Zorte docking Fënsteren (Tilling, Vollbildschierm, Tabbed, Float, Stacking), all si praktesch a verschiddene Situatiounen, awer ech gesinn de Sënn net ze maachen all dat Fënsteren déi de ganzen Écran ausfëllen. Besser loosse se et fëllen wann se dréckt $mod + f, mee hänken an der Loft par défaut, dat ass wat ech am folgende Stéck Code gemaach hunn:

# 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

Fir datt Dir net duerch den Ausdrock duerchernee gitt (1920 - 10)/2 and (1080 - 10)/2 heescht, datt all Fënster e Véierel vum Écran besetzt, an et gëtt och en Abrieb (vuneneen) vu genee 5 Pixel (5 op all Säit).

Als nächst, loosst eis all d'Haaptapplikatiounen binden. All Hotkeys probéieren dëse Schema ze passen

i3 Konfiguratioun fir e Laptop: wéi d'Performance op 100% ze reduzéieren?

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

Och wäerte mir all d'Haaptfunktiounen binden, déi mir ouni ze denken maachen, an déi musse sinn

# 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

Loosst eis eng Autostart Sektioun maachen

### 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-Linnen ass en i3 Build dee vill nei Features bäidréit. Ee vun hinnen ass d'Additioun (Lücken), déi visuell ganz gutt ausgesinn.

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

Wat ass geschitt?

An d'Resultat ass eng zimlech minimalistesch Versammlung op i3, déi ganz séier op Laptops funktionnéiert a gutt Leeschtung gëtt

i3 Konfiguratioun fir e Laptop: wéi d'Performance op 100% ze reduzéieren?

Well ech vill Konfiguratiounen geschriwwen hunn (wat kloer am Screenshot sichtbar ass), kënne se am Repository fonnt ginn super i3.

E puer méi Screenshots

i3 Konfiguratioun fir e Laptop: wéi d'Performance op 100% ze reduzéieren?

i3 Konfiguratioun fir e Laptop: wéi d'Performance op 100% ze reduzéieren?

i3 Konfiguratioun fir e Laptop: wéi d'Performance op 100% ze reduzéieren?

Source: will.com

Setzt e Commentaire