用氮气自动更换墙纸

你们当中有多少人使用“平铺窗口管理器”? 必须重新编译才能更改简单的墙纸,甚至重新运行“氮气”并为其传递另一个参数,这是非常烦人的。

好吧,今天我给您带来了一个bash脚本,它从我们的收藏中获取了随机图像,并将其作为墙纸 更换氮气壁纸,如果您从以下位置下载脚本 信息 不要忘记从文件中删除.txt扩展名并授予其执行权限

目录=〜/图片函数my_resolution(){res =`xrandr | grep'*'| grep -o -E'[0-9] + x [0-9] +'`my_high =`echo“ $ res” | 切-d“ x” -f 2` my_width =`echo“ $ res” | cut -d“ x” -f 1`}函数rand_image(){image =`ls -1 -b -R“ $ directory” | grep -i -e“ .png” -e“ .jpg” -e“ .jpeg” | 排序--random-sort | head -1` image_dir =`find“ $目录” -iname“ $图像”`}函数image_resolution(){rand_image high_image =`identify -format“%h”“ $ image_dir”`wide_image =`identify -format“ %w“” $ image_dir“`}函数比例(){ if [`echo“ $ ratio_high> 1” | bc` -eq 1 -o` echo“ $ ratio_width> 1” | bc` -eq 1]; 然后以氮气--set-zoom“ $ image_dir”否则以氮气--set-centered“ $ image_dir” fi}标度退出

现在来解释脚本。
目录=〜/图片 //转到墙纸所在的目录

image_resolution() //此函数检测监视器的分辨率,并将其保存在变量中:
my_high //高
my_width //宽度

rand_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是为脚本指定的名称。

希望对你有帮助。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   KZKG ^ Gaara

    我将在此氮气中查看我想做的KDE脚本:)
    否则不错的帖子...哈哈哈哈,您为帖子选择的出色照片(史努比的笑声!!)

    1.    阿尔皮

      Jjajajajjajajaja谢谢你,的确是史努比抽奖活动,hahajjajajajjajaj

  2.   s0rmt4il

    谢谢..

  3.   宽度

    谢谢

  4.   金属

    谢谢!

  5.   伊兹维普

    这不适用于肉桂吧?

    1.    阿尔皮

      我不知道如何更改肉桂中的墙纸,但是可以肯定的是,函数rand_image可为您提供随机图像,因此您只需要传递$ dir_image
      我调查一下

  6.   + AMEM +

    谢谢,我为后代做了一些修改...希望您不要打扰
    我想知道你的想法,我对该语言不太了解

    #!/斌/庆典

    #〜原始作者
    #~
    #〜halonsov:数学家,GNU / LINUX爱好者,程序员,Debian和xmonad用户。
    #~
    #〜参考
    #~ https://blog.desdelinux.net/cambiar-automaticamente-el-fondo-de-pantalla-con-nitrogen/
    #~
    #〜命令每120秒运行一次脚本
    #〜观看-n 120 /home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh
    #~
    #〜合作
    #〜+ AMEM +
    #〜我个人更喜欢只使用一次,以免浪费空间
    #〜添加autostart.sh
    #〜/home/amem/backup/DataCrunch/Synaptic/RandomWallpaper.sh&
    #〜个人笔记
    #〜该脚本最初由halonsov制作。
    #〜我对其进行了修改,以便仅在#CrunchBang的开头执行它!
    #〜目的是让您在磁盘上拥有的所有映像都可以看到
    #〜如此频繁,并根据其属性调整到屏幕。
    #〜为此,该脚本标识了显示器的特性,
    #〜以及«目录»的图片或照片,
    #〜为了执行氮气+缩放或缩放参数,避免
    #〜细长的像素化图像。
    #〜如果此脚本不符合您的需求,则可以修改其参数
    #〜以氮气为中心
    #〜使图像居中而不缩放
    #〜我建议您学习氮气手册。

    #目录
    #要用作墙纸的图像目录,包括子目录
    #更改到墙纸所在的目录
    #例如目录= / home /…/ images
    目录= /主页/ amem /图片/壁纸

    #显示器分辨率
    #此函数检测显示器的分辨率,并将其保存在变量中:
    函数my_resolution()
    {
    #我们使用xrandr获得显示器的分辨率
    res =`xrandr | grep'*'| grep -o -E'[0-9] + x [0-9] +'`
    #显示器的高度
    my_high =`echo“ $ res” | 切开-d“ x” -f 2`
    #显示器宽度
    my_width =`echo“ $ res” | 切-d“ x” -f 1`
    }

    #随机图片
    #此函数在“目录”中获取图片
    函数rand_image()
    {
    #我们在$目录中获得某些图像的名称
    图片=`ls -1 -b -R“ $目录” | 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 =`find“ $目录” -iname“ $ image”
    }

    #图像分辨率
    #此函数获取由rand_imagen()函数获得的图像的分辨率
    函数image_resolution()
    {
    rand_image
    #我们得到$图片的高度
    high_image =`identify -format“%h”“ $ image_dir”`
    #我们得到$图片的宽度
    image_width =`identify -format“%w”“ $ image_dir”`
    }

    #我们得到图像分辨率/屏幕分辨率的比率
    #此除法的结果返回大于或小于1的值
    #比例1图像大于屏幕
    功能比例()
    {
    my_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图像比宽高
    功能图片比例()
    {
    图像分辨率
    ratio_image_reason =`echo $ tall_image / $ wide_image | bc -l`
    }

    #设置墙纸
    #此功能根据与监视器有关的图像属性修改氮参数
    #图片太大或大于屏幕尺寸通过缩放图片设置墙纸
    #–以设置为中心,将未缩放的图像居中
    #–按比例缩放将扭曲的图像填充到屏幕中
    #–Set-zoom将缩放图像填充到屏幕顶部
    #–Set-zoom-fill用缩放的图像填充屏幕
    标量函数()
    {
    比例
    如果[`echo“ $ width_proportion> 1''| bc` -eq 1]; 然后
    #如果图像分辨率大于屏幕分辨率,请执行...
    氮气-设定比例的“ $ image_dir”
    其他
    if [`echo“ $ high_rate> 1''| bc` -eq 1]; 然后
    #如果图像分辨率小于屏幕分辨率,请执行...
    以氮为中心的“ $ image_dir”
    其他
    #当图片小于屏幕时,我们可以将其扩展为长度或宽度
    图像比例
    如果[`echo«$比例图像_原因> 1''| bc` -eq 1]; 然后
    #如果图像的高度小于屏幕的高度,请执行...
    氮气–set-zoom“ $ image_dir”
    其他
    如果[`echo«$比例图像_reason <1“ | bc` -eq 1];则
    #如果图像宽度小于屏幕宽度,请执行...
    氮气–设置缩放填充“ $ image_dir”
    fi
    fi
    fi
    fi
    }

    攀登

    出口

    1.    哈龙索五世

      优秀的。 谢谢。