用Python实现动态的切换桌面背景

摘要:
继续使用壁纸。append('file:commands#wallpaper_path='/usr/share/backgrounds'#搜索所有可用的壁纸available_wallpapers=[]for fileinos.listdir(wallpaper.path):continueavailable_壁纸.append('file:

前两天看了一篇文章《自己写脚本自动更换桌面》,觉得用Python实现起来应该更容易理解,于是就有了下面的dynamic-wallpaper.py脚本。

dynamic-wallpaper.py脚本的完整内容:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os, os.path, fnmatch, commands

# 壁纸图片所在的目录
wallpaper_path = '/usr/share/backgrounds'


# 搜索所有可用的壁纸
avail_wallpapers = []

for file in os.listdir(wallpaper_path):
    if not os.path.isfile(wallpaper_path + '/' + file):
        continue

    if not fnmatch.fnmatch(file, '*.jpg') and \
       not fnmatch.fnmatch(file, '*.png'):
        continue

    avail_wallpapers.append('file://' + wallpaper_path + '/' + file)

if len(avail_wallpapers) == 0:
amonest@amonest-virtual-machine:~/python$ cat dynamic_wallpaper.py
#!/usr/bin/python
# -*- coding: utf-8 -*-

import os, os.path, fnmatch, commands

# 壁纸图片所在的目录
wallpaper_path = '/usr/share/backgrounds'


# 搜索所有可用的壁纸
avail_wallpapers = []

for file in os.listdir(wallpaper_path):
    if not os.path.isfile(wallpaper_path + '/' + file):
        continue

    if not fnmatch.fnmatch(file, '*.jpg') and \
       not fnmatch.fnmatch(file, '*.png'):
        continue

    avail_wallpapers.append('file://' + wallpaper_path + '/' + file)

if len(avail_wallpapers) == 0:
    exit


# 对所有可用的壁纸排序
avail_wallpapers.sort()


# 获取当前使用的壁纸
current_wallpaper = commands.getoutput('gsettings get org.gnome.desktop.background picture-uri').strip('\'')


# 计算下一张壁纸索引
try:
    current_index = avail_wallpapers.index(current_wallpaper)
except:
    current_index = -1

next_index = current_index + 1

if next_index >= len(avail_wallpapers):
    next_index = 0


# 设置下一张新壁纸
os.system('gsettings set org.gnome.desktop.background picture-uri \'' + avail_wallpapers[next_index] + '\'')

免责声明:文章转载自《用Python实现动态的切换桌面背景》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jmeter 24个常用函数一个简单 JDK 动态代理的实例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

sublime text3 搭建c++/c环境

sublime搭建的c++/c使用很方便,实用性很强,自己阅览了无数的博客,csdn,博客园的都看了,最后还是自己摸索着搭建成功了,如果觉得还不错请给个评论谢谢。(提前声明本人专利不允许转载!!!!) 转载备注地址:https://www.cnblogs.com/luhongkai/p/9812851.html 一、配置环境 大部分都是下载安装MinGW文...

【Python】解压文件/ZIP等 并实时计算解压进度

import zipfile def read_zip(zip_file_path: str, unpack_path: str, ws_msg: WebSocketMsg): """ 解压ZIP文件 @param zip_file_path: ZIP文件路径(ex. E:\aaa\a.zip) @param unpack_...

Python3常用标准库

趁着有时间,把一些我用过的常用标准库进行整理和复习。 time 用法 说明 time.time() 返回时间戳(从1970年1月1日00:00:00开始计算) time.localtime() 返回当前时间的结构化时间(struct_time)对象,可以用.tm_year等获取年等数据 time.gmtime() 返回世界标准时间的结构化...

(HTMLTestRunner增加图表样式显示)二:增加截图功能

  上一篇文章写了给HTMLTestRunner增加饼状图,这让我们的报告看起来更直观一些,但是细节方面还不是太让人满意,比如,我们查看执行通过、失败、错误的用例时,HTMLTestRunner给出了一大段代码,让人看着头大,如果给出截图是否更直观,一目了然的了解用例执行情况呢,答案是肯定的。   给HTMLTestRunner增加截图分两部分,第一部分,...

vuejs导航条动态切换active状态

用一个数组存导航条,用v-for循环它,这样可以减少代码,二可以使用它的下标来判断高亮,三还可以获取后端的导航信息来遍历 重点是在:routerLink(index, path)函数,传入当前点击的下标,自定义一个下标,判断是否相等就用三元符号判断多给一个高亮样式 如何解决刷新就不高亮或第一个高亮了,很简单,监听一下当前路由在判断就好了 具体代码都在下...

jpgraph 折线图--解决中文乱码的问题(标题和图例)

在jpgraph根目录中: 如Jpgjpgraph_ttf.inc.php 中开头添加 define('CHINESE_TTF_FONT','SIMYOU.TTF'); Jpgjpgraph_legend.inc.php 中大约24行添加 修改 public $font_family=FF_CHINESE,$font_style=FS_NORMAL,$fo...