Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Swift Discussion :

[Swift] Screensaver dynamique


Sujet :

Swift

  1. #1
    Membre à l'essai
    [Swift] Screensaver dynamique
    Bonjour à tous,
    Je poste ici la même question que j'ai mis sur le forum objective-c car j'ai fait mon programme dans les deux langages.
    Pour les curieux, ça se passe là : https://www.developpez.net/forums/d2...-mode-preview/

    Je cherche à faire un écran de veille dynamique : un site est appelé lors de la mise en veille. Jusqu'ici, tout va bien, le site s'affiche.
    Par contre, j'aimerais que la souris et le clavier (sauf la touche echap) ne fassent plus sortir de l'écran de veille et là, je bloque.

    J'ai tenté de surcharger les events (notamment le mouseMoved) mais visiblement, il faut être dans un objet NSWindow et je suis dans un ScreenSaverView qui hérite de NSView donc pas utilisable (ou je n'ai juste pas trouvé).
    J'ai aussi tenté l'affichage dans un WKWebView à la place d'un WKWebView mais rien n'y fait.

    Je pense que c'est possible car j'ai vu un écran de veille le faire : l'illustration d'album (screen saver système) quand il n'y a pas d'albums. La souris est affichée, on peut la bouger et cliquer mais ça ne sort pas.
    J'ai essayé de trouver les sources mais je ne pense pas qu'Apple les partage.

    Quelqu'un aurait-il une idée ?

  2. #2
    Membre à l'essai
    J'ai réfléchi à la question ce week-end et j'en arrive toujours à la réponse qu'il est impossible de trapper les events sur un écran de veille.
    Par contre j'ai imaginé une alternative et j'aimerais savoir si c'est réalisable ou si c'est encore un combat perdu d'avance.

    Est-il possible de faire lancer un programme à l'écran de veille tout en le détachant complètement de celui-ci?
    C'est à dire qu'à la fermeture de l'écran de veille, le programme reste lancé.
    Si c'est le cas, il faut juste que je fasse un écran de veille transparent et que mon application soit full-screen derrière.
    Au premier mouvement de la souris, l'écran de veille quitte mais mon programme est toujours là.

    Alors, réalisable ou pas?