interactive.c revision 1029
943N/A * Copyright (c) 1993, 2010, Oracle and/or its affiliates. All rights reserved. 0N/A * Permission is hereby granted, free of charge, to any person obtaining a 919N/A * copy of this software and associated documentation files (the "Software"), 919N/A * to deal in the Software without restriction, including without limitation 919N/A * the rights to use, copy, modify, merge, publish, distribute, sublicense, 919N/A * and/or sell copies of the Software, and to permit persons to whom the 919N/A * Software is furnished to do so, subject to the following conditions: 919N/A * The above copyright notice and this permission notice (including the next 919N/A * paragraph) shall be included in all copies or substantial portions of the 919N/A * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 919N/A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 919N/A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 919N/A * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 919N/A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 919N/A * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 919N/A * DEALINGS IN THE SOFTWARE. 0N/A/************************************************************ 0N/A Basic boilerplate extension. 0N/A This file also contains the code to make the priocntl on behalf 0N/A Note that ChangePriority also sets the last client with focus 0N/A to the normal priority. 0N/A If there are knobs to be added to the system, for say the nice 0N/A values for the IA class, they would be added here. 0N/A********************************************************/ 0N/A/* THIS IS NOT AN X CONSORTIUM STANDARD */ 0N/A/* static int LocalConnection(OsCommPtr); */ 0N/A /* InitExtensions is called before InitClientPrivates(serverClient) 0N/A so we set this timer to callback as soon as we hit WaitForSomething 0N/A to initialize the serverClient */ 606N/A "SolarisIA: Finished initializing (generation %ld)\n",
606N/A/* Allocate client private structure for this client */ 0N/A/* Called when we first hit WaitForSomething to initialize serverClient */ 0N/A/* Called when new client connects or existing client disconnects */ 606N/A "SolarisIA: WindowManager closed (pid %d)\n",
0N/A The SProc* functions are here for completeness. They should never get 0N/A called. But since they do the server has to eat the request and 0N/A return thanks for sharing. 606N/A * Loop through pids associated with client. Magically make last focus 606N/A * group go non-interactive -IA_BOOST. 606N/A /* Shortcut. Focus changed between two windows with same pid */ 606N/A /* Remove priority boost for last focus group */ 606N/A /* If no pid info for current client, then we're done here. 606N/A * This can happen if we have a remote client with focus or if the client 606N/A * is statically linked or if it is using a down rev version of libX11. 606N/A /* Set the priority boost if it isn't already active */ 606N/A /* Make sure server or wmgr isn't unset by testing for them, so 606N/A * that LastPids is never set to point to the server or wmgr pid. 606N/A /* Get TS class information */ 606N/A /* Get IA class information */ 606N/A /* If process is in TS or IA class we can safely set parameters */ 606N/A /* If this returns true, the process is already in the */ 606N/A /* IA class, so we don't need to update it. */ 0N/A/***************************************************************************** 0N/A/* In Xsun we used the osPrivate in OsCommPtr, so this was SetOsPrivate. */ 606N/A Check to see that all in current (a) are in last (b). 606N/A And that a and b have the same number of members in the set. 606N/A return 0;
/* definately NOT the same set */ 0N/A/***************************************************************************** 0N/A * Wrappers for normal procs - in Xsun we modified the original procs directly 0N/A * in dix, but here we wrap them for a small performance loss but a large 0N/A * increase in maintainability and ease of porting to new releases. 0N/A /* If the input focus is PointerRootWin, send the event to where 0N/A the pointer is if possible, then perhaps propogate up to root. */ 606N/A "SolarisIA: WindowManager detected (pid %d)\n",