Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/03/2006, à 14:16

toma222

[HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Il existe désormais un article sur le wiki concernant Adesklets donc je vous conseille de vous y fier, ce tutoriel n'étant plus mis à jour.

Je poste ce sujet en complément du sujet sur l'installation de adesklets sous Breezy.

Je ne reviendrais pas sur les qualités de ce logiciel.

Installation

Par les dépôts :

Sous Dapper, vous pouvez utiliser la version (0.5.0) disponible dans les dépôts.

sudo apt-get install adesklets

Pour utiliser certains desklets (System Monitor en particulier), il vous faudra également les paquets suivant :

sudo apt-get install libstatgrab6 python-statgrab

Compilation manuelle :

Il vous faudra les paquets suivants :

sudo apt-get install python-dev libncurses5-dev libreadline5-dev libimlib2 libimlib2-dev xlibs-dev build-essential libstatgrab6 python-statgrab

Les paquets en -dev et le paquet build-essential ne servent qu'à la compilation, vous pourrez les désinstaller après si vous souhaitez économiser de la place.
Si vous souhaitez avoir la dernière version (0.6.1), téléchargez-la ici.

Décompressez l'archive dans votre home par exemple. Dans un terminal, vous vous placer dans le répertoire créé

cd /home/votre_nom/adesklets-0.6.1

par exemple.
Ensuite, 

./configure
make 
sudo make install

Une fois tous vos desklets enregistrés (se reporter au post concernant la configuration des desklets), il suffit de taper :

adesklets --nautilus

Pour qu'il se lance au démarrage, dans le menu Système/Préférences/Sessions, onglet «programmes au démarrage» il faut ajouter adesklets --nautilus. Vu que pour moi il ne se lançait toujours pas, j'ai mis adesklets --nautilus -d X (ou X est un délais en secondes, 2s semblant juste, mettre 10 ou 15).

Note : si vous utilisez les pilotes béta Nvidia avec Beryl, les desklets apparaîtront sur fond noir. Ils'agit d'un bug connu qui n'a pas de solution pour le moment.

Merci à Syfou pour ses conseils.

Dernière modification par toma222 (Le 01/08/2007, à 17:59)

Hors ligne

#2 Le 01/04/2006, à 10:03

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Nouvelle version 0.6.1 qui apporte des corrections mineures.

Hors ligne

#3 Le 20/04/2006, à 20:36

skateinmars

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Merci, j'avais pas vu que libstatgrab etait integre a la distrib

Hors ligne

#4 Le 25/06/2006, à 15:40

JamesXB

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Bonjour,

j'ai cette erreur en compilant:

james@james:~$ cd /home/james/Desktop/adesklets-0.6.1
james@james:~/Desktop/adesklets-0.6.1$ ./configure make sudo make install
configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for make-gcc... no
checking for gcc... no
checking for make-cc... no
checking for cc... no
checking for cc... no
checking for make-cl... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
james@james:~/Desktop/adesklets-0.6.1$

merci de votre aide.

Hors ligne

#5 Le 25/06/2006, à 15:45

Stemp

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

./configure make sudo make install

???

C'est

./configure

puis

make

puis

sudo make install

Mais avant tout, tu n'as pas de compilateur. Installe donc le paquet build-essential.


«La violence n'a jamais rien réglé» Gengis Khan 1162-1227
Blog | Crunchbang Linux | Arch Linux

Hors ligne

#6 Le 27/06/2006, à 18:47

JamesXB

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Merci stemp wink

j'ai encore une petite erreur a resoudre ici: http://pastebin.com/733434

ces surement pas grand chose

Sympa de votre aide.

Dernière modification par JamesXB (Le 27/06/2006, à 18:47)

Hors ligne

#7 Le 27/06/2006, à 19:20

Stemp

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Il te manque probablement le paquet python-dev


«La violence n'a jamais rien réglé» Gengis Khan 1162-1227
Blog | Crunchbang Linux | Arch Linux

Hors ligne

#8 Le 06/07/2006, à 12:30

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

J'ai modifier un peu le tuto afin de ne pas installer toutes les dépendances si on utilise la version des dépôts.

Hors ligne

#9 Le 06/07/2006, à 18:08

tiεuM

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

J'espère que c'est bien ici qu'il faut poster pour ses problèmes...parce que j'en ai malgré le tuto (que j'ai suivi à la trace).
je vous envoie ce que j'obtiens. Au début j'avais pas mal de no et j'ai installé tous les packages qu'i demandait...enfin j'espère roll
En tout cas s'il y avait une bonne volonté pour m'aider ça m'arrangerait grandement.

~/adesklets-0.6.1$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for flex... flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for a BSD-compatible install... /usr/bin/install -c
checking for a Python interpreter with version >= 2.3... python
checking for python... /usr/bin/python
checking for python version... 2.4
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.4/site-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.4/site-packages
checking for Python include path... /usr/include/python2.4
checking for Python library path... /usr/lib/python2.4/config
checking python extra libraries...
checking for sigprocmask... yes
checking for perl... /usr/bin/perl
checking for perl version greater than or equal to 5.8.2... ok
checking for perl module IPC::Open3... ok
checking for help2man... /usr/bin/help2man
checking for tidy... /usr/bin/tidy
checking for doxygen... /usr/bin/doxygen
checking for ISO C99 warnings generation... yes
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking math.h usability... yes
checking math.h presence... yes
checking for math.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for debugging symbols generation... no
checking for sigkill timeout... yes
checking for polling frequency... checking for bc... yes
checking for lock files directory setting... yes
checking for control modifier on context menu... no
checking for legacy fake root window detection code... no
checking for frontend shell driver... yes
checking for date... (cached) yes
checking for uname... (cached) yes
checking for tputs in -lncurses... yes
checking for readline in -lreadline... yes
checking for add_history in -lhistory... yes
checking for free_history_entry in -lhistory... yes
checking for history max command lenght... yes
checking for pkg-config... /usr/bin/pkg-config
checking for fontconfig... no
configure: WARNING:
-----------------------------------------------------
`fontconfig' was not found on your system.
Although `adesklets' will work anyway system-wide
automatic font detection will not occur:
it is therefore quite possible that only the
default font provided with the package will display.
-----------------------------------------------------
checking for fork... yes
checking for X... libraries /usr/X11R6/lib, headers
checking for XOpenDisplay in -lX11... yes
checking for imlib2-config... /usr/bin/imlib2-config
checking for imlib2 - version >= 1.1.2... yes
checking for imlib2... checking for imlib2 - version >= 1.2.0... yes
checking for imlib2 program linking with ad-hoc flags... yes
checking for uint typedef in standard library... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating data/Makefile
config.status: creating utils/Makefile
config.status: creating doc/Makefile
config.status: creating doc/adesklets_checkin.1
config.status: creating doc/adesklets_submit.1
config.status: creating doc/htmldoc.sh
config.status: creating doc/imlib2/Makefile
config.status: creating scripting/Makefile
config.status: creating scripting/protoize.sh
config.status: creating scripting/python/Makefile
config.status: creating scripting/python/config.h
config.status: creating scripting/python/setup.py
config.status: creating scripting/perl/Makefile
config.status: creating scripting/perl/Makefile.PL
config.status: creating scripting/perl/updateproto.pl
config.status: creating utils/adesklets_frontend.sh
config.status: creating src/config.h
config.status: executing depfiles commands

Mieux vaut être belle et rebelle
    que moche et re-moche

Hors ligne

#10 Le 06/07/2006, à 18:12

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Bonjour,
Je ne vois pas de soucis dans le log que tu nous as mis. Tu as fait le make ensuite ?

Hors ligne

#11 Le 06/07/2006, à 18:15

tiεuM

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

oups j'ai oublié de préciser...c'est l'histoire du fontconfig qui me tracassait...
parce que quand je regarde dans synaptic il est bien installé (d'ailleurs je l'ai réinstallé pour la peine) smile

Dernière modification par tiεuM (Le 06/07/2006, à 18:16)


Mieux vaut être belle et rebelle
    que moche et re-moche

Hors ligne

#12 Le 06/07/2006, à 18:43

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Pas de soucis, il s'agit uniquement d'un warning. Au pire tu auras à changer les polices VeraBd en Vera pour tes desklets.

Hors ligne

#13 Le 09/07/2006, à 10:20

Kdenc

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Bonjour, j'ai installer simplement adesklets via synaptic, et quand je tape la commande adesklets --nautilus rien ne se passe.
Pourriez vous m'éclairer ?
Merci d'avance

#14 Le 09/07/2006, à 12:22

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Bonjour,
Question bête, tu as installé des desklets ? Dans le cas contraire vas voir le poste concernant la configuration des desklets (tu trouveras le lien dans le tuto de la première page).

Hors ligne

#15 Le 12/07/2006, à 17:46

kryss

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

bon j ai essayé gdesklets, j arrivais pas a mettre un affichages des flux rss sur le bureau (erreur : pas de capteur rss grab, je sais pas ce que ca veut dire et j ai pas compris comment resoudre le probleme). j ai donc decidé de passer a adesklets, je suis ce que vous avez mis en haut pas a pas, c est cool tout marche sauf que j arrive pas a le lancer. comme le monsieur d en haut, Kdenc. j ai installé des desklets avec desklets installer mais comme j arrive pas a lancer adesklets...
bref, je sais pas si quelqu un peut m aider, tout ce que je voulais c etait eviter de passer par liferea ou blam feed reader pour gerer mes flux rss, juste les avoir deja affiché sur le bureau.
inutile de preciser que je suis au bord du gouffre tongue
merci a tous!

Hors ligne

#16 Le 12/07/2006, à 18:04

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Salut,
En fait le truc c'est que quand tu lances adesklets, tu n'as rien (à part les desklets). Je veux dire qu'il n'y a pas d'interface comme sous gdesklets.
J'imagine que tu as installé newsfeed. Je ne l'ai jamais utilisé alors on va y aller étape par étape.
J'ai regardé le readme, déjà il te faut feedparser (python-feedparser dans Synaptic).
Ensuite il te faudra le configurer en éditant le fichier config.txt :

gedit ~/.desklets/newsfeed-0.0.4/config.txt

Hors ligne

#17 Le 13/07/2006, à 00:06

kryss

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

j ai pas de fichier config.txt mais un newsfeed.py
et le contenu de ce fichier est le suivant :


#! /usr/bin/env python
"""
--------------------------------------------------------------------------------
Copyright (C) 2005 Alessio Carenini <farquaad@users.sourceforge.net>
	for the code
        
Released under the GPL, version 2. 

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies of the Software and its documentation and acknowledgment shall be
given in the documentation and software packages that this Software was
used.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.   

--------------------------------------------------------------------------------

RSS/ATOM news feed desklets
Tested on adesklet-0.4.0 with python-2.3.4
Required feedparser.py from www.feedparser.org
Just run this script from its final location on you disk to start the desklet.

--------------------------------------------------------------------------------
"""

#-------------------------------------------------------------------------------
import adesklets
from os import getenv, system
from os.path import join, dirname
import feedparser
import textwrap
#-------------------------------------------------------------------------------
class Config(adesklets.ConfigFile):
	"""
This is newsfeed.py desklet configuration file; for each desklet,
you only have to write down the minimal delay between updates
(in seconds: less than 300 will be ignored), the URL of the feed
and the size of the desklet
Details:
	sizeX,sizeY: width and height
	head_font, head_font_height: font for news title
	item_font, item_font_height: font for news details
	url: rss/atom newsfeed url
	line_spacing: pixels between two lines
	borderX, borderY: area reserved to borders
	interactive: if True, enables highlighting of news details and calling 
		selected browser
	browser: browser to call for viewing selected news
	"""
	cfg_default = { 
		'sizeX':400,
		'sizeY':600,
		'delay':600,
		'url':'http://slashdot.org/index.rss',
		'head_font':'VeraBd',
		'head_font_height':8,
		'head_font_color':'ffff00',
		'item_font':'Vera',
		'item_font_height':8,
		'item_font_color':'02c601',
		'selected_font_color':'ffffff',
		'title_font':'VeraBd',
		'title_font_height':12,
		'title_font_color':'ffe600',
		'line_spacing':5,
		'interactive':False,
		'browser':'firefox',
		'managed':True,
		'borderX':7,
		'borderY':7
		}

	def __init__(self,id,filename):
		adesklets.ConfigFile.__init__(self,id,filename)
    
	def color(self,string):
		colors = [eval('0x%s' % string[i*2:i*2+2]) for i in range(len(string)/2)]
		if (len(colors) != 4): colors += [255]
		return colors
    
#-------------------------------------------------------------------------------
class Events(adesklets.Events_handler):
	def __init__(self, basedir):
		if len(basedir)==0:
			self.basedir='.'
		else:
			self.basedir=basedir
		self.w = None
		self.buffer= None
		self.id= None
		self.delay=None
		self.item_pos=None
		self.selected_item=None
		self.feed=None
		self.modified=None
		self.error_flag=0
		adesklets.Events_handler.__init__(self)
        
	def __del__(self):
		adesklets.Events_handler.__del__(self)
        
	def ready(self):
		# Real initialisation take place here
		self.config=Config(adesklets.get_id(),
		join(self.basedir,'config.txt'))
		if self.config['delay']<300:
			self.config['delay']=300
		self.x=self.config['sizeX']
		self.y=self.config['sizeY']
		self.url=self.config['url']
		# Font config
		self.h_font=self.config['head_font']
		self.h_font_height=self.config['head_font_height']
		self.h_font_color=self.config.color(self.config['head_font_color'])
		self.i_font=self.config['item_font']
		self.i_font_height=self.config['item_font_height']
		self.i_font_color=self.config.color(self.config['item_font_color'])
		self.sel_font_color=self.config.color(self.config['selected_font_color'])
		self.t_font=self.config['title_font']
		self.t_font_height=self.config['title_font_height']
		self.t_font_color=self.config.color(self.config['title_font_color'])
		self.line_spacing=self.config['line_spacing']
		
		self.interactive=self.config['interactive']
		self.borderX=self.config['borderX']
		self.borderY=self.config['borderY']
		self.browser=self.config['browser']

		adesklets.add_path_to_font_path(join(self.basedir))
		self.buffer=adesklets.create_image(self.x,self.y)
	
	# Set the window property
		adesklets.window_resize(self.x,self.y)
		adesklets.window_set_transparency(True)
		if (self.config['managed']):
			adesklets.window_reset(adesklets.WINDOW_MANAGED)
		adesklets.menu_add_separator()
		adesklets.menu_add_item('Configure')
		adesklets.menu_add_item('Update feed')
		adesklets.window_show()

	def alarm(self):
		self.block()
		self.feed=self.update_feed()
		self._display()
		self.unblock()
		# One second adjustment to make sure everything will be fine
		return self.config['delay']+1

	def menu_fire(self, delayed, menu_id, item):
		if item=='Configure':
			editor=getenv('EDITOR')
			if editor:
				system('xterm -e %s %s/config.txt &' % (editor, self.basedir))
		if item=='Update feed':
			self.block()
			self.feed=self.update_feed()
			self._display()
			self.unblock()
	
	def _display(self):
		self.set_buffer_image()
		if self.feed.bozo==1:
			self.error_flag=1
			self.draw_error_info()
		else:
			self.error_flag=0
			self.draw_info()
		self.copy_to_desklet()

	def set_buffer_image(self):
		# Reset the whole buffer image in transparent black
		adesklets.context_set_image(self.buffer)
		adesklets.context_set_color(0,0,0,0)
		adesklets.context_set_blend(False)
		adesklets.image_fill_rectangle(0,0,self.x,self.y)
		adesklets.context_set_blend(True)
		
		self.draw_borders()

	#--------------- Item selection and viewing ---------------
	def fire_browser(self,item):
		system(self.browser+' '+self.feed['items'][self.selected_item].link)

	def button_release(self, delayed, x, y, button):
		if (button==1)&(self.interactive):
			self.select_item(x,y)
			self.fire_browser(self.selected_item)

	def select_item(self,x,y):					
		prev_selected=self.selected_item
		for i in range(len(self.item_pos)):
			if (self.item_pos[i]!=[]):
				y_start=self.item_pos[i][0]
				y_end=self.item_pos[i][1]
				if (y>y_start)&(y<y_end):
					self.selected_item=i
		if (prev_selected!=self.selected_item):
			if (prev_selected>-1):
				self.redraw_news_content(prev_selected,0)
			self.redraw_news_content(self.selected_item,1)

	def motion_notify(self, delayed, x, y):
		if (self.error_flag==0):
			if (not delayed)&(self.interactive):
				self.select_item(x,y)
	
	def leave_notify(self, delayed, x, y):
		if (self.error_flag==0):
			self.selected_item=-1
			self._display()


	#------------- Drawing functions -------------
	def draw_info(self):
			self.item_pos=[]
			total_feeds=len(self.feed['items'])-1
			if total_feeds>20: total_feeds=20
			self.item_pos=[[] for i in range (total_feeds)]
			self.y_current=self.draw_title()
			for item in range(total_feeds):
				if (self.draw_news_header(item)==0):
					if (item==self.selected_item):
						ret=self.draw_news_content(item,1)
					else: 
						ret=self.draw_news_content(item,0)
					if (ret==1):
						return
				else:
					return

	def copy_to_desklet(self):
		# Copy everything from the buffer image to the real foreground image
		adesklets.context_set_image(0)
		adesklets.context_set_blend(False)
		adesklets.blend_image_onto_image(self.buffer,1,0,0,self.x,self.y,0,0,self.x,self.y)
		adesklets.context_set_blend(True)
		# Free all fonts used
		adesklets.fonts_reset_all()

	def draw_error_info(self):
		adesklets.context_set_font(adesklets.load_font(self.t_font+'/'+str(self.t_font_height)))
		adesklets.context_set_color(*self.h_font_color)
		adesklets.text_draw(45,15,'News: Error fetching news!')
		icon=adesklets.load_image(join(self.basedir,'img/news.png'))
		adesklets.blend_image_onto_image(icon,1,0,0,68,60,11,10,30,30)
		adesklets.free_image(icon)
		adesklets.context_set_font(adesklets.load_font('VeraBd/8'))
		adesklets.context_set_color(*self.t_font_color)
		adesklets.text_draw(12,40,'Error: '+str(self.feed.bozo_exception))

	def draw_news_header(self,item):
		adesklets.context_set_font(adesklets.load_font(self.h_font+'/'+str(self.h_font_height)))
		feed_title=str(self.feed['items'][item]['title'])
		text_x=12	
		text_y=self.line_spacing+self.y_current
		adesklets.context_set_color(*self.h_font_color)
		if ((text_y+self.line_spacing+self.h_font_height)<self.y):
			adesklets.text_draw(text_x,text_y,feed_title)
			return 0
		else:
			return 1

	def redraw_news_content(self,item,selected):
		if (selected==0):
			image=adesklets.load_image(join(self.basedir,'img/dark.png'))
			header_space=self.line_spacing+self.h_font_height
			xstart=self.borderX
			ystart=self.item_pos[item][0]+1.5*header_space
			width=self.x-2*self.borderX
			height=self.item_pos[item][1]-self.item_pos[item][0]-header_space
			adesklets.blend_image_onto_image(image,0,0,0,80,80,xstart,ystart,width,height)
			adesklets.free_image(image)
			adesklets.context_set_color(*self.i_font_color)
		else:
			adesklets.context_set_color(*self.sel_font_color)
		current=0
		header_space=self.line_spacing+self.h_font_height
		adesklets.context_set_font(adesklets.load_font(self.i_font+'/'+str(self.i_font_height)))
		feed_content=str(self.feed['items'][item]['description'])
		feed_lines= self.string_to_paragraph(feed_content)
		for i in range(len(feed_lines)):
			text_x=15	
			text_y=header_space+self.item_pos[item][0]+self.line_spacing+(self.line_spacing+self.i_font_height)*current
			if ((text_y+self.line_spacing+self.i_font_height)<self.y):
				adesklets.text_draw(text_x,text_y,feed_lines[i])
				current+=1
			else:
				return 1
	
	def draw_news_content(self,item,selected):
		last=0
		if (selected==0):
			adesklets.context_set_color(*self.i_font_color)
		else:
			adesklets.context_set_color(*self.selected_font_color)
		current=0
		header_space=self.line_spacing+self.h_font_height
		adesklets.context_set_font(adesklets.load_font(self.i_font+'/'+str(self.i_font_height)))
		feed_content=str(self.feed['items'][item]['description'])
		feed_lines= self.string_to_paragraph(feed_content)
		for i in range(len(feed_lines)):
			text_x=15	
			text_y=header_space+self.y_current+self.line_spacing+(self.line_spacing+self.i_font_height)*current
			if ((text_y+self.line_spacing+self.i_font_height)<self.y):
				adesklets.text_draw(text_x,text_y,feed_lines[i])
				current+=1
			else:
				self.item_pos[item].append(self.y_current)
				self.item_pos[item].append(self.y-self.borderY)
				return 1
		y_start,self.y_current=self.calculate_bounds(self.y_current,feed_lines)
		self.item_pos[item].append(y_start)
		self.item_pos[item].append(self.y_current)
		return 0
	
	def draw_title(self):
		adesklets.context_set_font(adesklets.load_font(self.t_font+'/'+str(self.t_font_height)))
		adesklets.context_set_color(*self.t_font_color)
		adesklets.text_draw(45,15,'News: '+str(self.feed['feed']['title']))
		icon=adesklets.load_image(join(self.basedir,'img/news.png'))
		adesklets.blend_image_onto_image(icon,1,0,0,68,60,11,10,30,30)
		adesklets.free_image(icon)
		return 45

	def draw_borders(self):		
		image=adesklets.load_image(join(self.basedir,'img/dark.png'))
		adesklets.blend_image_onto_image(image,1,0,0,80,80,0,0,self.x,self.y)
		adesklets.free_image(image)

		image=adesklets.load_image(join(self.basedir,'img/e-light.png'))
		adesklets.blend_image_onto_image(image,1,0,0,15,10,
						self.x-self.borderX,self.borderY,
						self.borderX,self.y-(2*self.borderY))
		adesklets.free_image(image)
		
		image=adesklets.load_image(join(self.basedir,'img/w-light.png'))
		adesklets.blend_image_onto_image(image,1,0,0,15,10,
						0,self.borderY,
						self.borderX,self.y-(2*self.borderY))
		adesklets.free_image(image)
		
		image=adesklets.load_image(join(self.basedir,'img/n-light.png'))
		adesklets.blend_image_onto_image(image,1,0,0,10,9,
						self.borderX,0,
						self.x-(2*self.borderX),self.borderY)
		adesklets.free_image(image)
		
		image=adesklets.load_image(join(self.basedir,'img/ne-light.png'))
		adesklets.blend_image_onto_image(image,1,0,0,15,9,
						self.x-self.borderX,0,
						self.borderX,self.borderY)
		adesklets.free_image(image)
		
		image=adesklets.load_image(join(self.basedir,'img/nw-light.png'))
		adesklets.blend_image_onto_image(image,1,0,0,15,9,
						0,0,
						self.borderX,self.borderY)
		adesklets.free_image(image)
		
		image=adesklets.load_image(join(self.basedir,'img/sw-light.png'))
		adesklets.blend_image_onto_image(image,1,0,0,15,9,
						0,self.y-self.borderY,
						self.borderX,self.borderY)
		adesklets.free_image(image)
		
		image=adesklets.load_image(join(self.basedir,'img/s-light.png'))
		adesklets.blend_image_onto_image(image,1,0,0,10,9,
						self.borderX,self.y-self.borderY,
						self.x-(2*self.borderX),self.borderY)
		adesklets.free_image(image)
		
		image=adesklets.load_image(join(self.basedir,'img/se-light.png'))
		adesklets.blend_image_onto_image(image,1,0,0,15,9,
						self.x-self.borderX,self.y-self.borderY,
						self.borderX,self.borderY)
		adesklets.free_image(image)
		
	#-------------- Utility methods -----------------
	def string_to_paragraph(self,string):
		string_size=adesklets.get_text_size(string)
		char_per_line=(self.x-2*self.borderX)/adesklets.get_text_size('x')[0]
		lines=len(string)/char_per_line
		limit=char_per_line
		result=[]
		result=textwrap.wrap(string,char_per_line)
		return result
	
	def calculate_bounds(self,y_start,paragraph):
		item_space=len(paragraph)*(self.line_spacing+self.i_font_height)
		header_space=self.line_spacing+self.h_font_height
		return y_start,y_start+item_space+header_space

	def update_feed(self):
		# Parse url
		if (self.modified==None):
			return feedparser.parse(self.url)
		else:
			temp_feed=feedparser.parse(self.url,modified=self.feed.modified)
			if (temp_feed.status=='304'):
				return self.feed
			else:
				return temp_feed
	
#-------------------------------------------------------------------------------
if hasattr(adesklets,'version_check'):
    Events(dirname(__file__)).pause()
else:
    raise RuntimeError, 'You need adesklets >= 0.4.0. See README.'

je sais pas si ca t aide...

Hors ligne

#18 Le 13/07/2006, à 10:05

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Heu non, pas vraiment (pense à mettre des balises Code pour limiter la taille).
Le fichier config.txt va apparaître lorsque tu auras lancé le desklet pour la première fois.
Donc dans ton terminal :

cd ~/.desklets/newsfeed-0.0.4/config.txt
./newsfeed.py

Ensuite tu fais t pour test et tu auras sans doute une belle erreur. Mais ton fichier config.txt sera créé.

Hors ligne

#19 Le 13/07/2006, à 10:16

kryss

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

fallait enlever le config.txt a la fin je suppose
donc voila ce que ca me donne dans le terminal :

Do you want to (r)egister this desklet or to (t)est it? t
Now testing...
============================================================
If you do not see anything (or just an initial flicker
in the top left corner of your screen), try `--help',
and see the FAQ: `info adesklets'.
============================================================
Traceback (most recent call last):
  File "./newsfeed.py", line 419, in ?
    Events(dirname(__file__)).pause()
  File "./newsfeed.py", line 109, in __init__
    adesklets.Events_handler.__init__(self)
  File "/usr/lib/python2.4/site-packages/adesklets/events_handler.py", line 158,  in __init__
    self._alarm()
  File "/usr/lib/python2.4/site-packages/adesklets/events_handler.py", line 296,  in _alarm
    timeout=self.alarm()
  File "./newsfeed.py", line 157, in alarm
    self._display()
  File "./newsfeed.py", line 180, in _display
    self.draw_info()
  File "./newsfeed.py", line 238, in draw_info
    ret=self.draw_news_content(item,0)
  File "./newsfeed.py", line 313, in draw_news_content
    feed_lines= self.string_to_paragraph(feed_content)
  File "./newsfeed.py", line 394, in string_to_paragraph
    char_per_line=(self.x-2*self.borderX)/adesklets.get_text_size('x')[0]
  File "/usr/lib/python2.4/site-packages/adesklets/commands.py", line 516, in ge t_text_size
    return comm.out()
  File "/usr/lib/python2.4/site-packages/adesklets/commands_handler.py", line 10 3, in out
    raise ADESKLETSError(4,message)
adesklets.error_handler.ADESKLETSError: adesklets command error - syntax error

a coté, une fenetre bleue s est creee puis s est refermée

Hors ligne

#20 Le 13/07/2006, à 10:26

kryss

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

et sinon mon fichier config a bien ete crée. le voici :

# -*- coding: ASCII -*-
#
#This is newsfeed.py desklet configuration file; for each desklet,
#you only have to write down the minimal delay between updates
#(in seconds: less than 300 will be ignored), the URL of the feed
#and the size of the desklet
#Details:
#	sizeX,sizeY: width and height
#	head_font, head_font_height: font for news title
#	item_font, item_font_height: font for news details
#	url: rss/atom newsfeed url
#	line_spacing: pixels between two lines
#	borderX, borderY: area reserved to borders
#	interactive: if True, enables highlighting of news details and calling 
#		selected browser
#	browser: browser to call for viewing selected news
#	
id0 = {'borderX': 7,
 'borderY': 7,
 'browser': 'firefox',
 'delay': 600,
 'head_font': 'VeraBd',
 'head_font_color': 'ffff00',
 'head_font_height': 8,
 'interactive': False,
 'item_font': 'Vera',
 'item_font_color': '02c601',
 'item_font_height': 8,
 'line_spacing': 5,
 'managed': True,
 'selected_font_color': 'ffffff',
 'sizeX': 400,
 'sizeY': 600,
 'title_font': 'VeraBd',
 'title_font_color': 'ffe600',
 'title_font_height': 12,
 'url': 'http://slashdot.org/index.rss'}

il me semble que je t ai pas remercié de te pencher sur mon cas...
merci! tongue

Hors ligne

#21 Le 13/07/2006, à 12:58

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

De rien wink. Par contre j'ai une mauvaise nouvelle, je n'arrive pas à faire fonctionner ce desklet. J'ai la même erreur que toi et je n'arrive pas à la corriger.
En se reportant à ce post, il semblerait que nous ne soyons pas les seuls. Tu peux essayer les solutions proposées (changer les VeraBd en Vera dans le config.txt), mais chez moi ça n'a rien changé.

Hors ligne

#22 Le 14/07/2006, à 07:59

shiønn

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

petite question: il fonctionne sous XGL ?

personnelement il ne se lance pas tongue


How many people can read hex, if only me dead people can read hex ?

Hors ligne

#23 Le 14/07/2006, à 09:46

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Salut,
Oui il n'y a pas de problème avec Xgl. Ton problème vient sans doute d'ailleurs.

Hors ligne

#24 Le 14/07/2006, à 12:27

kryss

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

heu... qu est ce que c est xgl?
j ai remplacé la police VeraB par Vera et ca marche toujours pas...
je vois pas du tout ce qui peut marcher la. tout ce que je voulais c etait avoir mes flux rss sur le bureau, moi sad

Hors ligne

#25 Le 14/07/2006, à 12:35

toma222

Re : [HOW TO] adesklets : installation sous Ubuntu Dapper et Edgy

Xgl c'est ce qui permet d'avoir ce genre de choses.
Désolé de pas pouvoir t'aider pour ton problème, je ne vois pas de solution. Tu pourrais demander de l'aide à Syfou (le développeur de adesklets) mais malheureusement ce n'est pas lui qui a écrit ce desklet et il a l'air également impuissant sur ce problème.
Donc j'imagine qu'il va falloir que tu trouves d'autres solutions.

Hors ligne