שנה טפט אוטומטי באמצעות חנקן

כמה מכם משתמשים ב"מנהל חלונות רעפים "ובוודאי שלאחר זמן מה הטפט שלנו משעמם אותנו? זה מאוד מעצבן שצריך לבצע הידור מחדש כדי להיות מסוגל להחליף טפט פשוט, או אפילו להפעיל מחדש "חנקן" ולהעביר אליו פרמטר אחר.

ובכן היום אני מביא לך תסריט בבאש, הוא מקבל תמונה אקראית מהאוסף שלנו ושם אותו כטפט שנה טפט חנקן, אם אתה מוריד את התסריט מ כאן אל תשכח להסיר את סיומת .txt מהקובץ ולתת לו הרשאות ביצוע

מדריך = ~ / פונקציית תמונות my_resolution () {res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' `my_high =` הד "$ res" | חתך -d "x" -f 2` my_width = `הד" $ res "| פונקציה cut -d "x" -f 1`} rand_image () {image = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | מיין - אקראי-מיון | ראש -1` image_dir = `מצא את" $ directory "-שם" $ image ""} פונקציה image_resolution () {rand_image high_image = `זיהוי-פורמט"% h "" $ image_dir "" wide_image = `זיהוי-פורמט" אחוז w "" $ image_dir ""} פונקציה () {my_resolution image_resolution height_rate = `echo $ image_high / $ my_high | bc -l` proportion_width =` echo $ image_width / $ my_width | bc -l`} פונקציה סקלרית () { פרופורציה אם [`הד" $ ratio_high> 1 "| bc` -eq 1 -o` echo" $ ratio_width> 1 "| bc` -eq 1]; ואז חנקן - זום "$ image_dir" אחר חנקן - מרכז "$ image_dir" fi} בקנה מידה יציאה

עכשיו מגיע ההסבר על התסריט.
מדריך = ~ / תמונות // עבור לספרייה בה נמצאים הטפטים שלך

תמונה_רזולוציה () // פונקציה זו מגלה את הרזולוציה של הצג שלנו ושומרת אותה במשתנים:
שלי_גובה //גָבוֹהַ
רוחב שלי //רוֹחַב

rand_image () // פונקציה זו מקבלת תמונה בתוך "ספרייה"

תמונה = `ls -1 -b -R" $ directory "| 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`

תמונה_רזולוציה () // פונקציה זו משיגה את הרזולוציה של התמונה המתקבלת על ידי הפונקציה 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 הוא השם שניתן לסקריפט.

אני מקווה שתמצא את זה מועיל.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   KZKG ^ גאארה דיג'ו

    אני אבדוק את החנקן הזה עבור סקריפט ל- KDE שאני רוצה לעשות :)
    אחרת פוסט טוב ... חחחחח, תמונה מעולה שבחרת לפוסט (LOL של סנופי !!!)

    1.    alpj דיג'ו

      Jjajajajjajajaja תודה, אכן הגרלה סנופית, hahahahajajajjajaj

  2.   st0rmt4il דיג'ו

    תודה..

  3.   רוֹחַב דיג'ו

    תודה

  4.   פרכמטאל דיג'ו

    gracias!

  5.   izzyvp דיג'ו

    זה לא עובד עבור קינמון, נכון?

    1.    alpj דיג'ו

      אין לי מושג איך לשנות את הטפט בקינמון, אבל הדבר הבטוח הוא שהפונקציה rand_image עובדת בשבילך כדי לקבל תמונה אקראית, אז אתה רק צריך להעביר אותה $ dir_image
      תן לי לחקור

  6.   + AMEM + דיג'ו

    תודה, שיניתי את זה קצת לדורות הבאים ... אני מקווה שלא תטרחי
    הייתי רוצה לדעת מה אתה חושב, אני לא יודע הרבה על השפה

    #! / bin / bash

    # ~ מחבר מקורי
    #~
    # ~ halonsov: מתמטיקאי, חובב GNU / LINUX, מתכנת, דביאן ומשתמש ב- 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 &
    # ~ הערה אישית
    # ~ תסריט זה נוצר במקור על ידי הלונסוב.
    # ~ שיניתי את זה כך שרק מעט, כדי להוציא אותו לפועל בתחילת # CrunchBang!
    המטרה היא שכל התמונות שיש לך בדיסק תוכל לראות אותן
    # ~ כל כמה זמן, ושהם יסתגלו למסך בהתאם לתכונות שלהם.
    # ~ עבור זה סקריפט זה מזהה את מאפייני הצג שלך,
    # ~ ואלה של התמונה או התמונה של הספרייה שלך ",
    # ~ על מנת לבצע חנקן + הימנעות מפרמטר קנה מידה או זום
    # ~ תמונות מוארכות ומפוקסלות.
    # ~ אם סקריפט זה אינו מתאים לצרכים שלך, תוכל לשנות את הפרמטרים שלו
    # ~ למשל חנקן ממורכז
    # ~ למרכז התמונה ללא שינוי גודל
    # ~ אני ממליץ לך ללמוד את מדריך החנקן.

    #מַדרִיך
    # ספריית תמונות שישמשו כטפט, כולל ספריות משנה
    # שנה לספרייה בה נמצאים הטפטים שלך
    # למשל מדריך = / בית / ... / תמונות
    מדריך = / בית / amem / תמונות / טפט

    # רזולוציית צג
    # פונקציה זו מגלה את הרזולוציה של הצג שלנו ושומרת אותה במשתנים:
    פונקציה my_resolution ()
    {
    # אנו מקבלים את הרזולוציה של הצג שלנו באמצעות xrandr
    res = `xrandr | grep '*' | grep -o -E '[0-9] + x [0-9] +' '
    # גובה המסך
    my_high = `הד" $ res "| חתוך -d "x" -f 2`
    # רוחב צג
    my_width = `הד" $ res "| חתך -d "x" -f 1`
    }

    # תמונה אקראית
    # פונקציה זו מקבלת תמונה בתוך "ספריה"
    פונקציה rand_image ()
    {
    # אנו מקבלים שם של תמונה כלשהי בספריית $
    תמונה = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" | מיון –סדר אקראי | ראש -1 '

    #חָשׁוּב! אם אתה מבחין אנו מסננים את כל הקבצים עם "סיומת" .png, .jpg, .jpeg. הוסף -e ". Extension" לפי הצורך.
    #דוגמא:
    # image = `ls -1 -b -R" $ directory "| grep -i -e ".png" -e ".jpg" -e ".jpeg" -e ".new_extension" | מיון –סדר אקראי | ראש -1 '

    # אנו מקבלים את הנתיב של $ image
    image_dir = `מצא את" $ directory "- שם" $ image "
    }

    # רזולוציית תמונה
    # פונקציה זו משיגה את הרזולוציה של התמונה המתקבלת על ידי הפונקציה rand_imagen ()
    פונקציה image_resolution ()
    {
    rand_image
    # אנו מקבלים את גובה התמונה $
    high_image = `זיהוי -פורמט"% h "" $ image_dir "
    # אנו מקבלים את רוחב התמונה $
    image_width = `זיהוי -פורמט"% w "" $ image_dir ""
    }

    # אנו מקבלים את היחס image_resolution / screen_ resolution
    # התוצאה של חלוקה זו מחזירה ערך גדול או פחות מ -1
    פרופורציה # 1 התמונה גדולה מהמסך
    פרופורציה ()
    {
    הרזולוציה שלי
    תמונה_רזולוציה
    ratio_high = `הד $ image_high / $ my_high | bc -l '
    width_proportion = `הד $ width_image / $ my_width | bc -l '
    }

    # אנו מקבלים את יחס image_high / image_width
    # התוצאה של חלוקה זו מחזירה ערך גדול או פחות מ -1; אלא אם כן התמונה מרובעת Oo
    # image_proportion 1 התמונה גבוהה מכפי שהיא רחבה
    פרופורציה של תמונת פונקציה ()
    {
    תמונה_רזולוציה
    ratio_image_reason = `הד $ tall_image / $ wide_image | bc -l '
    }

    # הגדר את הטפט
    # פונקציה זו משנה את פרמטרי החנקן בהתאם לתכונות התמונה ביחס לצג
    # תמונה גבוהה מדי או גדולה יותר מהמסך שלנו מגדיר את הטפט על ידי שינוי גודל התמונה
    # –מרכז ממוקד התמונה ללא קנה המידה
    # - הגודל המוגדר ממלא את המסך בתמונה המעוותת
    # –גודל זום ממלא את המסך עם התמונה המוקטנת למעלה
    # – Set-zoom-fill ממלא את המסך עם התמונה המוקטנת לאורך
    פונקציה סקלרית ()
    {
    פרופורציה
    אם [`הד" $ width_proportion> 1 ″ | bc` -eq 1]; לאחר מכן
    # אם הרזולוציה של התמונה גדולה מזו של המסך שלנו, בצעו ...
    חנקן - בקנה מידה "$ image_dir"
    אחר
    אם [`הד" $ high_rate> 1 ″ | bc` -eq 1]; לאחר מכן
    # אם הרזולוציה של התמונה קטנה מזו של המסך שלנו, בצעו ...
    "$ image_dir" במרכז החנקן
    אחר
    # כאשר התמונה קטנה מהמסך נוכל להרחיב אותה לאורך או לרוחב
    פרופורציה תמונה
    אם [`הד« $ proportionimage_reason> 1 ″ | bc` -eq 1]; לאחר מכן
    # אם גובה התמונה קטן מזה של המסך שלנו, בצעו ...
    חנקן –סט-זום "$ image_dir"
    אחר
    אם [`הד« $ proportionimage_reason <1 "| bc` -eq 1]; אז
    # אם רוחב התמונה קטן מזה של המסך שלנו, בצעו ...
    חנקן –מילוי זום "$ image_dir"
    fi
    fi
    fi
    fi
    }

    לטפס

    יציאה

    1.    הלונסו וי דיג'ו

      מְעוּלֶה. תודה.