自己動手寫Python實現Ubuntu自動切換桌布

2021-05-27 08:07:11 字數 2115 閱讀 4861

使用windows7一段時間,覺得它的自動換桌布也挺好用的,換到ubuntu 11.04上,本想裝個軟體讓它自動換,後來發現drapes執行不了,又懶得裝其他軟體了。

於是想按照別人說的寫個shell自動換桌布,但是因為偶沒怎麼接觸過shell程式設計,所以就求助於python了。

ubuntu原本就可以支援自動換桌布,我們在外觀首選項下的背景項可以看到原本就有個宇宙的幻燈片。這個幻燈片主要靠xml定義,位於/usr/share/backgrounds/cosmos/下的background-1.xml,我們開啟它可以看到:

2009

0804

0000

00

這個是設定幻燈片開始時間,只要設為過去或者現在就可以馬上開始了。

於是下面就有很多類是這樣的:

static標籤下的duration是設定一張圖保持多久,transition同理,兩者加起來就是一張圖顯示的時間了,1795 + 5 = 1800秒,即 30 分鐘。

所以我們求助於python自動生成了。

# -*-coding:utf-8-*-

import os

xml = '''

2009

0804

0000

00'''

static_duration = 1795 # 一張桌布的停留時間

trasition_duration = 5 # 切換時間

def createstatic(duration, file):

return '\n\t' + str(duration) + '\n\t' + str(file) + '\n\n'

def createtransition(duration, fromfile, tofile):

return '\n\t' + str(duration) + '\n\t' + str(fromfile) + '\n\t' + str(tofile) + '\n\n'

# 讀取當前目錄下所有檔案

# 生成xml

for i in range(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即可。

自己動手,豐衣足食~

自己動手寫bootloader

原始出處 作者資訊和本宣告。否則將追究法律責任。為了寫乙個bootloader讓板子跑起來,首先我們要知道bootloader是個什麼東東才行。簡單的說,bootloader就是乙個引導核心啟動的一段小 也就是說當啟動完核心之後,它的使命就已經結束。bootloader生命週期 初始化硬體 設定啟動...

自己動手寫CMS

簡易的cms外掛程式,可供借鑑或者擴充套件 流程 定義內容 分類與組織內容 儲存內容 操作控制內容 定義內容 制定目標 確定需要的內容型別 目標使用者定位 確定目標使用者需要何種技術 分類與組織內容 按內容所屬的邏輯層級關係來劃分 按內容的種類來劃分,比如video text audio等等 儲存內...

LIst與自己動手寫ArryList實現類

list中常用的實現類有arrylist linkedlist和vector。vector是執行緒安全的常用於接收資料庫查詢後返回資料,當然執行緒安全就代表速度慢效率低。而arrylist 是執行緒不安全的,並且其底層實現是採用陣列實現的,所以查詢快速但是新增,刪除慢。linkedlist 是執行緒...