dix: add callback for post root window init
Allow extensions to catch in right after a screen's root window has been finally initialized Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
7b801906c5
commit
c4632a40dc
|
@ -53,6 +53,19 @@ extern HWEventQueuePtr checkForInput[2];
|
||||||
/* -retro mode */
|
/* -retro mode */
|
||||||
extern Bool party_like_its_1989;
|
extern Bool party_like_its_1989;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @brief callback right after one screen's root window has been initialized
|
||||||
|
*
|
||||||
|
* For extensions that need additional setup after root window is completely
|
||||||
|
* initialized (eg. possible to create new windows), but before any client
|
||||||
|
* can connect. Called once per screen (supplied as arg) - the screen's
|
||||||
|
* CreateWindow proc already had been called on the root window.
|
||||||
|
*
|
||||||
|
* Not for DDXs / drivers: those already informed by screen's CreateWindow
|
||||||
|
* proc being called on the root window.
|
||||||
|
*/
|
||||||
|
extern CallbackListPtr PostInitRootWindowCallback;
|
||||||
|
|
||||||
static inline _X_NOTSAN Bool
|
static inline _X_NOTSAN Bool
|
||||||
InputCheckPending(void)
|
InputCheckPending(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -125,6 +125,7 @@ Equipment Corporation.
|
||||||
extern void Dispatch(void);
|
extern void Dispatch(void);
|
||||||
|
|
||||||
CallbackListPtr RootWindowFinalizeCallback = NULL;
|
CallbackListPtr RootWindowFinalizeCallback = NULL;
|
||||||
|
CallbackListPtr PostInitRootWindowCallback = NULL;
|
||||||
|
|
||||||
int
|
int
|
||||||
dix_main(int argc, char *argv[], char *envp[])
|
dix_main(int argc, char *argv[], char *envp[])
|
||||||
|
@ -247,8 +248,10 @@ dix_main(int argc, char *argv[], char *envp[])
|
||||||
PanoramiXConsolidate();
|
PanoramiXConsolidate();
|
||||||
#endif /* XINERAMA */
|
#endif /* XINERAMA */
|
||||||
|
|
||||||
for (i = 0; i < screenInfo.numScreens; i++)
|
for (i = 0; i < screenInfo.numScreens; i++) {
|
||||||
InitRootWindow(screenInfo.screens[i]->root);
|
InitRootWindow(screenInfo.screens[i]->root);
|
||||||
|
CallCallbacks(&PostInitRootWindowCallback, screenInfo.screens[i]);
|
||||||
|
}
|
||||||
|
|
||||||
LogMessageVerb(X_INFO, 1, "Screen(s) initialized\n");
|
LogMessageVerb(X_INFO, 1, "Screen(s) initialized\n");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue