2008-09-03 18 views
2

X Windows dispose de processus spéciaux appelés gestionnaires de fenêtres qui gèrent la disposition des fenêtres et des 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 aux tailles et positions des fenêtres .Gestionnaires de fenêtres pour Windows et Mac

Existe-t-il des méthodes cohérentes pour é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 cherche quelque chose qui utilisera des API publiques et non des hacks non documentés.

+0

voulez-vous dire le système X Window? – postfuturist

Répondre

3

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 façons de personnaliser l'aspect et la convivialité 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 à partir de X.

3

Je ne sais pas grand-chose sur OSX, mais pour cela il existe plusieurs fenêtres de remplacement Les gestionnaires pour MS Windows. Depuis au moins Windows Vista, le WM par défaut est Desktop Window Manager (ou DWM).

Voici quelques-uns que je l'ai utilisé quand je suis bloqué à l'aide de Windows:

  • LiteStep - J'ai utilisé ce quand j'étais 8 (en 1998)
  • BB4win - je quand je était à l'école multimédia et forcé d'utiliser des fenêtres (pour les outils Adobe)
  • sharpe (maintenant SharpEnviro) - Elégante, MicroSoft aurait dû utiliser cela comme défaut dans Vista :)

Je vous recommande de grok ces codes sources si vous voulez rouler votre propre MS WIN WM. Je ne sais pas comment vous pouvez acquérir un contrôle de bas niveau, mais le remplacement de la décoration de la fenêtre semble tout à fait possible si vous voulez faire cela.