Question

X Windows dispose de processus spéciaux appelés gestionnaires de fenêtres qui gèrent la disposition des fenêtres et leurs décorations comme leur barre de titre, leurs boutons de contrôle, etc.Ces processus utilisent une API X Windows pour détecter les événements liés à la taille et à la position des fenêtres.

Existe-t-il des moyens cohérents d'écrire de tels processus pour Microsoft Windows ou Mac OS/X ?

Je sais qu'en général ces systèmes sont moins flexibles mais je recherche quelque chose qui utilisera des API publiques et non des hacks non documentés.

Était-ce utile?

La solution

Windows et Mac OS X disposent de « gestionnaires de fenêtres » intégrés qui ne peuvent pas être modifiés.Il existe différentes manières de personnaliser l'apparence de la plate-forme, mais vous ne pouvez pas vraiment remplacer les gestionnaires de fenêtres existants.

Les programmes d'application utilisent des API pour recevoir des événements et interagir avec le système d'exploitation.Vous pouvez écrire une application qui déplace les fenêtres d'autres applications à l'écran, mais vous ne pouvez pas obtenir le niveau de contrôle que vous pouvez obtenir avec X.

Autres conseils

Je ne connais pas grand-chose à OSX, mais il existe plusieurs gestionnaires de fenêtres de remplacement pour MS Windows.Depuis au moins Windows Vista, le WM par défaut est Gestionnaire de fenêtres de bureau (ou DWM).

En voici quelques-uns que j'ai utilisés lorsque j'étais limité à Windows :

  • LiteStep - Je l'ai utilisé quand j'avais 8 ans (en 1998)
  • BB4win - Je l'ai utilisé lorsque j'étais à l'école multimédia et que j'étais obligé d'utiliser Windows (pour Adobe Tools)
  • SharpE (Maintenant SharpEnviro) - Joli, MicroSoft aurait dû l'utiliser par défaut dans Vista :)

Je vous recommanderais de saisir ces codes sources si vous souhaitez créer votre propre MS WIN WM.Je ne sais pas à quel point vous pouvez acquérir un contrôle de bas niveau, mais remplacer la décoration des fenêtres semble tout à fait possible si vous souhaitez le faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top