Διαμόρφωση i3 για φορητό υπολογιστή: πώς να μειώσετε την απόδοση στο 100%;

Πρόσφατα συνειδητοποίησα ότι ο φορητός υπολογιστής μου δεν είναι αρκετά ισχυρός. Δεν έχει αρκετή ισχύ για να συνδυάσει τα πάντα: Vim (+ 20 προσθήκες), VSCode (+ τον ίδιο αριθμό επεκτάσεων), Google Chrome (+ 20 καρτέλες) και ούτω καθεξής. Φαίνεται να είναι ένα κοινό πρόβλημα σε φορητούς υπολογιστές με 4 GB μνήμης RAM, αλλά δεν τα παράτησα. Λατρεύω τους φορητούς υπολογιστές επειδή είναι συμπαγείς και επίσης επειδή μπορούν να λειτουργούν με μπαταρία οπουδήποτε. Απλώς έπρεπε να καταλάβω πώς να ελευθερώσω επιπλέον μνήμη RAM και επίσης να αυξήσω την ενεργειακή απόδοση.

Διαμόρφωση i3 για φορητό υπολογιστή: πώς να μειώσετε την απόδοση στο 100%;

Εάν χρειάζεστε ρυθμίσεις παραμέτρων αμέσως, κάντε κύλιση προς τα κάτω στην ενότητα "Ανάλυση της εγκατάστασης"

Λειτουργικό σύστημα

Επειδή χρειάζομαι ένα λειτουργικό σύστημα που θα καταναλώνει τη μικρότερη ποσότητα μνήμης RAM και μπαταρίας, επέλεξα Arch Linux. Κλασικό, τίποτα καινούργιο. Τα αποθετήρια του θα μου επιτρέψουν να αυτοματοποιήσω πολλές περιττές εργασίες και AUR θα εξοικονομήσει ακόμη περισσότερο χρόνο.

Διαχειριστής παραθύρων

Αποφάσισα να χρησιμοποιήσω έναν διαχειριστή παραθύρων αντί για ένα πλήρες περιβάλλον. Αν και μου αρέσουν τα sneakers (KDE), εξακολουθούν να τρώνε αρκετά, λόγω του γεγονότος ότι μαζεύουν πολλές βιβλιοθήκες και εξαρτήσεις. Λοιπόν, η ίδια η DE καταναλώνει αρκετά λόγω όλων των ειδών περιττών γραφικών στοιχείων.

Διαμόρφωση i3 για φορητό υπολογιστή: πώς να μειώσετε την απόδοση στο 100%;

Ας αποσυναρμολογήσουμε την εγκατάσταση

Πρώτα πρέπει να εγκαταστήσουμε όλα τα κύρια πακέτα (πρέπει να ρυθμίσουμε κάτι)

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

Εδώ είναι ένα πρόχειρο διάγραμμα για το πώς θα λειτουργήσουν όλα

Διαμόρφωση i3 για φορητό υπολογιστή: πώς να μειώσετε την απόδοση στο 100%;

Ποια πακέτα χρειάζονται για τι;

Πακέτο
Γιατί χρειαζόμαστε

xwinwrap
Απαιτείται για την εγκατάσταση αρχείων με την επέκταση .gif ως κινούμενες ταπετσαρίες

πολυμπαρ
Απαιτείται για να εμφανίζεται η επάνω γραμμή στη διαχείριση παραθύρων

i3
Ο ίδιος ο διαχειριστής παραθύρων

i3-κενά
Επέκταση διαχείρισης παραθύρων

βασική ανάπτυξη
Στοιχεία που απαιτούνται για την εγκατάσταση polybar

ροφή
Εκκίνηση εφαρμογών

okular
Προβολή εγγράφων

zathura
Πρόγραμμα προβολής εγγράφων (δεν υποστηρίζει πολλές επεκτάσεις, αλλά είναι πιο μινιμαλιστικό)

φε
Ένα πρόγραμμα για την προβολή εικόνων αλλά και για τη ρύθμιση εικόνων φόντου

ζωτικότης
Κύριος συντάκτης

κωδικός
Πρόσθετος επεξεργαστής

picom
Composer (πρόγραμμα που δημιουργεί σκιές, διαφάνεια, θόλωση φόντου)

γατούλα
Κύριο τερματικό

urxvt
Πρόσθετο τερματικό

δασοφύλακας
Διαχείριση αρχείων

πηγαίνω
Σύστημα ελέγχου έκδοσης

xdotool
Ένα βοηθητικό πρόγραμμα που θα βοηθήσει στην ανάπτυξη σεναρίων και στην αλληλεπίδραση με τα Windows

xautolock
Ένα βοηθητικό πρόγραμμα που κλειδώνει τον υπολογιστή όταν είναι ανενεργός και εκκινεί το i3-lock

i3lock-color
Βελτιωμένη έκδοση του i3lock. Το πρόγραμμα είναι απαραίτητο για το κλείδωμα του υπολογιστή και την εισαγωγή ενός κωδικού πρόσβασης

scrot
Μινιμαλιστική εφαρμογή για λήψη στιγμιότυπων οθόνης

ImageMagick
Ένα πρόγραμμα που θα σας βοηθήσει να αλληλεπιδράσετε με τις εικόνες (τις θολώνει εκ των προτέρων, τις μετατρέπει, αλλάζει την ανάλυση)

Διαμόρφωση i3

i3 - Ένας διαχειριστής παραθύρων που δεν καταναλώνει πολλούς πόρους, επομένως θα μας φανεί χρήσιμος για να «μιμηθούμε» άλλους κανονικούς διαχειριστές παραθύρων. (Το δώρο, φυσικά, συνοδεύεται από πλακάκια - τη δυνατότητα του διαχειριστή παραθύρων να ανοίγει εφαρμογές σε ολόκληρο το ελεύθερο μέρος της οθόνης)

Θα δώσω τη διαμόρφωση i3 εν μέρει, έτσι ώστε ακόμη και οι αρχάριοι να καταλαβαίνουν τα πάντα. Ας ξεκινήσουμε με το πιο σημαντικό πράγμα - το κουμπί $Mod. Χρησιμεύει στην αλληλεπίδραση με i3. Όλα τα κύρια πλήκτρα πρόσβασης θα περάσουν από αυτό.

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

Στη συνέχεια, θα διδάξουμε τον διαχειριστή παραθύρων να μετακινεί τα παράθυρα με το ποντίκι όταν γίνεται κλικ $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

Θα εγκαταστήσουμε γραμματοσειρές για τις εφαρμογές μας, καθώς και για εφαρμογές που εξαρτώνται από i3

# Fonts
font pango: JetBrains Mono 10

Η ιδέα μου ήταν να φτιάξω όλα τα παράθυρα αρχικά πέταγμα (που, όπως αποδείχθηκε, είναι πολύ βολικό). Για διευκρίνιση: σε i3 υπάρχουν πολλά είδη ελλιμενισμός παράθυρα (Tilling, Fullscreen, Tabbed, Float, Stacking), όλα είναι βολικά σε διαφορετικές καταστάσεις, αλλά δεν βλέπω το νόημα να το κάνω όλα παράθυρα που γεμίζουν ολόκληρη την οθόνη. Καλύτερα αφήστε τα να το γεμίσουν όταν το πιέσετε $mod + f, αλλά κολλήστε στον αέρα από προεπιλογή, κάτι που έκανα στο ακόλουθο κομμάτι κώδικα:

# 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

Για να μην σε μπερδεύει η έκφραση (1920 - 10)/2 and (1080 - 10)/2 σημαίνει ότι κάθε παράθυρο θα καταλαμβάνει το ένα τέταρτο της οθόνης και θα υπάρχει επίσης μια εσοχή (το ένα από το άλλο) ακριβώς 5 pixel (5 σε όλες τις πλευρές).

Στη συνέχεια, ας δεσμεύσουμε όλες τις κύριες εφαρμογές. Όλα τα πλήκτρα πρόσβασης προσπαθούν να ταιριάζουν με αυτό το σχήμα

Διαμόρφωση i3 για φορητό υπολογιστή: πώς να μειώσετε την απόδοση στο 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

Επίσης, θα δεσμεύσουμε όλες τις κύριες λειτουργίες που εκτελούμε χωρίς σκέψη και που πρέπει να είναι

# 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

Ας δημιουργήσουμε μια ενότητα αυτόματης εκκίνησης

### 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-κενά είναι μια κατασκευή i3 που προσθέτει πολλές νέες δυνατότητες. Ένα από αυτά είναι η προσθήκη εσοχών (κενών), που οπτικά φαίνονται πολύ καλά.

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

Τι συνέβη;

Και το αποτέλεσμα είναι μια μάλλον μινιμαλιστική συναρμολόγηση στο i3, η οποία λειτουργεί πολύ γρήγορα σε φορητούς υπολογιστές και προσφέρει καλή απόδοση

Διαμόρφωση i3 για φορητό υπολογιστή: πώς να μειώσετε την απόδοση στο 100%;

Επειδή έγραψα πολλές διαμορφώσεις (που φαίνεται καθαρά στο στιγμιότυπο οθόνης), μπορούν να βρεθούν στο αποθετήριο Υπέροχο i3.

Κάποια άλλα στιγμιότυπα οθόνης

Διαμόρφωση i3 για φορητό υπολογιστή: πώς να μειώσετε την απόδοση στο 100%;

Διαμόρφωση i3 για φορητό υπολογιστή: πώς να μειώσετε την απόδοση στο 100%;

Διαμόρφωση i3 για φορητό υπολογιστή: πώς να μειώσετε την απόδοση στο 100%;

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο