Αλλάξτε αυτόματα ταπετσαρία με άζωτο

Πόσοι από εσάς χρησιμοποιείτε "Διαχείριση παραθύρων πλακιδίων" και σίγουρα μετά από λίγο η ταπετσαρία μας μας βαρεθεί; Είναι πολύ ενοχλητικό να χρειάζεται να ξανακάνετε μεταγλώττιση για να μπορέσετε να αλλάξετε μια απλή ταπετσαρία ή ακόμα και να εκτελέσετε ξανά το "άζωτο" και να μεταβιβάσετε μια άλλη παράμετρο σε αυτήν.

Λοιπόν σήμερα σας φέρνω ένα σενάριο σε bash, παίρνει μια τυχαία εικόνα από τη συλλογή μας και το βάζει ως ταπετσαρία Αλλαγή ταπετσαρίας αζώτου, εάν κατεβάσετε το σενάριο από Aquí μην ξεχάσετε να αφαιρέσετε την επέκταση .txt από το αρχείο και να του δώσετε δικαιώματα εκτέλεσης

κατάλογος = ~ / Λειτουργία εικόνων my_resolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' "my_high =` echo "$ res" | cut -d "x" -f 2` my_width = `echo" $ res "| cut -d "x" -f 1`} συνάρτηση rand_image () {image = `ls -1 -b -R" $ κατάλογος "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | είδος - τυχαία ταξινόμηση | head -1` image_dir = `find" $ directory "-iname" $ ​​image "`} function image_resolution () {rand_image high_image = `Identify -format"% h "" $ image_dir "` wide_image = `Identify -format" % w "" $ image_dir "`} αναλογία συνάρτησης () {my_resolution image_resolution height_rate = `echo $ image_high / $ my_high | bc -l` ratio_width =` echo $ image_width / $ my_width | bc -l`} συνάρτηση κλίμακας () { αναλογία εάν [`echo" $ height_rate> 1 "| bc` -eq 1 -o` echo" $ width_rate> 1 "| bc` -eq 1]; μετά άζωτο --set-zoom "$ image_dir" other nitrogen - set-centered "$ image_dir" fi} κλίμακα έξοδος

Τώρα έρχεται η εξήγηση του σεναρίου.
κατάλογος = ~ / Εικόνες // Αλλαγή στον κατάλογο όπου βρίσκονται οι ταπετσαρίες σας

image_resolution () // Αυτή η συνάρτηση ανιχνεύει την ανάλυση της οθόνης μας και την αποθηκεύει στις μεταβλητές:
my_high //Υψηλός
my_width //Πλάτος

rand_image () // Αυτή η λειτουργία παίρνει μια εικόνα μέσα στον "κατάλογο"

image = `ls -1 -b -R" $ κατάλογος "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | ταξινόμηση – τυχαία-ταξινόμηση | κεφαλή -1 "

ΣΠΟΥΔΑΙΟΣ! Εάν παρατηρήσετε φιλτράρουμε όλα τα αρχεία με "επεκτάσεις" .png, .jpg, .jpeg. Προσθέστε -e ".extension" ανάλογα.

Παράδειγμα:

imagen=`ls -1 -b -R "$directorio" | grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".nueva_extensión" | sort --random-sort | head -1`

image_resolution () // Αυτή η συνάρτηση λαμβάνει την ανάλυση της εικόνας που λαμβάνεται από τη συνάρτηση rand_image ()

ποσοστό() // Αυτή η συνάρτηση λαμβάνει την αναλογία image_resolution / screen_resolution

αναρρίχηση() // Αυτή η λειτουργία κλιμακώνει την εικόνα εάν είναι μεγαλύτερη από την ανάλυση της οθόνης μας και ορίζει την ταπετσαρία

Τώρα που έχουμε το σενάριο να αντιστοιχίσουμε τυχαία ταπετσαρία στο άζωτο (και επίσης η εικόνα προσαρμόζεται στην οθόνη σας) πρέπει μόνο να κάνουμε το σενάριο να εκτελείται κάθε τόσο συχνά, αυτό επιτυγχάνεται εκτελώντας την ακόλουθη εντολή κατά την εκκίνηση

watch -n 4 ruta_donde_se_encuentra_el_script/nombre_del_script

Σε αυτήν την περίπτωση, αυτή η εντολή εκτελείται κάθε 4 δευτερόλεπτα, σημειώστε ότι path_where_the_script_is_found είναι η πλήρης διαδρομή όπου βρίσκεται το σενάριο και το script_name είναι το όνομα που δόθηκε στο σενάριο.

Ελπίζω να το βρείτε χρήσιμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   KZKG ^ Γκάρα dijo

    Θα ελέγξω αυτό το άζωτο για ένα σενάριο για το KDE που θέλω να κάνω :)
    Διαφορετικά καλή θέση ... χαχαχαχα, εξαιρετική φωτογραφία που έχετε επιλέξει για την ανάρτηση (Snoopy's LOL !!!)

    1.    alpj dijo

      Jjajajajajajaja ευχαριστώ, πράγματι snoopy raffle, hahajjajajajjajaj

  2.   st0rmt4il dijo

    Σας ευχαριστώ ..

  3.   ΠΛΑΤΟΣ dijo

    Ευχαριστίες

  4.   φερμεταλλικό dijo

    Σας ευχαριστώ!

  5.   ιζυβπ dijo

    Αυτό δεν λειτουργεί για κανέλα, σωστά;

    1.    alpj dijo

      Δεν έχω ιδέα πώς να αλλάξω την ταπετσαρία στην κανέλα, αλλά το σίγουρο είναι ότι η λειτουργία rand_image λειτουργεί για να έχετε μια τυχαία εικόνα, οπότε πρέπει απλώς να την περάσετε
      Επιτρέψτε μου να ερευνήσω

  6.   + AMEM + dijo

    Σας ευχαριστώ, το τροποποίησα λίγο για τις μελλοντικές γενιές ... Ελπίζω να μην ενοχλείτε
    Θα ήθελα να μάθω τι πιστεύετε, δεν ξέρω πολλά για τη γλώσσα

    #! / bin / bash

    # ~ Αρχικός συγγραφέας
    #~
    # ~ halonsov: Μαθηματικός, λάτρης του GNU / LINUX, προγραμματιστής, χρήστης του Debian και xmonad.
    #~
    # ~ Αναφορές
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    # ~ Εντολή για εκτέλεση του σεναρίου κάθε 120 δευτερόλεπτα
    # ~ watch -n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    # ~ Συνεργασία
    # ~ + AMEM +
    Προσωπικά προτιμώ να το χρησιμοποιώ μόνο μία φορά, ώστε να μην χρησιμοποιώ χώρο
    # ~ προσθήκη στο autostart.sh
    # ~ /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh &
    # ~ Προσωπική σημείωση
    # ~ αυτό το σενάριο δημιουργήθηκε αρχικά από τον halonsov.
    # ~ Το τροποποίησα, ώστε να το εκτελέσω λίγο στην αρχή του #CrunchBang!
    # ~ ο σκοπός είναι να είναι ορατές όλες οι εικόνες που έχετε στο δίσκο σας
    # ~ κάθε τόσο συχνά, και ότι προσαρμόζονται στην οθόνη ανάλογα με τις ιδιότητές τους.
    # ~ για αυτό το σενάριο προσδιορίζει τα χαρακτηριστικά της οθόνης σας,
    # ~ και αυτές της εικόνας ή της φωτογραφίας του «καταλόγου» σας,
    # ~ προκειμένου να εκτελεστεί άζωτο + παράμετρος κλιμάκωσης ή ζουμ αποφεύγοντας
    # ~ επιμήκεις, pixelated εικόνες.
    # ~ Εάν αυτό το σενάριο δεν ταιριάζει στις ανάγκες σας, μπορείτε να τροποποιήσετε τις παραμέτρους του
    # ~ Π.χ. άζωτο-κεντραρισμένο
    # ~ για κεντράρισμα της εικόνας χωρίς κλιμάκωση
    # ~ Σας προτείνω να μελετήσετε το εγχειρίδιο αζώτου.

    #Ευρετήριο
    # Κατάλογος εικόνων για χρήση ως ταπετσαρία, συμπεριλαμβανομένων των υποκαταλόγων
    #Αλλαγή στον κατάλογο όπου βρίσκονται οι ταπετσαρίες σας
    # Π.χ. κατάλογος = / αρχική /… / εικόνες
    κατάλογος = / σπίτι / amem / εικόνες / ταπετσαρία

    # Ανάλυση οθόνης
    #Αυτή η λειτουργία εντοπίζει την ανάλυση της οθόνης μας και την αποθηκεύει στις μεταβλητές:
    συνάρτηση my_resolution ()
    {
    # Λαμβάνουμε την ανάλυση της οθόνης μας με το xrandr
    res = "xrandr | grep '*' | grep -o -E "[0-9] + x [0-9] +"
    # Ύψος της οθόνης
    my_high = `echo" $ res "| cut -d "x" -f 2`
    # Πλάτος οθόνης
    my_width = `echo" $ res "| cut -d "x" -f 1`
    }

    # Τυχαία εικόνα
    # Αυτή η λειτουργία παίρνει μια εικόνα μέσα στον "κατάλογο"
    συνάρτηση rand_image ()
    {
    # Παίρνουμε το όνομα κάποιας εικόνας μέσα στον κατάλογο $
    image = `ls -1 -b -R" $ κατάλογος "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | ταξινόμηση – τυχαία-ταξινόμηση | κεφαλή -1 "

    #ΣΠΟΥΔΑΙΟΣ! Εάν παρατηρήσετε φιλτράρουμε όλα τα αρχεία με "επέκταση" .png, .jpg, .jpeg. Προσθέστε -e ".extension" ανάλογα.
    #Παράδειγμα:
    # image = `ls -1 -b -R" $ κατάλογος "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | ταξινόμηση – τυχαία-ταξινόμηση | κεφαλή -1 "

    # Παίρνουμε τη διαδρομή του $ image
    image_dir = `εύρεση" $ directory "-iname" $ ​​image ""
    }

    # Ανάλυση εικόνας
    #Αυτή η λειτουργία λαμβάνει την ανάλυση της εικόνας που λαμβάνεται από τη συνάρτηση rand_imagen ()
    Λειτουργία image_resolution ()
    {
    rand_image
    # Παίρνουμε το ύψος της εικόνας $
    high_image = `identify -format"% h "" $ image_dir ""
    # Παίρνουμε το πλάτος της εικόνας $
    wide_image = `identify -format"% w "" $ image_dir ""
    }

    # Λαμβάνουμε την αναλογία image_resolution / screen_resolution
    # το αποτέλεσμα αυτής της διαίρεσης επιστρέφει μια τιμή μεγαλύτερη ή μικρότερη από 1
    # αναλογία 1 η εικόνα είναι μεγαλύτερη από την οθόνη
    αναλογία λειτουργίας ()
    {
    my_resolution
    image_resolution
    ratio_high = `echo $ image_high / $ my_high | bc -l`
    width_proportion = `echo $ width_image / $ my_width | bc -l`
    }

    # Λαμβάνουμε την αναλογία image_high / image_width
    # το αποτέλεσμα αυτής της διαίρεσης επιστρέφει μια τιμή μεγαλύτερη ή μικρότερη από 1. Εκτός αν η εικόνα είναι τετράγωνη Oo
    # image_proportion 1 η εικόνα είναι ψηλότερη από την ευρεία
    αναλογία εικόνας λειτουργίας ()
    {
    image_resolution
    ratio_image_reason = `echo $ tall_image / $ wide_image | bc -l`
    }

    # Ρυθμίστε την ταπετσαρία
    # Αυτή η λειτουργία τροποποιεί τις παραμέτρους αζώτου σύμφωνα με τις ιδιότητες της εικόνας σε σχέση με την οθόνη
    # Η εικόνα είναι πολύ ψηλή ή μεγαλύτερη από την οθόνη μας Ρυθμίζει την ταπετσαρία κλιμακώνοντας την εικόνα
    # –Το κεντροθετημένο κέντρο κεντράρει την εικόνα χωρίς κλίμακα
    # –Το σετ κλιμάκωσης γεμίζει την οθόνη με τη στρεβλωμένη εικόνα
    # –Το ζουμ γεμίζει την οθόνη με την κλιμακωτή εικόνα στην κορυφή
    # –Το σετ-ζουμ γεμίζει την οθόνη με την κλιμακωτή εικόνα
    συνθετική λειτουργία ()
    {
    ποσοστό
    αν [`echo" $ width_proportion> 1 ″ | bc` -eq 1]; τότε
    # Εάν η ανάλυση της εικόνας είναι μεγαλύτερη από αυτήν της οθόνης μας, εκτελέστε ...
    άζωτο - κλιμακωτό "$ image_dir"
    αλλιώς
    αν [`echo" $ high_rate> 1 ″ | bc` -eq 1]; τότε
    # Εάν η ανάλυση της εικόνας είναι μικρότερη από αυτήν της οθόνης μας, εκτελέστε ...
    άζωτο-κεντραρισμένο "$ image_dir"
    αλλιώς
    # Όταν η εικόνα είναι μικρότερη από την οθόνη, μπορούμε να την επεκτείνουμε σε μήκος ή πλάτος
    αναλογία εικόνας
    αν [«echo« $ ratioimage_reason> 1 ″ | bc` -eq 1]; τότε
    # Εάν το ύψος της εικόνας είναι μικρότερο από αυτό της οθόνης μας, εκτελέστε ...
    άζωτο –set-zoom "$ image_dir"
    αλλιώς
    εάν [`echo« $ ratioimage_reason <1 "| bc` -eq 1]; τότε
    # Εάν το πλάτος της εικόνας είναι μικρότερο από αυτό της οθόνης μας, εκτελέστε ...
    άζωτο –set-zoom-fill "$ image_dir"
    fi
    fi
    fi
    fi
    }

    ανεβείτε

    έξοδος

    1.    Halonso V. dijo

      Εξαιρετικό. Σας ευχαριστώ.