Гуглил и нарыл вот такую вещь: http://softwaremaniacs.org/soft/change-background/
Только не понял как ее установить и настроить (понял тока что скопировать в /bin надо). Подскажите? или посоветуйте другие аналогичные проги.
Автоматическая смена заставок рабочего стола
Модератор: /dev/random
-
lolobot
- Сообщения: 436
- ОС: Gentoo 2008.0
Автоматическая смена заставок рабочего стола
GNU/Linux forever! [Gentoo 2008.0]
-
lolobot
- Сообщения: 436
- ОС: Gentoo 2008.0
Re: Автоматическая смена заставок рабочего стола
Делал так: change-background.py
Закинул в /bin
В Система->Параметры->Сеансы->Запускаемые при старте программы
добавил строку /bin/change-background.py
Далее crontab -e - стер ту строчку которая там была и ввел 30 8 */2 * * ~/bin/change-background.py
причем время ставил с ращетом - через несколько минут - далее выходил из системы перезапускал иксы и ждал когда смениться - НО НИФИГА НЕ МИНЯЛОСЬ КАК Я НЕ БИЛСЯ. пробовал строчку вписывать иначе - что то вроде 30 8 */2 * * /bin/change-background.py И СНОВА НИФИКА.
Подскажите как поставить эту хрень/
Код:
#!/usr/bin/python
#
# change-background.py
#
# A script to change to a random background image
#
# © 2004, Davyd Madeley <davyd@madeley.id.au>
# © 2005, Richi Plana <rplana@zicorp.com>
# © 2006, Ivan Sagalaev <maniac@softwaremaniacs.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
IGNORE_COUNT = 10
import gconf
import os
import random
from xml.dom.minidom import parse
from datetime import date
from time import strptime
class GConfClient:
def __init__ (self):
self.client = gconf.client_get_default ()
def is_current(self,background):
return background['filename']==self.client.get_string("/desktop/gnome/background/picture_filename")
def set_background (self, filename, options, shade_type, pcolor, scolor):
self.client.set_string("/desktop/gnome/background/picture_filename", filename)
self.client.set_string("/desktop/gnome/background/color_shading_type", shade_type)
self.client.set_string("/desktop/gnome/background/picture_options", options)
self.client.set_string("/desktop/gnome/background/primary_color", pcolor)
self.client.set_string("/desktop/gnome/background/secondary_color", scolor)
def parse_backgrounds(bgdoc):
wps = bgdoc.getElementsByTagName("wallpapers")[0].getElementsByTagName("wallpaper")
bgs = []
for wp in wps:
if wp.getAttribute('deleted') != 'false':
continue
params={}
for node in wp.childNodes:
if node.nodeName in ('filename','options','shade_type','pcolor','scolor'):
params[node.nodeName.encode('utf-8')]=node.firstChild.data
bgs.append(params)
return bgs
def parse_dates(dates_doc,backgrounds):
nodes=dates_doc.documentElement.getElementsByTagName('wallpaper')
wallpapers=dict([
(node.getAttribute('filename'),
date(*strptime(node.getAttribute('last-shown'),'%Y-%m-%d')[:3]))
for node in nodes])
return [(wallpapers.get(b['filename'],date(1900,1,1)),b) for b in backgrounds]
def set_last_shown(dates_doc,filename):
wallpapers=dates_doc.documentElement.getElementsByTagName('wallpaper')
wallpaper=None
for w in wallpapers:
if w.getAttribute('filename')==filename:
wallpaper=w
break
if not wallpaper:
wallpaper=dates_doc.documentElement.appendChild(dates_doc.createElement('wallpaper'))
wallpaper.setAttribute('filename',filename)
wallpaper.setAttribute('last-shown',unicode(date.today()))
gnome2dir = ".gnome2"
backgrounds_filename = os.path.join(os.environ["HOME"], gnome2dir, "backgrounds.xml")
dates_filename = os.path.join(os.environ["HOME"], gnome2dir, "backgrounds-dates.xml")
if not os.path.exists(dates_filename):
f=open(dates_filename,'w')
try:
f.write('<?xml version="1.0"?><dates/>')
finally:
f.close()
backgrounds = parse_backgrounds(parse(backgrounds_filename))
dates_doc = parse(dates_filename)
backgrounds = parse_dates(dates_doc, backgrounds)
if len(backgrounds)>IGNORE_COUNT:
backgrounds.sort()
backgrounds=backgrounds[:-IGNORE_COUNT]
background = random.choice(backgrounds)
GConfClient().set_background(**background[1])
set_last_shown(dates_doc,background[1]['filename'])
f=open(dates_filename,'w')
try:
f.write(dates_doc.toxml())
finally:
f.close()
Закинул в /bin
В Система->Параметры->Сеансы->Запускаемые при старте программы
добавил строку /bin/change-background.py
Далее crontab -e - стер ту строчку которая там была и ввел 30 8 */2 * * ~/bin/change-background.py
причем время ставил с ращетом - через несколько минут - далее выходил из системы перезапускал иксы и ждал когда смениться - НО НИФИГА НЕ МИНЯЛОСЬ КАК Я НЕ БИЛСЯ. пробовал строчку вписывать иначе - что то вроде 30 8 */2 * * /bin/change-background.py И СНОВА НИФИКА.
Подскажите как поставить эту хрень/
GNU/Linux forever! [Gentoo 2008.0]
-
LightFalcon
- Сообщения: 323
- Статус: Любитель Free...
- ОС: Debian Squezee\Etch\Lenny
Re: Автоматическая смена заставок рабочего стола
Ребят, а вы не извращенцы? чем вас не устроила стандартная прога из КЕД? найдете ее в настройках desktop'a, слайдшоу.
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Автоматическая смена заставок рабочего стола
LightFalcon писал(а): ↑25.01.2007 06:56Ребят, а вы не извращенцы? чем вас не устроила стандартная прога из КЕД? найдете ее в настройках desktop'a, слайдшоу.
неспортивно
-
lolobot
- Сообщения: 436
- ОС: Gentoo 2008.0
Re: Автоматическая смена заставок рабочего стола
LightFalcon писал(а): ↑25.01.2007 06:56Ребят, а вы не извращенцы? чем вас не устроила стандартная прога из КЕД? найдете ее в настройках desktop'a, слайдшоу.
Для gnome нужно.
GNU/Linux forever! [Gentoo 2008.0]