#1 Le 04/09/2011, à 15:25
- AnsuzPeorth
[HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Bjr,
N'ayant pas trouvé une taskbar qui me convienne, j'ai codé, pour le fun, une taskbar html. Plutot que de me faire juste ma taskbar, j'ai plutot développé un outils qui permet de faire ses widgets en html pour le bureau, dont ma taskbar.
Ce projet est en cours de développement, ckdevelop s'en sert pour refaire son bureau fleex, ca qui me permet d'avoir qqles retours.
Je post donc ce soft en esperant avoir d'autres retours, d'autres idées qui permettrait d'améliorer l'ensemble. Juste un peu de connaissances en html/css/js, une pointe de bash ou de python pour rendre le tout dynamique, suffit.
Il tourne depuis un moment chez moi, et pas de gros bug trouvé.
Je cherche également une 'super' idée de menu, dans l'exemple fourni (mon bureau actuel), le menu est gnome-like, pas top ...
L'exemple fourni est constitué de 4 widgets, taskbar, menu, bottom (moniteur systeme) et background (2 bureaux virtuel nécessaires). Il a été fait sous et pour gnome, les dameons dbus utilisés (pour le son, montage, démontage partition, extinction) sont des daemons lancés que sous gnome (à ma connaissance).
La norme freedesktop est respecté. Un problème de gestion de bureaux virtuel sous openbox n'est pas résolu (pas essayé encore !)
Si vous voulez essayé sous d'autres WM, il faudra commenter certaine ligne dans le fichier HtmlDesktopTools.ini.
Des readme sont dans chaque dossier pour expliquer le fonctionnement.
Il suffit de lancer HtmlDesktopTools.py en console (de préférence pour y voir ce qui se passe), kill via moniteur systeme obligatoire ou via console pkill -f HtmlDesktopTools.py
Archive:
Premier exemple: (plus simple) http://gwebradio.googlecode.com/files/ConkyLike.tar.gz
Dépendances: python-webkit
Cette exemple se passe des daemons gnome et wnck, il est plus simple que le suivant. HDT est plus à jour dans cette archive.
Il est composé d'une simple barre de lancement et d'un conky-like.
Deuxième exemple: http://gwebradio.googlecode.com/files/H … 0.1.tar.gz
Dépendances: python-webkit
Dépendances applets:
taskbar: python-wnck
device: dbus Udisks
session: dbus ConsoleKit, UPower, DisplayManager, SessionManager
son: dbus org.ayatana.indicator.sound
Sous ubuntu (gnome), il suffit d'ajouter python-webkit et python-wnck.
Il n'est pas conseillé de lancer plusieurs HDT, il suffit de coller les widgets voulus dans leur dossier et de renseigner le HtmlDesktopTools.ini
README principal:
Cette outil sert à afficher des widgets Html sur le bureau qui permettent le lancement de commandes système.
Une communication inter-widgets est établie grace à des commandes spéciales, des applets python ou via dbus depuis n'importe quelle autre application.
Il est possible de se servir de HtmlDesktopTools pour afficher une simple boite avec un peu de code html venant du web (site jamendo par exemple), de se faire une Deskbar, des panels, un bureaux ou tout autre possibilité offerte par les applets.
Le moteur de rendu web embarqué est webkit, html5 et css3 supporté.
Applets/tools disponibles par défaut:
---------------------------------------
Applets:
Taskbar: Gère les fenêtre ouvertes et les bureaux.
SoundControl: Gère le son
SessionManager: Gestion de la session (shutdown, reboot, etc, etc)
MonitorSyteme: daemon qui surveille usage cpu, reseau et memoire
DbusDeviceDaemon: Gestion des disques durs/amovibles (liste/montage/démontage)
Tools:
getdesktopentries.py: module ou executable python pour récupérer les entrées desktop du système.
get_web_info.sh: petit sh pour surveiller état de la poubelle, ping et ip web (c'est un exemple d'utilisation dbus et daemon d'un widget)
Fonctionnement:
-----------------
Chaque widget html, doit avoir au minimum, un fichier HTML et un fichier ini portant le même nom.
L'appel à une commande spéciale ou lancement d'une application depuis un widget, se fait par de simple liens html clickés par l'user ou simulé par javascript. Ces liens auront un prefixe spéciale pour chaque action souhaité.
Chaque widget peut lancer des executables avant d'ouvrir sa page html, lancer des daemons une fois la page chargé ou encore importer des applets python ( à renseigner dans le fichier ini du widget correspondant ).
Chaque widget a lancer devra être renseigner dans le HtmlDesktopTools.ini
Communication:
----------------
Les commandes spéciales:
Ce sont les préfixes qu'il faudra utiliser pour les liens html. Par exemple, pour lancer firefox depuis un widget:
<a href="execute:Firefox">Lancer moi</a>
Dbus service:
Chaque widget lance un service dbus qui porte son nom. Il est possible d'appeler des fonctions javascript du widget via cette interface.
Les applets python:
Ils sont lancés en arrière plan, ils permettent une communication dans les 2 sens. Ils sont requis pour des taches complexes ou pour agir selon les actions user.
Par exemple, l'applet MonitorSysteme refresh les données toutes les secondes, il aurait été possible de faire un daemon bash qui utilise dbus pour refresh le html, mais la consommation en ressource système serait énorme (lancement de dbus-send chaque secondes), alors qu'un applet modifie directement le html via webkit.
Les applets sont aussi nécessaires si ils ont besoin d'agir selon les actions user, comme la Taskbar par exemple.
Commandes spéciales:
------------------------
execute: [ execute:commande ]
Lance une application système.
geometry: [ geometry:width height x y ]
Déplace est redimensionne le widget. Cette commande sera souvent utilisé, gtk ne redimensionne et ne place pas automatiquement sa fenêtre selon le html affiché dans webkit.
communicate: [ communicate:themeName:JScommande ]
Appel des fonctions javascript d'autres widgets.
ex: communicate:AnsuzBottom:modifBackground('red')
loaduri: [ loaduri:themeName:FileName ]
Charge un fichier html d'un widget. Le fichier html chargé devra se trouver dans le dossier du widget correspondant.
ex: loaduri:AnsuzBottom:index1.html
applet: [ applet:themeName:AppletName:AppletCommande ]
Appel une commande d'un applet. Le widget correspondant aura évidemment indiqué l'applet à charger dans son environnement dans son fichier .ini.
Voir les commandes disponibles pour chaque applet dans leur README.
ex: applet:AnsuzMenu:DbusDeviceDaemon:device_clicked_cb(arg)
cmdgtk: [ cmdgtk:themeName:commande ]
ex: cmdgtk:AnsuzBottom:show
Agit directement sur gtk via qqles commandes:
show
Affiche la fenêtre à l'écran
hide
Cache la fenêtre
above
Force la fenêtre à rester derrière (desktop)
unabove
Annule above
below
Force la fenêtre à rester au premier plan (popup)
unbelow
Annule below
present
Affiche la fenêtre, elle sera unminimise si besoin et raise sur le bureau actuel.
Dbus Service
---------------
service: com.ansuzbus.HtmlDesktop
path: /com/ansuzbus/HtmlDesktop/ThemeName
cmd: com.ansuzbus.HtmlDesktop.Send
Arguments: string (FonctionJS), array:string (liste d'options à passer à la fonction JS)
Exemple: (voir ./AnsuzBottom/get_web_info.sh)
ThemeName: AnsuzBottom.
Fonction JS a appeler: modifyWebInfo(ping, ip)
args: ping (0.025), ip (178.05.05.05)
dbus-send --session --print-reply --dest=com.ansuzbus.HtmlDesktop \
/com/ansuzbus/HtmlDesktop/AnsuzBottom com.ansuzbus.HtmlDesktop.Send \
string:'modifyWebInfo' array:string:"0.025","178.05.05.05"
Les applets python
---------------------
Voir README du dossier applets.
PS: Petite précision, les html/JS à modifier sont dans le dossier widgets !
Dernière modification par AnsuzPeorth (Le 10/09/2011, à 12:55)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#2 Le 05/09/2011, à 13:02
- CKDevelop
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
parfait Ansuz, c'est cool, ta déposé HDT, je vais pouvoir faire des retour sans avoir à attendre de pouvoir te choper en ligne
Home -> Debian Jessie & Home server -> Debian Wheezy
Office -> Ubuntu 14.04 & Office server -> Ubuntu 12.04
Embedded -> Raspbian / Debian Wheezy
Hors ligne
#3 Le 05/09/2011, à 13:16
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
parfait Ansuz, c'est cool, ta déposé HDT, je vais pouvoir faire des retour sans avoir à attendre de pouvoir te choper en ligne
Pour infos, il y a qqles différences par rapport à la version que tu as:
- plus de zombie
- moins d'icone pour la taskbar (je prends celles des classApp)
- drag&drop
- Gestion des erreurs dbus (si pas de bus lancé)
J'attends de voir ton fleex avec impatience !
PS: je gratte pas dessus en ce moment, mais je vais m'y remettre ! Ou pas
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#4 Le 05/09/2011, à 13:58
- CKDevelop
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
pareille Ansuz, j'ai pris du recul pendant la fin des vacances, car bon les gosses prime là je retourne dessus dans la semaine, mais bon j'ai quand même bien regardé ta source et je commence à me repérer, ce qui est déjà pas mal
bon je t'avouerais avoir du mal avec xdg, qui est plus difficile à prendre en main que Gnome-menu, mais ta raison à 100% je vais généraliser au maximum fleex pour éviter des conflits bidon
en tous cas je me répète mais ta bien fait de poster ton moteur HDT ++
Dernière modification par CKDevelop (Le 05/09/2011, à 13:59)
Home -> Debian Jessie & Home server -> Debian Wheezy
Office -> Ubuntu 14.04 & Office server -> Ubuntu 12.04
Embedded -> Raspbian / Debian Wheezy
Hors ligne
#5 Le 10/09/2011, à 11:25
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Bjr,
J'ai un peu modifier HDT et un exemple plus simple ... Ca risque de moins effrayer ceux qui veulent se lancer
(premier post modifié)
Dernière modification par AnsuzPeorth (Le 10/09/2011, à 12:56)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#6 Le 02/11/2011, à 11:47
- Linux64
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Excellent, je vais suivre de prêt
Ca fonctionne avec Gnome-shell ?
Serveur : Debian Lenny | PC : Ubuntu 10.10 | Smartphone : Maemo5 (basé sur Debian !)
Hors ligne
#7 Le 08/11/2011, à 17:52
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Excellent, je vais suivre de prêt
Ben ca ne va plus trop bouger je pense, pas bcp de monde derrière. En l'état, il fait ce que je veux, j'ai ma taskbar, mon menu, mes multi-bureaux et mes infos sytemes ... Le "moteur" est ok, ca tourne depuis pas mal de temps, sans soucis. Il faut juste faire des html/JS à son gout, c'est tout !
Ca fonctionne avec Gnome-shell ?
Ben c'est codé pour gtk2. Je ferais une version gtk3 pour la prochaine LTS. (mais devrait pas avoir trop de taf pour modifier le tout). Donc si t'es sous gtk3 et que tu n'as pas les libs gtk2, ca n'ira pas. Comme je suis sous gtk2 et que j'ai la flemme d'upgrade maintenant, faudra attendre le moi avril.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#8 Le 06/02/2012, à 18:52
- n3o51
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
excellent du as dev d'autre widget ? J'ai un bug sur le portable mais c'est simplement que mon ecran sur le portable est plus petit.Par contre j'ai l'impression que le multi bug sans compiz activé
Dernière modification par n3o51 (Le 06/02/2012, à 18:53)
Welcome to the real world
________________________________
Hors ligne
#9 Le 06/02/2012, à 22:57
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Non, j'ai pas dev d'autres widgets, pas le temps/envie ...
L'exemple 2 est mon bureau depuis, et j'ai pas de soucis particulier (me suis même trop bien habitué à ma taskbar, j'ai pas trouvé d'équivalent ...)
Pour la taille, il faut aller gratter dans les fichiers de config (bien que ce soit automatique, mais certain widgets sont fixe...)
Et le multibureaux, doit surement poser soucis avec unity ou gnome-shell, c sur ... C'est dev sous gtk2 et gnome2, je n'y ai pas gratté depuis.
J'ai pas de retour d'users, donc pour débugger, c'pas simple !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#10 Le 07/02/2012, à 00:37
- n3o51
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Ok Pour le multi je clique sur les flèches et rien ne ce passe alors qu'avec compiz sa fonctionne mais pas avec le composite de metacity
Welcome to the real world
________________________________
Hors ligne
#11 Le 07/02/2012, à 12:32
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Ok Pour le multi je clique sur les flèches et rien ne ce passe alors qu'avec compiz sa fonctionne mais pas avec le composite de metacity
J'avais rencontré ce soucis uniquement sous openbox (qui ne gère pas les bureaux comme tout le monde !!!)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#12 Le 23/04/2012, à 14:33
- abelthorne
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Je sais pas si quelqu'un a déjà posté ça ni si c'est le sujet le plus approprié mais je viens de tomber sur une vidéo de Madbox où il montre une bureau HTML qui tourne sur SliTaz : http://www.youtube.com/watch?v=FjjbJ0sfAME
Hors ligne
#13 Le 23/04/2012, à 17:38
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Je sais pas si quelqu'un a déjà posté ça ni si c'est le sujet le plus approprié mais je viens de tomber sur une vidéo de Madbox où il montre une bureau HTML qui tourne sur SliTaz : http://www.youtube.com/watch?v=FjjbJ0sfAME
Hummm, ca ressemble à fleex tout ça ... Faut dire que ca vient de adeskbar, et adcomp avait participé au début de fleex.
Par contre, l'outils que je propose c'est pas la même chose, cet outils permet de faire ce genre de bureau, en exemple, j'ai mis mon bureau, mais tout le monde peut faire le sien, et bien plus, html/css/bash/python/JS ...
J'inclus les daemons dbus system (montage, démontage, extinction ..), plus mes propres daemon, ca permet une communication complète.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#14 Le 27/06/2012, à 17:45
- cedric_neo
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
bonjour ,
j'ai été très intéressé par le concept et l'idée .
Mais je ne trouve aucune information concernant la licence ?
l'auteur pourrait il la préciser ?
merci par avance..
cédric
Hors ligne
#15 Le 28/06/2012, à 11:30
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
bonjour ,
j'ai été très intéressé par le concept et l'idée .
Mais je ne trouve aucune information concernant la licence ?
l'auteur pourrait il la préciser ?
merci par avance..
cédric
C'est un oubli, c'est la licence gpl. Je t'ai répondu au mail.
Je modifierai dès que je serai rentré chez moi !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#16 Le 22/07/2012, à 11:06
- cedric_neo
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
bonjour à tous,
j'ai étudier plus en profondeur le fonctionnement des HtmlDesktopTools sur lesquels s'appuye mon projet.
il me reste cependant quelques question ou incompréhension.
tout d'abord, je pense avoir compris que le fonctionnement du système d'appel de fonction distante lié à commlink est dépendant de cette ligne de code
self.webview.connect("navigation-policy-decision-requested", self.nav_request)
présente dans la définition de la class MakeWindows de la lib widgets.
Cela semble lier l'évènement click souris à l'exécution de la fonction nav_request.
Cependant je ne comprend pas comment l'on récupère les paramètres de la requête notamment l'uri.
Dans la ligne de cote précédent, aucun paramètres n'apparait.
D'autre part, il me semble comprendre que dans la définition de la fonction nav_request le morceau de code
getattr(self, fonction)(uri, name)
permet l'exécution d'une des fonctions définies juste après dans la définition de la class widgets du fichier du même nom.
Si fonction contient execute alors la fonction execute est appelé avec les paramètres uri et name présent dans l'uri fourni par l'appel a commlink dans le fichier html. Cependant je ne comprend pas le fonctionnement de cet appel getattr sur l'exécution de la fonction execute par exemple.
voilà mes question pour le moment.
Je pense que pour bien comprendre les dysfonctionnements futur de mes appels aux différent éléments et programmes externes, il me faut mieux comprendre le fonctionnement interne du système.
merci par avance et bonne et belle journée ensoleillée (on peut enfin ranger les palmes).
cédric
Hors ligne
#17 Le 24/07/2012, à 09:42
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Bjr,
J'ai pas pu répondre plus vite, dsl, j'étais pas la.
Je ne sais pas si ça va t'aider de comprendre ma façon de faire, mais bref ...
Cependant je ne comprend pas comment l'on récupère les paramètres de la requête notamment l'uri.
Dans la ligne de cote précédent, aucun paramètres n'apparait.
La ligne connecte le signal, les paramètres sont envoyés par webkit.
Cependant je ne comprend pas le fonctionnement de cet appel getattr sur l'exécution de la fonction execute par exemple.
getattr fait comme un eval, il remplace une suite de if elif ... J'aime bien procédé comme ça, c'est plus propre, mais plus galère à débugguer !
Tu peux voir que je découpe l'uri pou en extraire la commande (execute par exemple), et donc j'appelle la fonction execute via getattr. Cette fonction appelle une autre fonction en arriere plan, qui lance une commande systeme. Les autres fonctions (geometry, communincate, etc,etc) sont 'spécialisées', elles agissent sur le soft directement (les differents widgets).
Je ne sais pas si j'ai été clair !!! Mais bon, c'est pas vital de comprendre cette partie, logiquement, tu n'a rien à y faire
PS: tu peux virer tous les print dans le code, je passe par la fonction DEBUG pour le retour dans le terminal, lorsque ton soft sera ok, il te suffit de passer la variable debug à False pour ne plus avoir de sortie vers le terminal.
C'est pas encore très propre le code, vu que personne n'utilise ce soft, je n'y étais pas retourné. Mais lorsque ton soft sera ok, je mettrais au propre (le code ne changera pas, juste les détails comme les print inutiles seront enlevés ou remplacer les tab par des espaces, enfin, des détails ...)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#18 Le 24/07/2012, à 10:38
- cedric_neo
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Merci pour tes réponses, ça confirme ce que je pensais avoir compris...
Je suis pas encore un spécialiste de python (je suis un programmeur java à la base. Mais python commence à bien me séduire).
sinon je sais que c'est pas indispensable de connaitre le fonctionnement interne pour l'utiliser mais bon on se refait j'aime comprendre comment ca fonctionne ca me rassure.
Et puis je compte bien participer ensuite à l'évolution du fonctionnement, peut être l'ajout de petite chose qui me manquerons un jour et donc récourir au fonctionnement natif.
Même si tu penses avoir fait un système uniquement pour ajouter une barre ou un background moi j'y vois un support pour développer des application performante en python avec interface en html5. je pense que c'est une voix prometeuse et en plus en libre.
Je compte pas m'arrêter à ma première utilisation de ce système.
D'où ma question sur la licence.
La en ce moment je me bat avec ayatana (enfin avec son absence de ma kubuntu).
Merci je reviens vite avec plein de nouvelles questions.
bonne journée,
cédric
Hors ligne
#19 Le 24/07/2012, à 15:40
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Et puis je compte bien participer ensuite à l'évolution du fonctionnement, peut être l'ajout de petite chose qui me manquerons un jour et donc récourir au fonctionnement natif.
les applets sont là pour ça, ajouter des fonctionnalités, accessible depuis n'importe quel widget ...
Même si tu penses avoir fait un système uniquement pour ajouter une barre ou un background moi j'y vois un support pour développer des application performante en python avec interface en html5. je pense que c'est une voix prometeuse et en plus en libre.
Nop, ce n'est pas juste pour faire une barre et un background, mais j'ai mis en place un systeme pour faire ce que l'on veut, avec une communication interne de tous les modules et widget. On peut faire des applis avec interface html5, mais on peut mixer avec du bash, du python ou autre ... Enfin, on peut en faire ce que l'on veut !
html5,ccs3, JS, bash, python, qui communique dans tout les sens, avec tout ça, dur d'être limité !
Je compte pas m'arrêter à ma première utilisation de ce système.
D'où ma question sur la licence.
Si tu changes de nom et que tu respectes gpl, pas de soucis, peut être juste signaler que c'est un fork de HtmlDesktopTools, par principe ...
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#20 Le 25/07/2012, à 09:20
- cedric_neo
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
pas de problème pour signaler que c'est un fork de HtmlDesktopTools Le principe du libre est de toujours dire qui a fait quoi.
Pour le moment, j'embarque HtmlDesktopTools tel quel a un détail prêt à savoir j'ai rajouté une partie quit (que je supprimerai après ) dans le code suivant
def cmdgtk(self, uri, name):
self.debug('[ NAVIGATION REQUESTED ] -> gtk: -> %s' % uri)
uri = urllib.unquote(uri)
pr, name, cmd = uri.split(':')
if cmd == 'show':
cmd = 'self.master.%s.window.show()' % name
elif cmd == 'hide':
cmd = 'self.master.%s.window.hide()' % name
elif cmd == 'above':
cmd = 'self.master.%s.window.set_keep_above(True)' % name
elif cmd == 'unabove':
cmd = 'self.master.%s.window.set_keep_above(False)' % name
elif cmd == 'below':
cmd = 'self.master.%s.window.set_keep_below(True)' % name
elif cmd == 'unbelow':
cmd = 'self.master.%s.window.set_keep_below(False)' % name
elif cmd == 'present':
cmd = 'self.master.%s.window.present()' % name
eval(cmd)
En effet, j'arrive pas a faire fonctionner la fonction mainquit.
voilà voilà ....
note : je suis en train de voir si on peut s'échanger des flux vidéos avec le systèmes tel quel ou si il faudra lui rajouter quelque chose ou passer par des pipes ou de socket interne ou je ne sais trop quel idée tordue. C'est en ca que je parlais d'évolution.
Merci pour toutes ces réponses.
Et à bientot pour de nouvelles aventures...
cédric
Hors ligne
#21 Le 25/07/2012, à 10:18
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Pour le moment, j'embarque HtmlDesktopTools tel quel a un détail prêt à savoir j'ai rajouté une partie quit (que je supprimerai après ) dans le code suivant
Pourquoi ajouter une partie quit ? Si tu fait un gtk.mainquit(), tu ne pourras plus le relancer (car les differents widget sont lancés au démarrage, après, ca sera plus possible de les relancer), enfin, si j'ai bien compris ta modification !!!
Je suppose que tu veux faire des appli indépendante, comme un environnement normal ? Avec un lancement et une fin (quit). Je n'ai pas codé de la sorte, pour arriver à un truc un peu pret similaire, il faudrait procéder comme suit:
Créer un widget qui servira de container, comme une boite de dialogue normal mais vide, et selon l'application, tu charge le html correspondant. Si tu as besoin d'agir selon user, tu crées un applet où les fonctions seront accessibles de partout, mais dans notre cas, nécessaire seulement depuis le html de l'appli en cours.
Donc, tu n'as pas besoin de fonction quit, mais tu fais un show ou hide a la place, et tu change le html selon l'appli appelée. Je sais pas si je suis clair .... ?
Par exemple, tu veux ajouter un calendrier avec agenda, tu a donc ton widget (boite vide), tu crée un applet calendar où se trouveront toutes les fonctions necessaires, lorsque tu voudra quitter cette appli, un simple hide suffira, si tu dois faire des actions avant de quitter, elles se trouveront dans l'applet. Ensuite, si tu dois appeller une autre application, il suffit de charger le html correspondant et show le widget.
Si tu compte avoir bcp d'appli, il faudra peut être que je modifie le code, car actuellement, toutes tes appli seront en mémoires (enfin elles seront importées avec le widget) ... C'est pas terrible, ca sera rapide à l'affichage, mais ca bouffera un peu de ram (bien que les pc de maintenant embarque bcp de ram) !
C'est vrai que j'ai codé ce soft pour avoir un environnement modifiable à souhait, mais pas pour avoir des centaines d'applications qui ne doivent pas être lancé au démarrage, bien qu'il ne faudrait pas grand chose pour y arriver ... Un simple applet qui crée la window gtk et webkit, qu'on pourra lancer et fermer à souhait, à étudier et mettre en place si nécessaire !
note : je suis en train de voir si on peut s'échanger des flux vidéos avec le systèmes tel quel ou si il faudra lui rajouter quelque chose ou passer par des pipes ou de socket interne ou je ne sais trop quel idée tordue. C'est en ca que je parlais d'évolution.
Je comprends pas ce que tu veux faire ! Echanger des flux vidéos avec le système ?!
PS: tu peux voir dans ma signature si je suis connecté sur la room, ça sera plus simple pour échanger ! A savoir que je ne suis pas tjrs dispo, même si j'apparais connecté !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#22 Le 25/07/2012, à 11:12
- cedric_neo
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
Tu es hyper réactif dis donc
bon la j'suis en train de me prendre la tête avec le bus dbus de gestion du son (ayatana que je pensais crée en installant indicator-sound).
tu peux noté que je suis débutant dans le domaine de dbus... je l'ai découvert avec ton projet... si si c'est possible.
Pour la fonction quit c'était juste pour faire un bouton qui tu l'appli. J'ai voulu créer ce bouton une nuit. j'ai créé ça je me suis pas encore demandé si ça pouvait être mieux fait. De toute façon , ça doit disparaitre.
Mon appli sera lancé au démarrage de la session. Une fenêtre unique. Pour le moment, les parties de l'appli apparaissent et disparaisse grace au display de CSS. (block ou none).
Mais je réfléchi à faire maigrir mon fichier html en incluant que le template nécessaire au moment nécessaire avec innerHtml.
Oui effectivement mon appli consiste simplifier fortement la présentation et le lancement d'appli adaptée ou développée explicitement pour mon système. Je suis d'accord que unity pourrait peut être le faire mais je voulais pas d'une usine a gaz et j'aime bien tout controler.
L'appli principale a pour but d'être modulaire. Donc effectivement je me posais la question de savoir si le chargement de toute les applet au lancement n'allait pas poser problèmes en terme de mémoire (il est prévu que ça tourne sur un pc avec processeur basse consommation AMD E350. Je veux la plus faible conso possible.)
L'histoire de la video vient du fait que je veux tenter d'adapter GAJIM (qui est développer en python) pour lui donner une interface intégré au système en cours de développement. L'idée (c'est qu'une préréflexion, la toute prochaine applet en développement étant le client mail, le vidéo tchat passera après) est de faire du code de gajim une applet et de transmetrre le flux vidéo entrant de l'applet vers une fenêtre webkit. De même, le choix du correspondant et de l'activiation ou non de la vidéo, du réglage du micro ect devront être controlé par des bouton de l'interface principale webkit.
voilà pourquoi je cherche à échanger un flux vidéo entre une applet et une fenêtre webkit
cédric
Hors ligne
#23 Le 25/07/2012, à 11:16
- cedric_neo
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
pour info, voilà ce que j'obtiens systèmatiquement.
[ DbusActions ][ __init__ ] SessionManager
[ SoundControl ][ ERROR ] SoundControl dbus service doesn't exist !!!
[ DbusActions ][ __init__ ][ SoundControl ]
cédric
Hors ligne
#24 Le 25/07/2012, à 11:45
- AnsuzPeorth
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
bon la j'suis en train de me prendre la tête avec le bus dbus de gestion du son (ayatana que je pensais crée en installant indicator-sound).
C'est du gnome, qui respecte la norme freedesktop, peut être ca t'aideras ?
http://www.freedesktop.org/wiki/Softwar … uildDebian
mais je voulais pas d'une usine a gaz
Pourtant, HDT se pose là comme usine à gaz
L'appli principale a pour but d'être modulaire. Donc effectivement je me posais la question de savoir si le chargement de toute les applet au lancement n'allait pas poser problèmes en terme de mémoire (il est prévu que ça tourne sur un pc avec processeur basse consommation AMD E350. Je veux la plus faible conso possible.)
Faut relativiser, les applet seront chargés, mais ca bouffe pas non plus de tonnes de ram, ce qui consomme bcp de ram, c'est l'affichage graphique, et ici, on à juste une window, avec webkit, donc ca sera jamais énorme !
L'histoire de la video vient du fait que je veux tenter d'adapter GAJIM (qui est développer en python) pour lui donner une interface intégré au système en cours de développement. L'idée (c'est qu'une préréflexion, la toute prochaine applet en développement étant le client mail, le vidéo tchat passera après) est de faire du code de gajim une applet et de transmetrre le flux vidéo entrant de l'applet vers une fenêtre webkit. De même, le choix du correspondant et de l'activiation ou non de la vidéo, du réglage du micro ect devront être controlé par des bouton de l'interface principale webkit.
Gajim utilise aussi dbus, installe d-feet, peut être que dbus te semblera plus clair !
Pour la vidéos conférence, j'y avait pensé m'y coller, mais pas le temps ... Tu compte utiliser koi pour la vidéo ? Perso, je m'étais pencher sur gstreamer qui peut envoyer de la vidéo et du son en udp ou rtscp, doit avoir moyen de se coté là (mais gstreamer, encore un très gros morceau ...)
Mais c'est une bonne idée de faire de la videconférence sans devoir installer un tas de soft different, que tout soit simple d'accès à madame michu ...
Sinon, pour envoyer de la vidéo vers webkit, un simple lien dans le lecteur html devrait suffire.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#25 Le 25/07/2012, à 12:00
- cedric_neo
Re : [HtmlDesktopTools] Tout pour votre bureau en HTML5/JS/CSS3
je trouve pas HDT comme un usine a gaz
j'ai mis un peu de temps a m'y mettre parce que j'avais pas programmé depuis pas mal de temps et que j'(apprend python et que je connaisais pas webkit ni les webview....
Mais maintenant ca me semble plutot propre et simple de prise en main.
Et ca sépare tres bien le modèle/controleur, de la vue ...
Pour ce qui est de la video conférence, je comptais utiliser directement gajim pour faire tout le boulot ... normalement il gere la video conference sur jabber. Même si à ce jour, je n'ai pas encore réussi à le faire fonctionner en vidéo conf depuis ma kubuntu..
Je veux juste refaire l'interface mais garder le gros du boulot qui a été fait sur la vidéo conf dans gajim plutot que réinventer la roue.
je regarde ce que tu m'a filé
J'ai change mon window-manager pour gnome sur une session mais rien de neuf (je sais démarrer gnome sur une kubuntu faut chercher les emmerdes)...
j'installe d-feet et je vois.
mais bon il n'ya pas de problème il n'y a que des solutions. Mais bon comme mon client mail a une partie sonore je voudrais que ca tourne.
allez j'y retourne
cédric
Hors ligne