Автоматическая смена заставок рабочего стола

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

Аватара пользователя
lolobot
Сообщения: 436
ОС: Gentoo 2008.0

Автоматическая смена заставок рабочего стола

Сообщение lolobot »

Гуглил и нарыл вот такую вещь: http://softwaremaniacs.org/soft/change-background/
Только не понял как ее установить и настроить (понял тока что скопировать в /bin надо). Подскажите? или посоветуйте другие аналогичные проги.
GNU/Linux forever! [Gentoo 2008.0]
Спасибо сказали:
Аватара пользователя
lolobot
Сообщения: 436
ОС: Gentoo 2008.0

Re: Автоматическая смена заставок рабочего стола

Сообщение lolobot »

Делал так: 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: Автоматическая смена заставок рабочего стола

Сообщение LightFalcon »

Ребят, а вы не извращенцы? чем вас не устроила стандартная прога из КЕД? найдете ее в настройках desktop'a, слайдшоу.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Автоматическая смена заставок рабочего стола

Сообщение diesel »

LightFalcon писал(а):
25.01.2007 06:56
Ребят, а вы не извращенцы? чем вас не устроила стандартная прога из КЕД? найдете ее в настройках desktop'a, слайдшоу.

неспортивно :)
Спасибо сказали:
Аватара пользователя
lolobot
Сообщения: 436
ОС: Gentoo 2008.0

Re: Автоматическая смена заставок рабочего стола

Сообщение lolobot »

LightFalcon писал(а):
25.01.2007 06:56
Ребят, а вы не извращенцы? чем вас не устроила стандартная прога из КЕД? найдете ее в настройках desktop'a, слайдшоу.

Для gnome нужно.
GNU/Linux forever! [Gentoo 2008.0]
Спасибо сказали: