XQuartz: RandR: Refactor legacy mode-switching to be better integrated with RandR

Adds three new functions
void QuartzRandRSetFakeRootless (void);
void QuartzRandRSetFakeFullscreen (void);
void QuartzRandRToggleFullscreen (void);

The first two are identical to requesting the fake modes from a RandR client
The third responds to cmd-alt-a to leave fullscreen or RandR.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This commit is contained in:
Jeremy Huddleston 2010-08-03 12:51:51 -07:00
commit c45bea0c04
6 changed files with 234 additions and 147 deletions

View file

@ -115,12 +115,8 @@ typedef struct _QuartzModeProcs {
extern QuartzModeProcsPtr quartzProcs;
extern Bool XQuartzHasRoot; /* TODO: These two booleans are very similar and */
extern Bool XQuartzServerVisible; /* the code that uses them needs to be refactored
* XQuartzHasRoot is essentially the "saved" XQuartzServerVisible
* value from when the server was not in rootless mode.
*/
extern Bool XQuartzFullscreenVisible; /* Are the windows visible (predicated on !rootless) */
extern Bool XQuartzServerVisible; /* Is the server visible ... TODO: Refactor to "active" */
extern Bool XQuartzEnableKeyEquivalents;
extern Bool XQuartzRootlessDefault; /* Is our default mode rootless? */
extern Bool XQuartzIsRootless; /* Is our current mode rootless (or FS)? */
@ -144,7 +140,7 @@ void QuartzSetRootClip(BOOL enable);
void QuartzSpaceChanged(uint32_t space_id);
void QuartzSetRootless(Bool state);
void QuartzSetFullscreen(Bool state);
void QuartzShowFullscreen(Bool state);
int server_main(int argc, char **argv, char **envp);
#endif