Merge remote branch 'jeremyhu/master'

This commit is contained in:
Keith Packard 2010-12-14 15:01:36 -08:00
commit 9716d31247
14 changed files with 224 additions and 491 deletions

View File

@ -1,5 +1,5 @@
noinst_LTLIBRARIES = libCGLCore.la
AM_CFLAGS = $(DIX_CFLAGS)
AM_CFLAGS = $(DIX_CFLAGS) $(GL_CFLAGS)
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/glx \

View File

@ -30,7 +30,6 @@ libXquartz_la_SOURCES = \
keysym2ucs.c \
pseudoramiX.c \
quartz.c \
quartzAudio.c \
quartzCocoa.m \
quartzKeyboard.c \
quartzStartup.c \
@ -47,7 +46,6 @@ EXTRA_DIST = \
keysym2ucs.h \
pseudoramiX.h \
quartz.h \
quartzAudio.h \
quartzCommon.h \
quartzKeyboard.h \
quartzRandR.h \

View File

@ -77,7 +77,6 @@ void X11ApplicationMain(int argc, char **argv, char **envp);
#define PREFS_APPSMENU "apps_menu"
#define PREFS_FAKEBUTTONS "enable_fake_buttons"
#define PREFS_SYSBEEP "enable_system_beep"
#define PREFS_KEYEQUIVS "enable_key_equivalents"
#define PREFS_FULLSCREEN_HOTKEYS "fullscreen_hotkeys"
#define PREFS_FULLSCREEN_MENU "fullscreen_menu"

View File

@ -718,8 +718,6 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) {
NSString *nsstr;
const char *tem;
XQuartzUseSysBeep = [self prefs_get_boolean:@PREFS_SYSBEEP
default:XQuartzUseSysBeep];
XQuartzRootlessDefault = [self prefs_get_boolean:@PREFS_ROOTLESS
default:XQuartzRootlessDefault];
XQuartzFullscreenMenu = [self prefs_get_boolean:@PREFS_FULLSCREEN_MENU

View File

@ -65,7 +65,6 @@ typedef unsigned int NSUInteger;
IBOutlet NSButton *fake_buttons;
IBOutlet NSButton *enable_fullscreen;
IBOutlet NSButton *enable_fullscreen_menu;
IBOutlet NSButton *use_sysbeep;
IBOutlet NSButton *enable_keyequivs;
IBOutlet NSButton *sync_keymap;
IBOutlet NSButton *option_sends_alt;

View File

@ -637,9 +637,6 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
if(sender == fake_buttons) {
darwinFakeButtons = [fake_buttons intValue];
[NSApp prefs_set_boolean:@PREFS_FAKEBUTTONS value:darwinFakeButtons];
} else if(sender == use_sysbeep) {
XQuartzUseSysBeep = [use_sysbeep intValue];
[NSApp prefs_set_boolean:@PREFS_SYSBEEP value:XQuartzUseSysBeep];
} else if(sender == enable_keyequivs) {
XQuartzEnableKeyEquivalents = [enable_keyequivs intValue];
[NSApp prefs_set_boolean:@PREFS_KEYEQUIVS value:XQuartzEnableKeyEquivalents];
@ -701,7 +698,6 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
BOOL pbproxy_active = [NSApp prefs_get_boolean:@PREFS_SYNC_PB default:YES];
[fake_buttons setIntValue:darwinFakeButtons];
[use_sysbeep setIntValue:XQuartzUseSysBeep];
[enable_keyequivs setIntValue:XQuartzEnableKeyEquivalents];
[sync_keymap setIntValue:darwinSyncKeymap];
[option_sends_alt setIntValue:XQuartzOptionSendsAlt];

View File

@ -2,19 +2,22 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1040</int>
<string key="IBDocument.SystemVersion">10D573</string>
<string key="IBDocument.InterfaceBuilderVersion">761</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">460.00</string>
<string key="IBDocument.SystemVersion">10J541</string>
<string key="IBDocument.InterfaceBuilderVersion">850</string>
<string key="IBDocument.AppKitVersion">1038.35</string>
<string key="IBDocument.HIToolboxVersion">462.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">761</string>
<string key="NS.object.0">850</string>
</object>
<array class="NSMutableArray" key="IBDocument.EditedObjectIDs"/>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</array>
<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="904585544">
<object class="NSCustomObject" id="815810918">
<object class="NSMutableString" key="NSClassName">
@ -388,7 +391,7 @@
<characters key="NS.bytes">1</characters>
</object>
<object class="NSView" key="NSView" id="596750588">
<reference key="NSNextResponder" ref="448510093"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="119157981">
@ -396,7 +399,6 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{18, 210}, {402, 18}}</string>
<reference key="NSSuperview" ref="596750588"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="990762273">
<int key="NSCellFlags">67239424</int>
@ -424,7 +426,6 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{36, 60}, {385, 31}}</string>
<reference key="NSSuperview" ref="596750588"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="391919450">
<int key="NSCellFlags">67239424</int>
@ -461,7 +462,6 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{36, 162}, {385, 42}}</string>
<reference key="NSSuperview" ref="596750588"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="649334366">
<int key="NSCellFlags">67239424</int>
@ -479,7 +479,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{18, 97}, {402, 18}}</string>
<reference key="NSSuperview" ref="596750588"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="940564599">
<int key="NSCellFlags">67239424</int>
@ -501,7 +500,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{36, 126}, {385, 14}}</string>
<reference key="NSSuperview" ref="596750588"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="666057093">
<int key="NSCellFlags">67239424</int>
@ -518,7 +516,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{18, 146}, {402, 18}}</string>
<reference key="NSSuperview" ref="596750588"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="967619578">
<int key="NSCellFlags">67239424</int>
@ -540,7 +537,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{36, -1}, {385, 31}}</string>
<reference key="NSSuperview" ref="596750588"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="617441821">
<int key="NSCellFlags">67239424</int>
@ -557,7 +553,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{18, 36}, {402, 18}}</string>
<reference key="NSSuperview" ref="596750588"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="67728988">
<int key="NSCellFlags">67239424</int>
@ -576,8 +571,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
</object>
</array>
<string key="NSFrame">{{10, 33}, {438, 246}}</string>
<reference key="NSSuperview" ref="448510093"/>
<reference key="NSWindow"/>
</object>
<string key="NSLabel">Input</string>
<reference key="NSColor" ref="57160303"/>
@ -588,51 +581,15 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<characters key="NS.bytes">2</characters>
</object>
<object class="NSView" key="NSView" id="515308735">
<nil key="NSNextResponder"/>
<reference key="NSNextResponder" ref="448510093"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="418227126">
<reference key="NSNextResponder" ref="515308735"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{18, 63}, {402, 18}}</string>
<reference key="NSSuperview" ref="515308735"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="1016069354">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Use system alert effect</string>
<reference key="NSSupport" ref="463863101"/>
<reference key="NSControlView" ref="418227126"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSAlternateImage" ref="391434389"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSTextField" id="1039016593">
<reference key="NSNextResponder" ref="515308735"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{36, 29}, {385, 28}}</string>
<reference key="NSSuperview" ref="515308735"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="624655599">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">4194304</int>
<string key="NSContents">X11 beeps will use the standard system alert, as defined in the Sound Effects system preferences panel.</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="1039016593"/>
<reference key="NSBackgroundColor" ref="57160303"/>
<reference key="NSTextColor" ref="930815747"/>
</object>
</object>
<object class="NSPopUpButton" id="709074847">
<reference key="NSNextResponder" ref="515308735"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{74, 202}, {128, 26}}</string>
<reference key="NSSuperview" ref="515308735"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="633115429">
<int key="NSCellFlags">-2076049856</int>
@ -723,6 +680,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{17, 205}, {55, 20}}</string>
<reference key="NSSuperview" ref="515308735"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="930265681">
<int key="NSCellFlags">67239424</int>
@ -739,6 +697,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{36, 183}, {392, 14}}</string>
<reference key="NSSuperview" ref="515308735"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="311969422">
<int key="NSCellFlags">67239424</int>
@ -755,6 +714,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{18, 149}, {409, 23}}</string>
<reference key="NSSuperview" ref="515308735"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="631531164">
<int key="NSCellFlags">67239424</int>
@ -776,6 +736,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{37, 83}, {409, 23}}</string>
<reference key="NSSuperview" ref="515308735"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="917248662">
<int key="NSCellFlags">67239424</int>
@ -797,6 +758,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{36, 112}, {385, 31}}</string>
<reference key="NSSuperview" ref="515308735"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="761107402">
<int key="NSCellFlags">67239424</int>
@ -810,6 +772,8 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
</object>
</array>
<string key="NSFrame">{{10, 33}, {438, 246}}</string>
<reference key="NSSuperview" ref="448510093"/>
<reference key="NSWindow"/>
</object>
<string key="NSLabel">Output</string>
<reference key="NSColor" ref="57160303"/>
@ -1212,13 +1176,13 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<reference key="NSTabView" ref="448510093"/>
</object>
</array>
<reference key="NSSelectedTabViewItem" ref="287591690"/>
<reference key="NSSelectedTabViewItem" ref="960678392"/>
<reference key="NSFont" ref="463863101"/>
<int key="NSTvFlags">0</int>
<bool key="NSAllowTruncatedLabels">YES</bool>
<bool key="NSDrawsBackground">YES</bool>
<array class="NSMutableArray" key="NSSubviews">
<reference ref="596750588"/>
<reference ref="515308735"/>
</array>
</object>
</array>
@ -1732,14 +1696,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
</object>
<int key="connectionID">389</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">use_sysbeep</string>
<reference key="source" ref="485884620"/>
<reference key="destination" ref="418227126"/>
</object>
<int key="connectionID">390</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">fake_buttons</string>
@ -1788,14 +1744,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
</object>
<int key="connectionID">396</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">prefs_changed:</string>
<reference key="source" ref="485884620"/>
<reference key="destination" ref="418227126"/>
</object>
<int key="connectionID">397</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">prefs_changed:</string>
@ -2547,27 +2495,9 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<reference ref="477203622"/>
<reference ref="57246850"/>
<reference ref="298603383"/>
<reference ref="418227126"/>
<reference ref="1039016593"/>
</array>
<reference key="parent" ref="960678392"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">371</int>
<reference key="object" ref="418227126"/>
<array class="NSMutableArray" key="children">
<reference ref="1016069354"/>
</array>
<reference key="parent" ref="515308735"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">372</int>
<reference key="object" ref="1039016593"/>
<array class="NSMutableArray" key="children">
<reference ref="624655599"/>
</array>
<reference key="parent" ref="515308735"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">382</int>
<reference key="object" ref="709074847"/>
@ -2760,16 +2690,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<reference key="object" ref="967619578"/>
<reference key="parent" ref="179949713"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">100371</int>
<reference key="object" ref="1016069354"/>
<reference key="parent" ref="418227126"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">100372</int>
<reference key="object" ref="624655599"/>
<reference key="parent" ref="1039016593"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">100382</int>
<reference key="object" ref="633115429"/>
@ -3249,8 +3169,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<string key="100368.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="100369.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="100370.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="100371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="100372.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="100374.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="100375.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="100376.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -3443,10 +3361,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<integer value="1" key="369.ImportedFromIB2"/>
<string key="370.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1" key="370.ImportedFromIB2"/>
<string key="371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1" key="371.ImportedFromIB2"/>
<string key="372.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1" key="372.ImportedFromIB2"/>
<string key="374.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1" key="374.ImportedFromIB2"/>
<string key="375.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -3582,6 +3496,76 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<string key="x11_help:">id</string>
<string key="zoom_window:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
<object class="IBActionInfo" key="apps_table_delete:">
<string key="name">apps_table_delete:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="apps_table_done:">
<string key="name">apps_table_done:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="apps_table_duplicate:">
<string key="name">apps_table_duplicate:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="apps_table_new:">
<string key="name">apps_table_new:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="apps_table_show:">
<string key="name">apps_table_show:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="bring_to_front:">
<string key="name">bring_to_front:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="close_window:">
<string key="name">close_window:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="enable_fullscreen_changed:">
<string key="name">enable_fullscreen_changed:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="minimize_window:">
<string key="name">minimize_window:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="next_window:">
<string key="name">next_window:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="prefs_changed:">
<string key="name">prefs_changed:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="prefs_show:">
<string key="name">prefs_show:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="previous_window:">
<string key="name">previous_window:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="quit:">
<string key="name">quit:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="toggle_fullscreen:">
<string key="name">toggle_fullscreen:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="x11_help:">
<string key="name">x11_help:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="zoom_window:">
<string key="name">zoom_window:</string>
<string key="candidateClassName">id</string>
</object>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="apps_separator">NSMenuItem</string>
<string key="apps_table">NSTableView</string>
@ -3614,6 +3598,128 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
<string key="window_separator">NSMenuItem</string>
<string key="x11_about_item">NSMenuItem</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="apps_separator">
<string key="name">apps_separator</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="apps_table">
<string key="name">apps_table</string>
<string key="candidateClassName">NSTableView</string>
</object>
<object class="IBToOneOutletInfo" key="click_through">
<string key="name">click_through</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="copy_menu_item">
<string key="name">copy_menu_item</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="depth">
<string key="name">depth</string>
<string key="candidateClassName">NSPopUpButton</string>
</object>
<object class="IBToOneOutletInfo" key="dock_apps_menu">
<string key="name">dock_apps_menu</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo" key="dock_menu">
<string key="name">dock_menu</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo" key="dock_window_separator">
<string key="name">dock_window_separator</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="enable_auth">
<string key="name">enable_auth</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="enable_fullscreen">
<string key="name">enable_fullscreen</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="enable_fullscreen_menu">
<string key="name">enable_fullscreen_menu</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="enable_keyequivs">
<string key="name">enable_keyequivs</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="enable_tcp">
<string key="name">enable_tcp</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="fake_buttons">
<string key="name">fake_buttons</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="focus_follows_mouse">
<string key="name">focus_follows_mouse</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="focus_on_new_window">
<string key="name">focus_on_new_window</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="option_sends_alt">
<string key="name">option_sends_alt</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="prefs_panel">
<string key="name">prefs_panel</string>
<string key="candidateClassName">NSPanel</string>
</object>
<object class="IBToOneOutletInfo" key="sync_clipboard_to_pasteboard">
<string key="name">sync_clipboard_to_pasteboard</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="sync_keymap">
<string key="name">sync_keymap</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="sync_pasteboard">
<string key="name">sync_pasteboard</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="sync_pasteboard_to_clipboard">
<string key="name">sync_pasteboard_to_clipboard</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="sync_pasteboard_to_primary">
<string key="name">sync_pasteboard_to_primary</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="sync_primary_immediately">
<string key="name">sync_primary_immediately</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="sync_text1">
<string key="name">sync_text1</string>
<string key="candidateClassName">NSTextField</string>
</object>
<object class="IBToOneOutletInfo" key="sync_text2">
<string key="name">sync_text2</string>
<string key="candidateClassName">NSTextField</string>
</object>
<object class="IBToOneOutletInfo" key="toggle_fullscreen_item">
<string key="name">toggle_fullscreen_item</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="use_sysbeep">
<string key="name">use_sysbeep</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="window_separator">
<string key="name">window_separator</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo" key="x11_about_item">
<string key="name">x11_about_item</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBDocumentRelativeSource</string>
<string key="minorKey">../../../X11Controller.h</string>

View File

@ -80,7 +80,6 @@ Bool XQuartzRootlessDefault = TRUE;
Bool XQuartzIsRootless = TRUE;
Bool XQuartzServerVisible = FALSE;
Bool XQuartzFullscreenMenu = FALSE;
Bool XQuartzUseSysBeep = FALSE;
/*
===========================================================================
@ -446,3 +445,13 @@ void QuartzCopyDisplayIDs(ScreenPtr pScreen,
memcpy(pQuartzScreen->displayIDs, displayIDs, size);
pQuartzScreen->displayCount = displayCount;
}
void NSBeep(void);
void DDXRingBell(
int volume, // volume is % of max
int pitch, // pitch is Hz
int duration) // duration is milliseconds
{
if (volume)
NSBeep();
}

View File

@ -123,7 +123,6 @@ extern Bool XQuartzIsRootless; /* Is our current mode rootless (or FS)? */
extern Bool XQuartzFullscreenMenu; /* Show the menu bar (autohide) while in FS */
extern Bool XQuartzFullscreenDisableHotkeys;
extern Bool XQuartzOptionSendsAlt; /* Alt or Mode_switch? */
extern Bool XQuartzUseSysBeep; /* Sys beep or our own? */
Bool QuartzAddScreen(int index, ScreenPtr pScreen);
Bool QuartzSetupScreen(int index, ScreenPtr pScreen);

View File

@ -1,329 +0,0 @@
//
// QuartzAudio.m
//
// X Window bell support using CoreAudio or AppKit.
// Greg Parker gparker@cs.stanford.edu 19 Feb 2001
//
// Info about sine wave sound playback:
// CoreAudio code derived from macosx-dev posting by Tim Wood
// http://www.omnigroup.com/mailman/archive/macosx-dev/2000-May/002004.html
// Smoothing transitions between sounds
// http://www.wam.umd.edu/~mphoenix/dss/dss.html
//
/*
* Copyright (c) 2001 Greg Parker. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name(s) of the above copyright
* holders shall not be used in advertising or otherwise to promote the sale,
* use or other dealings in this Software without prior written authorization.
*/
#include "sanitizedCarbon.h"
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
#include "quartz.h"
#include "quartzAudio.h"
#include <CoreAudio/CoreAudio.h>
#include <pthread.h>
#include <AvailabilityMacros.h>
#include "inputstr.h"
#include <X11/extensions/XI.h>
#include <assert.h>
void NSBeep(void);
typedef struct QuartzAudioRec {
double frequency;
double amplitude;
UInt32 curFrame;
UInt32 remainingFrames;
UInt32 totalFrames;
double sampleRate;
UInt32 fadeLength;
UInt32 bufferByteCount;
Boolean playing;
pthread_mutex_t lock;
// used to fade out interrupted sound and avoid 'pop'
double prevFrequency;
double prevAmplitude;
UInt32 prevFrame;
} QuartzAudioRec;
static AudioDeviceID quartzAudioDevice = kAudioDeviceUnknown;
static QuartzAudioRec data;
/*
* QuartzAudioEnvelope
* Fade sound in and out to avoid pop.
* Sounds with shorter duration will never reach full amplitude. Deal.
*/
static double QuartzAudioEnvelope(
UInt32 curFrame,
UInt32 totalFrames,
UInt32 fadeLength )
{
double fadeFrames = min(fadeLength, totalFrames / 2);
if (fadeFrames < 1) return 0;
if (curFrame < fadeFrames) {
return curFrame / fadeFrames;
} else if (curFrame > totalFrames - fadeFrames) {
return (totalFrames-curFrame) / fadeFrames;
} else {
return 1.0;
}
}
/*
* QuartzFillBuffer
* Fill this buffer with data and update the data position.
* FIXME: this is ugly
*/
static void QuartzFillBuffer(
AudioBuffer *audiobuffer,
QuartzAudioRec *data )
{
float *buffer, *b;
unsigned int frame, frameCount;
unsigned int bufferFrameCount;
float multiplier, v;
int i;
buffer = (float *)audiobuffer->mData;
bufferFrameCount = audiobuffer->mDataByteSize / (sizeof(float) * audiobuffer->mNumberChannels);
frameCount = min(bufferFrameCount, data->remainingFrames);
// Fade out previous sine wave, if any.
b = buffer;
if (data->prevFrame) {
multiplier = 2*M_PI*(data->prevFrequency/data->sampleRate);
for (frame = 0; frame < data->fadeLength; frame++) {
v = data->prevAmplitude *
QuartzAudioEnvelope(frame+data->fadeLength,
2*data->fadeLength,
data->fadeLength) *
sin(multiplier * (data->prevFrame+frame));
for (i = 0; i < audiobuffer->mNumberChannels; i++) {
*b++ = v;
}
}
// no more prev fade
data->prevFrame = 0;
// adjust for space eaten by prev fade
b += audiobuffer->mNumberChannels*frame;
bufferFrameCount -= frame;
frameCount = min(bufferFrameCount, data->remainingFrames);
}
// Write a sine wave with the specified frequency and amplitude
multiplier = 2*M_PI*(data->frequency/data->sampleRate);
for (frame = 0; frame < frameCount; frame++) {
v = data->amplitude *
QuartzAudioEnvelope(data->curFrame+frame, data->totalFrames,
data->fadeLength) *
sin(multiplier * (data->curFrame+frame));
for (i = 0; i < audiobuffer->mNumberChannels; i++) {
*b++ = v;
}
}
// Zero out the rest of the buffer, if any
memset(b, 0, sizeof(float) * audiobuffer->mNumberChannels *
(bufferFrameCount-frame));
data->curFrame += frameCount;
data->remainingFrames -= frameCount;
if (data->remainingFrames == 0) {
data->playing = FALSE;
data->curFrame = 0;
}
}
/*
* QuartzAudioIOProc
* Callback function for audio playback.
* FIXME: use inOutputTime to correct for skipping
*/
static OSStatus
QuartzAudioIOProc(
AudioDeviceID inDevice,
const AudioTimeStamp *inNow,
const AudioBufferList *inInputData,
const AudioTimeStamp *inInputTime,
AudioBufferList *outOutputData,
const AudioTimeStamp *inOutputTime,
void *inClientData )
{
QuartzAudioRec *data = (QuartzAudioRec *)inClientData;
int i;
Boolean wasPlaying;
pthread_mutex_lock(&data->lock);
wasPlaying = data->playing;
for (i = 0; i < outOutputData->mNumberBuffers; i++) {
if (data->playing) {
QuartzFillBuffer(outOutputData->mBuffers+i, data);
}
else {
memset(outOutputData->mBuffers[i].mData, 0,
outOutputData->mBuffers[i].mDataByteSize);
}
}
if (wasPlaying && !data->playing) {
OSStatus err;
err = AudioDeviceStop(inDevice, QuartzAudioIOProc);
if(err != noErr)
fprintf(stderr, "Error stopping audio device: %ld\n", (long int)err);
}
pthread_mutex_unlock(&data->lock);
return 0;
}
/*
* DDXRingBell
* Play a tone using the CoreAudio API
*/
void DDXRingBell(
int volume, // volume is % of max
int pitch, // pitch is Hz
int duration ) // duration is milliseconds
{
if (XQuartzUseSysBeep) {
if (volume)
NSBeep();
return;
}
if (quartzAudioDevice == kAudioDeviceUnknown) return;
pthread_mutex_lock(&data.lock);
// fade previous sound, if any
data.prevFrequency = data.frequency;
data.prevAmplitude = data.amplitude;
data.prevFrame = data.curFrame;
// set new sound
data.frequency = pitch;
data.amplitude = volume / 100.0;
data.curFrame = 0;
data.totalFrames = (int)(data.sampleRate * duration / 1000.0);
data.remainingFrames = data.totalFrames;
if (! data.playing) {
OSStatus status;
status = AudioDeviceStart(quartzAudioDevice, QuartzAudioIOProc);
if (status) {
ErrorF("DDXRingBell: AudioDeviceStart returned %ld\n", (long)status);
} else {
data.playing = TRUE;
}
}
pthread_mutex_unlock(&data.lock);
}
/*
* QuartzAudioInit
* Prepare to play the bell with the CoreAudio API
*/
void QuartzAudioInit(void)
{
UInt32 propertySize;
OSStatus status;
AudioDeviceID outputDevice;
double sampleRate;
AudioObjectPropertyAddress devicePropertyAddress = { kAudioHardwarePropertyDefaultOutputDevice, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
AudioObjectPropertyAddress sampleRatePropertyAddress = { kAudioDevicePropertyNominalSampleRate, kAudioDevicePropertyScopeOutput, kAudioObjectPropertyElementMaster };
// Get the default output device
propertySize = sizeof(outputDevice);
status = AudioObjectGetPropertyData(kAudioObjectSystemObject, &devicePropertyAddress,
0, NULL,
&propertySize, &outputDevice);
if (status) {
ErrorF("QuartzAudioInit: AudioObjectGetPropertyData(output device) returned %ld\n",
(long)status);
return;
}
if (outputDevice == kAudioDeviceUnknown) {
ErrorF("QuartzAudioInit: No audio output devices available.\n");
return;
}
// Get the basic device description
sampleRate = 0.;
propertySize = sizeof(sampleRate);
status = AudioObjectGetPropertyData(outputDevice, &sampleRatePropertyAddress,
0, NULL,
&propertySize, &sampleRate);
if (status) {
ErrorF("QuartzAudioInit: AudioObjectGetPropertyData(sample rate) returned %ld\n",
(long)status);
return;
}
// Fill in the playback data
data.frequency = 0;
data.amplitude = 0;
data.curFrame = 0;
data.remainingFrames = 0;
data.sampleRate = sampleRate;
// data.bufferByteCount = bufferByteCount;
data.playing = FALSE;
data.prevAmplitude = 0;
data.prevFrame = 0;
data.prevFrequency = 0;
data.fadeLength = data.sampleRate / 200;
pthread_mutex_init(&data.lock, NULL); // fixme error check
// fixme assert fadeLength<framesPerBuffer
// Prepare for playback
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
{
AudioDeviceIOProcID sInputIOProcID = NULL;
status = AudioDeviceCreateIOProcID( outputDevice, QuartzAudioIOProc, &data, &sInputIOProcID );
}
#else
status = AudioDeviceAddIOProc(outputDevice, QuartzAudioIOProc, &data);
#endif
if (status) {
ErrorF("QuartzAudioInit: AddIOProc returned %ld\n", (long)status);
return;
}
// success!
quartzAudioDevice = outputDevice;
}

View File

@ -1,37 +0,0 @@
//
// QuartzAudio.h
//
// X Window bell support using CoreAudio or AppKit.
// Greg Parker gparker@cs.stanford.edu 19 Feb 2001
/*
* Copyright (c) 2001 Greg Parker. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name(s) of the above copyright
* holders shall not be used in advertising or otherwise to promote the sale,
* use or other dealings in this Software without prior written authorization.
*/
#ifndef _QUARTZAUDIO_H
#define _QUARTZAUDIO_H
void QuartzAudioInit(void);
#endif

View File

@ -53,7 +53,6 @@
#include "darwinEvents.h"
#include "quartzKeyboard.h"
#include "quartzAudio.h"
#include "X11Application.h"

View File

@ -40,7 +40,6 @@
#include "X11Controller.h"
#include "darwin.h"
#include "darwinEvents.h"
#include "quartzAudio.h"
#include "quartz.h"
#include "opaque.h"
#include "micmap.h"
@ -117,9 +116,6 @@ int server_main(int argc, char **argv, char **envp) {
}
}
/* Create the audio mutex */
QuartzAudioInit();
X11ControllerMain(argc, argv, envp);
exit(0);
}