i3-konfigurasie vir 'n skootrekenaar: hoe om werkverrigting tot 100% te verminder?

Ek het onlangs besef dat my skootrekenaar nie kragtig genoeg is nie. Dit het nie genoeg krag om alles saam te neem nie: Vim (+ 20 inproppe), VSCode (+ dieselfde aantal uitbreidings), Google Chrome (+ 20 oortjies) ensovoorts. Dit wil voorkom of dit 'n algemene probleem is op skootrekenaars met 4 GB RAM, maar ek het nie moed opgegee nie. Ek is mal oor skootrekenaars omdat hulle kompak is en ook omdat hulle enige plek op batterykrag kan werk. Ek moes net uitvind hoe om ekstra RAM vry te maak en ook energiedoeltreffendheid te verhoog.

i3-konfigurasie vir 'n skootrekenaar: hoe om werkverrigting tot 100% te verminder?

As jy dadelik konfigurasies benodig, blaai dan af na die afdeling "Ontleed die installasie"

Bedryfstelsel

Aangesien ek 'n bedryfstelsel nodig het wat die minste hoeveelheid RAM en battery sal verbruik, het ek gekies Boog Linux. Klassiek, niks nuuts nie. Sy bewaarplekke sal my toelaat om baie onnodige werk te outomatiseer, en Aur sal nog meer tyd bespaar.

Vensterbestuurder

Ek het besluit om eerder 'n vensterbestuurder as 'n volwaardige omgewing te gebruik. Alhoewel ek van tekkies (KDE) hou, eet hulle nogal baie op, as gevolg van die feit dat hulle nogal baie biblioteke en afhanklikhede optel. Wel, DE self verbruik nogal baie as gevolg van allerhande onnodige widgets.

i3-konfigurasie vir 'n skootrekenaar: hoe om werkverrigting tot 100% te verminder?

Kom ons demonteer die installasie

Eerstens moet ons al die hoofpakkette installeer (ons moet iets konfigureer)

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

Hier is 'n rowwe diagram van hoe alles sal werk

i3-konfigurasie vir 'n skootrekenaar: hoe om werkverrigting tot 100% te verminder?

Watter pakkette is nodig vir wat?

pakket
Wat is nodig

xwinwrap
Benodig om lêers met die .gif-uitbreiding as geanimeerde agtergronde te installeer

polibalk
Benodig vir die boonste balk om in die vensterbestuurder vertoon te word

i3
Die vensterbestuurder self

i3-gapings
Vensterbestuurder-uitbreiding

basis-ontwikkeling
Komponente wat nodig is om polybar te installeer

rofi
Aansoeklanseerder

okulêr
Dokument kyker

zathura
Dokumentkyker (ondersteun nie baie uitbreidings nie, maar is meer minimalisties)

feh
'n Program om prente te bekyk en ook om agtergrondprente op te stel

Vim
Hoofredakteur

kode
Bykomende redakteur

picom
Komponis ('n program wat skaduwees, deursigtigheid, agtergrondvervaagdheid skep)

kitty
Hoofterminaal

urxvt
Bykomende terminaal

ranger
Lêer bestuurder

git
Weergawe beheer stelsel

xdotool
'n Nut wat sal help met die ontwikkeling van skrifte en interaksie met vensters

xautolock
'n Nut wat die rekenaar sluit wanneer dit onaktief is en i3-lock begin

i3lock-kleur
Verbeterde weergawe van i3lock. Die program is nodig om die rekenaar te sluit en 'n wagwoord in te voer

skrot
Minimalistiese toepassing om skermkiekies te neem

Imagemagick
'n Program wat jou sal help om met prente te kommunikeer (vervaag dit vooraf, verander dit, verander resolusie)

Konfigureer i3

i3 - 'n Vensterbestuurder wat nie baie hulpbronne verbruik nie, dus sal dit vir ons nuttig wees om ander gereelde vensterbestuurders te "naboots". (Die geskenk kom natuurlik met teëlwerk - die vermoë van die vensterbestuurder om toepassings oop te maak vir die hele gratis deel van die skerm)

Ek sal die config verskaf i3 in dele, sodat selfs beginners alles verstaan. Kom ons begin met die belangrikste ding - die knoppie $Mod. Dit dien om mee te kommunikeer i3. Alle groot sneltoetse sal daardeur gaan.

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

Vervolgens sal ons ons vensterbestuurder leer om vensters met die muis te skuif wanneer dit geklik word $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

Ons sal lettertipes installeer vir ons toepassings, sowel as vir toepassings wat afhanklik is van i3

# Fonts
font pango: JetBrains Mono 10

My idee was om aanvanklik al die vensters te maak vlieg (wat, soos dit geblyk het, baie gerieflik is). Ter verduideliking: in i3 daar is baie soorte dok vensters (Tilling, Fullscreen, Tabbed, Float, Stacking), almal van hulle is gerieflik in verskillende situasies, maar ek sien nie die sin daarin om te doen nie alle vensters wat die hele skerm vul. Laat hulle dit beter vul wanneer dit gedruk word $mod + f, maar hang by verstek in die lug, wat ek in die volgende stukkie kode gedoen het:

# 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

Sodat jy nie deur die uitdrukking verwar word nie (1920 - 10)/2 and (1080 - 10)/2 beteken dat elke venster 'n kwart van die skerm sal beslaan, en daar sal ook 'n inkeping (van mekaar) van presies 5 pixels (5 aan alle kante) wees.

Kom ons bind dan al die hooftoepassings. Alle sneltoetse probeer om by hierdie skema te pas

i3-konfigurasie vir 'n skootrekenaar: hoe om werkverrigting tot 100% te verminder?

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

Ons sal ook al die hooffunksies wat ons verrig sonder om te dink, bind en wat moet wees

# 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

Kom ons maak 'n outostart-afdeling

### 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-gapings is 'n i3-gebou wat baie nuwe kenmerke byvoeg. Een daarvan is om inkepings (gapings) by te voeg, wat visueel baie goed lyk.

### 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 het gebeur?

En die resultaat is 'n taamlik minimalistiese samestelling op i3, wat baie vinnig op skootrekenaars werk en goeie werkverrigting lewer

i3-konfigurasie vir 'n skootrekenaar: hoe om werkverrigting tot 100% te verminder?

Aangesien ek baie konfigurasies geskryf het (wat duidelik sigbaar is in die skermkiekie), kan hulle in die bewaarplek gevind word puik i3.

Nog 'n paar skermkiekies

i3-konfigurasie vir 'n skootrekenaar: hoe om werkverrigting tot 100% te verminder?

i3-konfigurasie vir 'n skootrekenaar: hoe om werkverrigting tot 100% te verminder?

i3-konfigurasie vir 'n skootrekenaar: hoe om werkverrigting tot 100% te verminder?

Bron: will.com

Koop betroubare hosting vir werwe met DDoS-beskerming, VPS VDS-bedieners 🔥 Koop betroubare webwerfhosting met DDoS-beskerming, VPS VDS-bedieners | ProHoster