python自制linux桌面,自己动手写Python实现Ubuntu自动切换壁纸
使用Windows 7一段时间,觉得它的自动换壁纸也挺好用的,换到Ubuntu 11.04上,本想装个软件让它自动换,后来发现Drapes运行不了,又懒得装其他软件了。
于是想按照别人说的写个shell自动换壁纸,但是因为偶没怎么接触过shell编程,所以就求助于Python了。
Ubuntu原本就可以支持自动换壁纸,我们在外观首选项下的背景项可以看到原本就有个宇宙的幻灯片。这个幻灯片主要靠xml定义,位于/usr/share/backgrounds/cosmos/下的background-1.xml,我们打开它可以看到:
2009
08
04
00
00
00
这个是设置幻灯片开始时间,只要设为过去或者现在就可以马上开始了。
于是下面就有很多类是这样的:
1795.0
/usr/share/backgrounds/cosmos/cloud.jpg
5.0
/usr/share/backgrounds/cosmos/cloud.jpg
/usr/share/backgrounds/cosmos/comet.jpg
1795.0
/usr/share/backgrounds/cosmos/comet.jpg
5.0
/usr/share/backgrounds/cosmos/comet.jpg
/usr/share/backgrounds/cosmos/earth-horizon.jpg
static标签下的duration是设置一张图保持多久,transition同理,两者加起来就是一张图显示的时间了,1795 + 5 = 1800秒,即 30 分钟。
然后如果要循环播放的话,最后一个transtion要跳回第一个即可。虽然我们可以手写这个xml,但是实在太恶心了。
所以我们求助于python自动生成了。
# -*-coding:utf-8-*-
# 作者:华亮
importos
xml ='''''
2009
08
04
00
00
00
'''
static_duration =1795# 一张壁纸的停留时间
trasition_duration =5# 切换时间www.linuxidc.com
defCreateStatic(duration, file):
return'\n\t'+ str(duration) +'\n\t'+ str(file) +'\n\n'
defCreateTransition(duration, fromFile, toFile):
return'\n\t'+ str(duration) +'\n\t'+ str(fromFile) +'\n\t'+ str(toFile) +'\n\n'
# 读取当前目录下所有文件
images = []
forfilenameinos.listdir(os.getcwd()):
root, ext = os.path.splitext(filename)
ifext.lower() =='.bmp'or'.jpg'or'.png':
images.append(os.path.join(os.getcwd(), filename))
# 生成XML
foriinrange(len(images) -1):
xml += CreateStatic(static_duration, images[i]) + CreateTransition(trasition_duration, images[i], images[i +1])
xml += CreateStatic(static_duration, images[len(images) -1]) + CreateTransition(trasition_duration, images[len(images) -1], images[0]) +''
# 保存文件
file = open(os.path.basename(os.getcwd()) +".xml",'w')
file.write(xml)
file.close()
将这个py文件放到图片的目录下,保存为back.py,然后在shell里运行:python back.py,随后会生成以这个目录命名的xml文件,我们就打开外观首选项,添加刚刚生成的xml即可。
自己动手,丰衣足食~
python自制linux桌面,自己动手写Python实现Ubuntu自动切换壁纸相关推荐
- Python模拟Linux的Crontab, 写个任务计划需求
Python模拟Linux的Crontab, 写个任务计划需求 来具体点 需求:执行一个程序, 程序一直是运行状态, 这里假设是一个函数当程序运行30s的时候, 需要终止程序, 可以用python, ...
- 孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9并使用pydocx模块将结果写入word文档...
孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 到今天终于完成了对docx模块针对 ...
- 代写python期末作业价格_代写program留学生作业、代做Python程序语言作业、代写Python课程设计作业...
代写program留学生作业.代做Python程序语言作业.代写Python课程设计作业 日期:2019-11-29 12:55 Completing the Final Project - Pyth ...
- Linux 桌面玩家指南:17. 在 Ubuntu 中使用 deepin-wine,解决一些依赖 Windows 的痛点问题
Linux 桌面玩家指南:17. 在 Ubuntu 中使用 deepin-wine,解决一些依赖 Windows 的痛点问题 参考文章: (1)Linux 桌面玩家指南:17. 在 Ubuntu 中使 ...
- python开发linux桌面应用_Linux程序员宝典:2020年10款出色的Python IDE!
Python是一种通用编程语言,可用于构建一切:从后端Web开发.数据分析.人工智能到科学计算,不一而足.它还可以用于开发生产力软件.游戏.桌面应用及其他软件. Python简单易学,语法和缩进结构简 ...
- python软件界面-用Html来写Python桌面软件的UI界面-htmlPy
在写Python软件的时候,一般用命令行就行了,但是某些特殊情况下(主管要求),需要写一个还能看的界面提供给客户的情况下,那就必须要用到Python的UI包. 试用了很多种: 因为一直用的Python ...
- python输入代码界面通常_vscode写python时的代码错误提醒和自动格式化的方法
python的代码错误检查通常用pep8.pylint和flake8,自动格式化代码通常用autopep8.yapf.black.这些工具均可以利用pip进行安装,这里介绍传统的利用pip.exe安装 ...
- python怎么创建配置文件_如何写python的配置文件
一.创建配置文件 在D盘建立一个配置文件,名字为:test.ini 内容如下: [baseconf] host=127.0.0.1 port=3306 user=root password=root ...
- linux与python客户端,LINUX平台下DM7与Python的适配
1.概述 dmPython是DM提供的依据Python DB API version 2.0中API使用规定而开发的数据库访问接口.dmPython 实现这些API,使Python应用程序能够对DM数 ...
最新文章
- 基于vue-cli,做个nuxt脚手架~
- python【力扣LeetCode算法题库】101-对称二叉树
- java后期发展方向_2020年前3季度工程自卸车市场咋样?后期朝啥方向发展?
- antd的 input有下拉_antd select下拉添加全选的按钮
- 【总结】C++逻辑与或
- 进程环境之命令行参数
- 写一篇Hook Driver.
- 在vpc 2007上安装 ubuntu8.04-desktop(多图解)(转)
- 网络营销数据解读(九)——客户族群细分(Segmentation)2-2
- html实现验证码效果,html5使用canva实现验证码效果(代码实例)
- java红包正态分布,微信红包算法探讨
- Android使用Volley框架显示“Cleartext HTTP traffic to XXX not permitted”的解决方法
- java金额大小写转换 数字大小写转换
- “概率模型与计算机视觉” 林达华
- LearnOpenGL学习笔记——法线贴图
- VUCA时代下,如何有效提高项目成功率?
- c语言 函数 引用调用,C 引用方式调用函数
- 陌陌注册了新公司,要开卖人工智能硬件了?
- 暴君专栏和谐按钮_质量工具:卑微的仆人还是暴君?
- you belong with me(你属于我)
热门文章
- 2010年4月2日 晴
- unity3D---插件obi Rope---实现绳子效果
- TI高精度实验室-运算放大器-第十六节-全差分放大器
- Symbolic Graph Reasoning Meets Convolutions 符号图推理与卷积结合的方式
- 将两条类似的sql合并
- 【临床预测模型】----选择合适的统计模型
- 解决log4j2子线程无法获取到traceId问题
- Linux 安装python 3.8(Linux 的版本为 Centos 7)
- 年底了,该对自己说说总结的话了
- 【渲染】解决三维出图黑白边缘溢出问题:直通(STRAIGHT)与预乘(PREMULT)ALPHA剖析