Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Cairo-Dock cafe | Café Cairo-Dock Le vrai post sur l'apprentissage de dbus et de python + 3615 ma vie
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Cairo-Dock cafe | Café Cairo-Dock

Subjects Author Language Messages Last message
[Locked] Le vrai post sur l'apprentissage de dbus et de python + 3615 ma vie
Page : 1 2 3 4 5 6 7
taiebot65 Français 138 taiebot65 [Read]
16 May 2010 à 20:46

matttbe, Saturday 20 February 2010 à 23:59


Subscription date : 24 January 2009
Messages : 12573
Euh, DBus est un moyen de communiqué . Il ne sait rien afficher

fabounet, Sunday 21 February 2010 à 00:01


Subscription date : 30 November 2007
Messages : 17118
pas actuellement en tout cas

taiebot65, Sunday 21 February 2010 à 00:17


Subscription date : 26 October 2008
Messages : 1904
merde ca aurait ete trop simple ... donc va falloir faire compliquer et ca va etre encore la galere ... ou alors vous voyez un hack facile mettre l'icone a un endroit et lui donner un chemin ??

et si je demande au dock qu'elle icone il utilise pour telle application il me la donnera ?? meme si on definit cairo-dock sans
taskbar??

fabounet, Sunday 21 February 2010 à 01:43


Subscription date : 30 November 2007
Messages : 17118
non car ce ne sont pas des images, mais des icônes venant de X.
tu peux toujours prendre une icône correspondant au lanceur ceci dit.

taiebot65, Sunday 21 February 2010 à 13:16


Subscription date : 26 October 2008
Messages : 1904
Pfuuuu encore dans la panade mais comment vous faites .............

http://www.moeraki.com/pygtktutorial/pygtk2reference/class-gdkpixbuf.html

Si j'ai bien compris faudrait que je fasse un truc comme ...

class gtk.gdk.Pixbuf(gobject.GObject):

def save(filename, type, options=None)
def save_to_callback(save_func, type, options=None, user_data=None)

fabounet, Sunday 21 February 2010 à 13:25


Subscription date : 30 November 2007
Messages : 17118
save tout court suffira je pense.

taiebot65, Sunday 21 February 2010 à 18:46


Subscription date : 26 October 2008
Messages : 1904
Oui un save suffit

Putain je reve j'arrive a afficher des icones dans Nautilus .......

Il va falloir que je me connecte au dock lui lance les images ... voir comment ca rend. C'est tres long sur nautilus mais je pense que c'est du au temps de rafraichissement de nautilus..

taiebot65, Saturday 27 February 2010 à 19:05


Subscription date : 26 October 2008
Messages : 1904
Bon ca avance lentement mais surement.. Je viens d'ailleurs de faire des tests et les desklets sont consideres comme des fenetres normales. Est-ce un bug ou c'est normal j'aurais pense qu'elles etaient classe differemment pour pouvoir exclure les desklets. J'aurais dit en utility windows non?

voila les types de fenetres

WNCK_WINDOW_NORMAL
    the window is a normal window.

WNCK_WINDOW_DESKTOP
    the window is a desktop.

WNCK_WINDOW_DOCK
    the window is a dock or a panel.

WNCK_WINDOW_DIALOG
    the window is a dialog window.

WNCK_WINDOW_TOOLBAR
    the window is a tearoff toolbar.

WNCK_WINDOW_MENU
    the window is a tearoff menu.

WNCK_WINDOW_UTILITY
    the window is a small persistent utility window, such as a palette or toolbox.

WNCK_WINDOW_SPLASHSCREEN
    the window is a splash screen displayed as an application is starting up.

fabounet, Saturday 27 February 2010 à 21:10


Subscription date : 30 November 2007
Messages : 17118
et non ils sont bien de simple fenêtres
sauf ceux qui sont sur la couche widget (qui eux sont des utility).
par contre ils ont un flag qui dit de ne pas les inclure dans la barre des taches
sous X ça s'appelle _NET_WM_STATE_SKIP_PAGER, donc tu devrais pouvoir trouver un truc qui se rapproche dans Compiz je pense.

taiebot65, Saturday 27 February 2010 à 22:50


Subscription date : 26 October 2008
Messages : 1904
J'ai rien trouve sous compiz .... D'ailleurs je me demandais comment tu faisais pour recuperer l'icone quand la fenetre devenait minimise

je fais tout sous python wnck mais si ca se trouve je peux tout faire avec X. C'est juste que je debute et c'est vraiment pas facile de comprendre tous les rouages...
Notamment les signaux et les definitions je galere mais bon c'est tres interessant..

Et je vais voir la dessus donc...

fabounet, Sunday 28 February 2010 à 01:20


Subscription date : 30 November 2007
Messages : 17118
ah je croyais que c'était Compiz qui te donnait tes infos.

taiebot65, Sunday 28 February 2010 à 21:42


Subscription date : 26 October 2008
Messages : 1904
Putain deux jours que je bloque sur ces putains de fonctions Ah que je comprends pas grand chose....

Je voudrais creer un module pour pouvoir recuperer mes signaux dans un coin et apres les balancer sur l'applet demo mais bon j'y arrive pas....


#!/usr/bin/env python
# taskbar.py v0.000001 on est meme pas connecte au dock :-(
# Copyright (C) taiebot 2009 <taiebot65  at  yahoo.fr>

# taskbar.py 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 3 of the License, or
# (at your option) any later version.

# main.py 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, see <http://www.gnu.org/licenses/>.

import gtkwnckos

#Le seul qui marche pas car le type n'est pas defini... la fenetre active n'est pas une fenetre??? 
# define event-handlers
#def active_window_changed(screen,window):
#    status = window.get_name()
#    print "Fenetre active: " 
#    pass

#on definit tous les elements fenetres,applis,task et on les affichent
#global window_is_on_workspace
#global window_type(Normal, Desktop, Dock, Dialog,Toolbar, Menu, Utility, Splashscreen):

#window_is_on_workspace = wnck_window_get_workspace ()

def workspace():
    
screen_numer wnck_workspace_get_number()
    print 
screen_number

def window_opened
(screenwindow):
    
ouverte window.get_name()
    
PID =window.get_pid()
    
#statut = window.get_state()
    
Typewindow.get_window_type()
    
screen window_get_workspace()
    
#print "Fenetre ouverte: " + ouverte #+str(PID)
    
print ouverte
    
#print Type
    #print statut

def window_closed(screenwindow):
    
ferme window.get_name()
    
PID =window.get_pid()
    
#print "Fenetre ferme: " + ferme + str(PID)

def application_opened(screenapplication):
    
Appli_ouverte application.get_name()
    
PID application.get_pid()
    
Icon application.get_icon().save("/home/taiebot/test-fenetresouvertes/"Appli_ouverte+str(PID), "png" , )
    
#print "Application ouverte: " + Appli_ouverte +str(PID)

def application_closed(screenapplication):
    
Appli_ferme application.get_name()
    
PID application.get_pid()
    
os.remove("/home/taiebot/test-fenetresouvertes/"Appli_ferme +str(PID))
    
#print "Application ferme: " + Appli_ferme

def class_group_opened(screenclass_group):
    
Class_ouverte class_group.get_name()
    
#print "Class ouverte: " + Class_ouverte

def class_group_closed(screenclass_group):
    
Class_ferme class_group.get_name()
    
#print "Class ferme: " + Class_ferme





# Evenements qui changent le status... 
screen wnck.screen_get_default()
#screen.connect("workspace", workspace)
#screen.connect("active_window_changed", active_window_changed)
screen.connect("window_opened"window_opened)
screen.connect("window_closed"window_closed)
screen.connect("application_opened"application_opened)
screen.connect("application_closed"application_closed)
screen.connect("class_group_opened"class_group_opened)
screen.connect("class_group_closed"class_group_closed)




# start gtk's main-loop
gtk.main()


fabounet, Monday 01 March 2010 à 09:52


Subscription date : 30 November 2007
Messages : 17118
et c'est quoi qui marche pas là-dedans ?

taiebot65, Monday 01 March 2010 à 20:37


Subscription date : 26 October 2008
Messages : 1904
Ben tout marche mais j'arrive pas a sortir les valeurs styles "Icon" de la definition je bloque ca doit etre tout con... comment reappeller ces valeurs dans une autre partie de mon programme...

fabounet, Tuesday 02 March 2010 à 12:34


Subscription date : 30 November 2007
Messages : 17118
utilise la classe comme nom d'image

taiebot65, Thursday 11 March 2010 à 17:18


Subscription date : 26 October 2008
Messages : 1904
Bon je continue mon petit applet a pas de fourmi...

J'ai transforme le meme code en le mettant dans une classe je sais pas si c'est utile mais bon faut voir

Je suppose qu'apres je pourrais faire des "callbacks" avec cette classe ai-je bien compris?


#!/usr/bin/env python
#On fait des nouveaux tests pour savoir si mettre les definitions par classe est 
#plus faclile \o/
#

import gtkwnckos,pynotify

class Signaux:

    
def window_opened(self,screen,window):
        
ouverte window.get_name()
        
PID =window.get_pid()
        
#pynotify.init('someName')
        #imageURI = "/usr/share/cairo-dock/cairo-dock.svg"
        #message = ouverte
        #n = pynotify.Notification("cairo-dock",message,imageURI)
        #n.show()
        
print ouverte

    def window_closed
(self,screen,window):
        
ferme window.get_name()
        
PID window.get_pid()
        print 
ferme
    
    def __init__
(self):
        
#We listen to the signal of windows opened.
        
screen wnck.screen_get_default()
        
screen.connect("window_opened"self.window_opened)
        
screen.connect("window_closed"self.window_closed)
        
#screen.connect("application_opened", self.application_opened)
        #screen.connect("application_closed", self.application_closed)
        #screen.connect("class_group_opened", self.class_group_opened)
        #screen.connect("class_group_closed", self.class_group_closed)



def main():
    
gtk.main()
    return 
False

if __name__ == "__main__":
    
Signaux()
    
main()




Y a meme dedans commente tout pour faire marcher les notifications integres a Ubuntu attention ca spam severe

fabounet, Thursday 11 March 2010 à 17:31


Subscription date : 30 November 2007
Messages : 17118
les "callbacks" c'est des fonctions qui sont appelées lorsqu'il se passe qqch. donc c'est pas forcé de les mettre dans une classe, mais en général ça rend le code un peu plus propre.
reste plus qu'à les remplir

taiebot65, Saturday 15 May 2010 à 17:20


Subscription date : 26 October 2008
Messages : 1904
Ok je suis arrive a integrer un peu de code sur l'applet... Mais j'arrive toujours pas a afficher un truc... ...

Bien sur c'est mes icones voila ou ca bloque....

def application_opened(self,screen,application):
        PID = application.get_pid()
        Appli_ouverte = application.get_name()
        Icon = application.get_icon().save("/home/taiebot/test-fenetresouvertes/"+str(PID), "png" , )
        Icon_path = "/home/taiebot/test-fenetresouvertes/"+str(PID)+".png"
        print Icon_path
        mySubIcons.AddSubIcons(["Icon_path", "PID"," PID"])


Si j'enleve les guillements sur Icon_path, PID,PID ca me tue l'applet...
la en ce moment ca me cree des sous-icones correspondant aux nombres de mes fenetres ouvertes... mais j'arrive pas a leur mettre leurs icones correspondantes

taiebot65, Saturday 15 May 2010 à 17:23


Subscription date : 26 October 2008
Messages : 1904
Ok je suis con j'ai intervertit icon_path... mais ca me fait un deuxieme probleme...

actory.c:cairo_dock_create_surface_from_image:409)
This file (/home/taiebot/test-fenetresouvertes/15555.png) doesn't exist or is not readable.
/home/taiebot/test-fenetresouvertes/3518.png
do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
Try adjusting the vblank_mode configuration parameter.
warning : (/build/buildd/cairo-dock-2.1.4-0beta1-20100508/src/cairo-dock-surface-factory.c:cairo_dock_create_surface_from_image:409)
This file (/home/taiebot/test-fenetresouvertes/3518.png) doesn't exist or is not readable.
/home/taiebot/test-fenetresouvertes/13802.png
warning : (/build/buildd/cairo-dock-2.1.4-0beta1-20100508/src/cairo-dock-surface-factory.c:cairo_dock_create_surface_from_image:409)
This file (/home/taiebot/test-fenetresouvertes/13802.png) doesn't exist or is not readable.
/home/taiebot/test-fenetresouvertes/13798.png
warning : (/build/buildd/cairo-dock-2.1.4-0beta1-20

taiebot65, Saturday 15 May 2010 à 17:50


Subscription date : 26 October 2008
Messages : 1904
Waouhhhhhhhhhhh

Ca marche...

Cairo-Dock cafe | Café Cairo-Dock

Subjects Author Language Messages Last message
[Locked] Le vrai post sur l'apprentissage de dbus et de python + 3615 ma vie
Page : 1 2 3 4 5 6 7
taiebot65 Français 138 taiebot65 [Read]
16 May 2010 à 20:46


Glx-Dock / Cairo-Dock List of forums Cairo-Dock cafe | Café Cairo-Dock Le vrai post sur l'apprentissage de dbus et de python + 3615 ma vie Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.