# Une idée développable ? Qui s'y colle ?



## Vinc26 (27 Novembre 2004)

salut à tous !

Voici une idée d'économiseur d'écran... (fait rapidement sous FinalCutPro4)
Eco_ecran (1.1Mo - MPEG4)
Je l'imagine donnant vraiment l'impression que les fenêtres s'éloignent en 3D, dans un espace noir. Quand on reprend la souris, toutes les fenêtre reviennent extrèmement vite (type exposé)

Vous en pensez-quoi ?

Est-ce que quelqu'un d'entre vous voudrais s'y tenter ? En open-GL ? Est-ce réalisable en l'état actuel de MacOSX.3 ?

Sur les forums Macbidouille, ils m'ont dit que ça s'annonce très compliqué... et puis il y a aussi qu'un eco d'écran se lance généralement après un fondu au noir... ce qui serait très domage dans cette idée... il faudrait donc que ce soit une appli qui se lance au bout d'un certain lapse de temps, puis qui comme le fait capture d'écran (MAJ+POMME+4 puis espace), prenne une cature de chaque fenêtre de l'écran, puis les reconstruise dans un espace OpenGL, puis ouvre une fenêtre plein écran par dessus tout avec tout ça en place, puis l'anim 3D qui se lance, puis, si on bouge la souris ou touche clavier, remette tout en place très vite, et ferme enfin cette fenêtre plein écran.


Voilà.  Toute idée, contribution, ou quoi que ce soit d'autre est bienvenue. Je suis preneur aussi de toutes adresses web (forum ou site) où je puisse proposer cette idée, histoire de tomber sur LE développeur qui ai envie de se lancer là dedans !

Vous aurez-tous compris que je ne suis pas dutout développeur  mais que je trouve qu'un tel économiseur d'écran se fondrait merveilleusement bien à l'univers d'osx... N'est-ce pas Apple ?


----------



## benao (3 Décembre 2004)

je trouve !a vachement bien!
mais je peux pas t'aider pour la developper, j' y connais rien, par contre je sus preneur si l'idee est realisee.
bone chance.


----------



## TheraBylerm (7 Décembre 2004)

Pas mal du tout comme idée... je suis preneur aussi !!

Ceci dit -mais je ne suis pas developpeur- ton idée a l'air super difficile à réaliser !

Peut être peux tu trouver quelques info interressantes ici

C'est la rubrique de Apple.com sur lequel on peut downloader pas mal de screensaver... tu y trouveras sans doute un logiciel permettant de creer des écrans de veille.


----------



## Didier Guillion (7 Décembre 2004)

Bonjour,

Je me permet de te donner mon avis de développeur.

Techniquement, je ne vois pas d'impossibilité, c'est plutot au niveau de l'interet du principe que cela coince.

Prenons un exemple.

Je laisse mon ordinateur, au bout de 5 minute ton economiseur se déclenche, mais bon l'effet dure 10 secondes et l'écran devient noir, donc je n'était pas la, je n'ai rien vu.

Je passe de temps en temps devant l'ordino, mon écran est tout noir.

Je reviens pour travailler, bon, la je veut reprendre la main tout de suite, pas question d'attendre la fin d'un effet de 10 secondes, donc je ne vois rien non plus.


Cordialement


----------



## Manu (7 Décembre 2004)

Non Didier en fait si j'ai bien compris, les fenêtres sont en mouvement pendant tout le temps où la machine est inutilisée. Je crois que c'est possible à faire avec les fonctions de quartz et surtout d'OpenGL.


----------



## Didier Guillion (7 Décembre 2004)

Manu a dit:
			
		

> Non Didier en fait si j'ai bien compris, les fenêtres sont en mouvement pendant tout le temps où la machine est inutilisée. Je crois que c'est possible à faire avec les fonctions de quartz et surtout d'OpenGL.



Alors, ok, c'est mieux comme cela. 
Je crois que le meme fil est ouvert sur MacBidouille...

Cordialement


----------



## Kartof (8 Décembre 2004)

Voilà j'ai trouvé ça, je sais pas ce que ça vaut. http://www.apple.com/downloads/macosx/icons_screensavers/saveyourscreen.html


----------



## Didier Guillion (8 Décembre 2004)

Kartof a dit:
			
		

> Voilà j'ai trouvé ça, je sais pas ce que ça vaut. http://www.apple.com/downloads/macosx/icons_screensavers/saveyourscreen.html



Je ne vois pas le rapport avec la proposition, tu es sur de ton lien ?

De mon coté j'ai regardé comment recuperer les fenetres sur Mac OS X. Apparemment il faudrait passer par OpenGL mais je ne vois aucune entrée dans l'API qui fasse ce dont on ait besoin.
Je pense que l'on peut recuperer l'écran total mais pas les fenetres de maniere individuelle.

Une solution plus ardue serait de "trapper" le systeme en bas niveau et de collecter en tache de fond toutes les fenetres qui s'ouvrent et se ferme. Assez dangereux.


Cordialement


----------



## naas (9 Décembre 2004)

j'aimerais bien l'essayer mais le lien est mort


----------



## Vinche (11 Décembre 2004)

Malheureusement je n'ai pas le temps en ce moment à consacrer au developpement, mais ça me semble réalisable à condition d'avoir un bon niveau de math.
Tout d'abord pour recuperer les fenêtres il va falloir touver leurs numeros depuis le "window server". Ca ma pas l'air simple, mais de memoire fait vu passer des applications open surces qui doivent utiliser ce moyen (je me rappelle plus du nom désolé).
Reste ensuite "plus qu'à" modifier l'affichage de la fenêtre et c'est là qu'il va falloir être bon en math, le meilleur moyen à ma connaissance, c'est d'utiliser CGAffineTransform et ses dérivés en particulier CGAffineTransformMake en lui passant la bonne matrice (si quelqu'un à un niveau suffisant je suis preneur pour tenter de faire un effet Genie (à la minimize in dock)).
En tout cas c'est un gros travail pour s'épargner de mettre en veille son écran (et une bonne idée aussi).
Bon courage à celui qui va tenter le truc...
Vincent


----------



## Didier Guillion (13 Décembre 2004)

Bonsoir,

De toute manière, en développement, ce n'est pas les idées qui manquent (j'en ait des piles de dossier dans mon grenier) mais plutot les développeurs...


Cordialement


----------



## Vinc26 (14 Décembre 2004)

Didier Guillion a dit:
			
		

> Je laisse mon ordinateur, au bout de 5 minute ton economiseur se déclenche, mais bon l'effet dure 10 secondes et l'écran devient noir, donc je n'était pas la, je n'ai rien vu.
> 
> Je passe de temps en temps devant l'ordino, mon écran est tout noir.
> 
> Je reviens pour travailler, bon, la je veut reprendre la main tout de suite, pas question d'attendre la fin d'un effet de 10 secondes, donc je ne vois rien non plus.




Déjà, à tous, désolé de revenir si tardivement dans cette discussion que j'ai créée : je ne sais pas où est le probleme, mais je ne reçois pas les notifications par email... je pensais donc que le sujet était resté sans réponse. Ce qui n'est pas le cas, et tant mieux !   

Alors, pour préciser mon idée, et aller dans le sens de certaine réponses : l'idée, c'est qu'au bout de 5 minutes par exemple, tout se détache... comme dans un film qui se déroule dans l'espace, lorsqu'il détache un module d'une station spaciale ! l'objet quitte doucement sa position d'origine, puis se met à floter à quelques dixaine de mêtres de là. Et dès qu'on bouge la souris, il faut que ce soit aussi rapide qu'exposé : comme si tout revient pile poil en place ! Pouf !

Pour ce qui est des pages Apple sur les eco d'écran, j'y suis allé faire un tour : effectivement, tous les développeurs qui sont derrières ces projets seraient succeptible d'être intéressés. Peut-être en effet que je devrais faire un mail groupé...

Quand au probleme de récupérer les contenus de fenêtre : SnapPro y arrive très bien, même si elles sont cachées ou semi cachées... donc ça doit bien être possible... mais je ne suis telement pas développeur...   

Je crois que je vais justement d'abord écrire un petit mail à ceux de chez snappro   

Continuons ! (et je vais essayer de trouver pourquoi j'ai pas mes notifications par email...)


----------



## Vinc26 (14 Décembre 2004)

Hello ! 

Y'a eu une bonne avancée la bas.

Pour ceux que ça intéresse !


----------



## Kartof (31 Décembre 2004)

J'ai peut-être trouvé une commande AppleScript pour compter le nombre de fenêtres, récupérer les n°, le problème c'est que je connaît pas de commande de copie d'écran, ni de commande pour les remettre dans un espace OpenGL.


----------



## Vinc26 (1 Janvier 2005)

Excellent  ! 

Bon, maintenant, je pense que pour que le projet avance vraiment, il faudrait que quelqu'un s'y lance franchement... moi je ne peux pas, j'y connais malheureusement rien en dev. Alors j'espère que quelqu'un s'y lance, et centralise toutes les aides des vous tous qui êtes d'ici MacG ou de la-bas, MacB.

Ca dit a quelqu'un ça ?


----------



## Kartof (29 Janvier 2005)

Bon, moi je me lance. Mais ça coince quelque part, quelqu'un connaît une commande de copie d'écran ? En tous cas, j'arrive à lister les fenêtres et à leur attrbuer un n°


----------



## Vinc26 (29 Janvier 2005)

Cool !   

Comme je le disais plus haut, en tant que non-developpeur, je ne peux pas vraiment t'aider   

Juste te conseiller d'aller demander personnellement aussi dans le forum macbidouille à ceux qui avaient déjà quelques pistes.

Allez les autres ! Partageons nos savoir


----------



## Kartof (29 Janvier 2005)

Vinc26 a dit:
			
		

> Cool !
> 
> Comme je le disais plus haut, en tant que non-developpeur, je ne peux pas vraiment t'aider
> 
> ...


 Voilà j'ai publié ma dépêche dans Macgeneration sur ce sujet, après, ésperrons qu'il y aura d'autres réponses suite à ma dépêche.


----------



## _gael (29 Janvier 2005)

NSBitmapImageRep:
- (id)initWithFocusedViewRectNSRect)rect
Initializes the receiver, a newly allocated NSBitmapImageRep object, with bitmap data read from a rendered image. The image that?s read is located in the current window and is bounded by the rect rectangle as specified in the current coordinate system.

This method uses imaging operators to read the image data into a buffer; the object is then created from that data. The object is initialized with information about the image obtained from the window server.

If for any reason the new object can?t be initialized, this method frees it and returns nil. Otherwise, it returns the initialized object.

d' apres mon pauvre anglais , ca doit pouvoir recupere le contenu de la fenetre
mais peut pas dire si ca marche pour la fenetre entirere ,avec les parties cachee s il y en a.
voila j espere que j' aurai pu vous aider dans ce joli ptit projet
a+


----------



## will42 (29 Janvier 2005)

En tout cas c'est une super bonne idée !!


----------



## Darkfire (29 Janvier 2005)

Désoler, je ne connais pas grand chose à la programmation   
Si vous y arrivez, je vais l'éssayer tout de suite, ça m'a l'air super !


----------



## Vinc26 (29 Janvier 2005)

Comme je le disais je sais plus trop où, a part Apple et son utilitaire intégré, il y a snap pro x qui sait capturer fenêtre par fenêtre.

Notez aussi que sur la discussion chez MacB, un gars avait commencé à faire un "reverse ingénieuring" et avait commencé à trouver comment capturer les fenêtres !

Enfin voilà...


----------



## Kartof (30 Janvier 2005)

je relance le sujet car je trouve que c'est important ce sujet. Si vous avez des idées, postez les aussi sur le salon AIM:  forumsmacg


----------



## Vinc26 (5 Février 2005)

Zut... personne ne semble être intéressé... dommage je trouve...


----------



## Kartof (5 Février 2005)

Si, il y a moi, mais je rame au niveau de la copie d'écran


----------



## Kartof (5 Février 2005)

as tu vu la dépêche dans macgeneration que j'ai faite sur ce sujet ?


----------



## supermoquette (5 Février 2005)

Allez l'aviron bayonnais!!!

edit : easy pourtant, et tellement bête


----------



## Kartof (5 Février 2005)

supermoquette, je vois pas le rapport avec le post


----------



## Vinc26 (5 Février 2005)

Oui, oui, j'avais vu ta dépèche ! Super !!!

Mais malheureusement, personne ne semble prêt à t'aider là dessus   

As-tu eu des news des gars qui avaient commencé à plancher là dessus ?


----------



## Kartof (5 Février 2005)

non, aucune  news, mais, on pourrait en discuter sur ichat, msn ou yahoo, plutôt que de poster sur les forums et d'attendre une heure avant que l'autre puisse voir le truc ...


----------



## _gael (6 Février 2005)

bon , je vien de passer mon apres midi a chercher comment recuperer la position et le contenu des fenetres..
sans reel succe!
le probleme c que le system de fenetre de macosx, qui fait parti du 'core service' est completement fermé! pour pouvoir acceder a tt les fenetres qu' il gere, il faut le hacker!! et la c plus de mon niveau !
j' ai trouvé sur sourceforge.net un projet de bureau virtuel, a la maniere de kde sous linux(ou gnome,ou les 2,je me souvien plus).
pour arriver a leur fin, ils ont utilisee un .h 'header' CGSPrivate.h que l' on peut trouver a cette adresse: http://lorenb.com/developer/ .
c' est un fichier bricole avec lequel on peut retrouver toutes les fenetres, les deplacer,les ordonner(premier arriere plan), masquer, et meme leur attribuer une valeur de transparence.
mais malheuresement c' est incomplé et je peut pas trouver le contenu de la fenetre

pour contourne ce probleme on pourrai toujours imaginé un systeme au lancement de l' econnomiseur, ou toutes les fenetres passe au premier plan successivement et a chaque fois faire une sorte de copie d' ecransur le cadrage de cette derniere(ce qui est asse simple a realisse) , mais au niveau esthetique ca va prendre une sacre claque!!

voila, j' espere que les infos que je vous ai donne pouront vous aider pour la suite, et j' invite les developpers a jeter un oeil sur ce cgsprivate.h ainsi que sur le desktopmanager de sourceforge
.net, pt' etre que je suis passe a cote de qq chose d' essenciel en les decortiquent!


l' adresse pour telecharger desktopmanager, qui est plutot bien rehussi : 
http://sourceforge.net/project/showfiles.php?group_id=86417&package_id=89749&release_id=252588

voila bon courage pour la suite, moi j' arrete ici, je frise le mal de tete!
a+


----------



## Vinc26 (10 Février 2005)

Bon, une avancée peut-être... ou des précisions ici : http://www.objective-cocoa.org/forum/index.php?topic=612.0


----------



## Vinc26 (5 Octobre 2005)

Salut !

Bon, le projet avance à grands pas !!! Nous savons maintenant récupérer toutes les fenêtres cocoa, leurs positions... etc...

En gros, il nous manque tout simplement un développeur pour la partie 3D, qui aurait envie de faire voler ces fenêtres en l'air ! (soit en OpenGL, soit avec la dernière technologie de Tiger : Quartz Composer.

Voilà en tous cas ce que nous devrions pouvoir obtenir si quelqu'un acceptai de s'y coller :
http://vincent.zorzi.free.fr/forums/EcoEcran_v2.mov

Pour tous les détails de l'avancement du projet, les fichiers de travail... rendez-vous ici :
http://www.objective-cocoa.org/forum/index.php?topic=612.105

En espérant que quelqu'un veuille se joindre à nous


----------



## Vinc26 (11 Octobre 2005)

Ca ne branche personne ?


----------



## boris cargo (9 Novembre 2005)

moi je veux bien m'y coller. s'il n'est pas trop tard


----------

