xquartz: Convert X11Controller ivars into @properties
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
This commit is contained in:
parent
c2750e1fab
commit
41aed8f696
|
@ -916,7 +916,7 @@ void
|
||||||
X11ApplicationSetCanQuit(int state)
|
X11ApplicationSetCanQuit(int state)
|
||||||
{
|
{
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
[X11App.controller set_can_quit:!!state];
|
X11App.controller.can_quit = !!state;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,56 +47,42 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@interface X11Controller : NSObject <NSTableViewDataSource>
|
@interface X11Controller : NSObject <NSTableViewDataSource>
|
||||||
{
|
@property (nonatomic, readwrite, strong) IBOutlet NSPanel *prefs_panel;
|
||||||
IBOutlet NSPanel *prefs_panel;
|
|
||||||
|
|
||||||
IBOutlet NSButton *fake_buttons;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *fake_buttons;
|
||||||
IBOutlet NSButton *enable_fullscreen;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_fullscreen;
|
||||||
IBOutlet NSButton *enable_fullscreen_menu;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_fullscreen_menu;
|
||||||
IBOutlet NSTextField *enable_fullscreen_menu_text;
|
@property (nonatomic, readwrite, strong) IBOutlet NSTextField *enable_fullscreen_menu_text;
|
||||||
IBOutlet NSButton *enable_keyequivs;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_keyequivs;
|
||||||
IBOutlet NSButton *sync_keymap;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_keymap;
|
||||||
IBOutlet NSButton *option_sends_alt;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *option_sends_alt;
|
||||||
IBOutlet NSButton *scroll_in_device_direction;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *scroll_in_device_direction;
|
||||||
IBOutlet NSButton *click_through;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *click_through;
|
||||||
IBOutlet NSButton *focus_follows_mouse;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *focus_follows_mouse;
|
||||||
IBOutlet NSButton *focus_on_new_window;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *focus_on_new_window;
|
||||||
IBOutlet NSButton *enable_auth;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_auth;
|
||||||
IBOutlet NSButton *enable_tcp;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_tcp;
|
||||||
IBOutlet NSButton *sync_pasteboard;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_pasteboard;
|
||||||
IBOutlet NSButton *sync_pasteboard_to_clipboard;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_pasteboard_to_clipboard;
|
||||||
IBOutlet NSButton *sync_pasteboard_to_primary;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_pasteboard_to_primary;
|
||||||
IBOutlet NSButton *sync_clipboard_to_pasteboard;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_clipboard_to_pasteboard;
|
||||||
IBOutlet NSButton *sync_primary_immediately;
|
@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_primary_immediately;
|
||||||
IBOutlet NSTextField *sync_text1;
|
@property (nonatomic, readwrite, strong) IBOutlet NSTextField *sync_text1;
|
||||||
IBOutlet NSTextField *sync_text2;
|
@property (nonatomic, readwrite, strong) IBOutlet NSTextField *sync_text2;
|
||||||
IBOutlet NSPopUpButton *depth;
|
@property (nonatomic, readwrite, strong) IBOutlet NSPopUpButton *depth;
|
||||||
|
|
||||||
IBOutlet NSMenuItem *x11_about_item;
|
@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *x11_about_item;
|
||||||
IBOutlet NSMenuItem *dock_window_separator;
|
@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *dock_window_separator;
|
||||||
IBOutlet NSMenuItem *apps_separator;
|
@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *apps_separator;
|
||||||
IBOutlet NSMenuItem *toggle_fullscreen_item;
|
@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *toggle_fullscreen_item;
|
||||||
#ifdef XQUARTZ_SPARKLE
|
|
||||||
NSMenuItem *check_for_updates_item; // Programmatically enabled
|
|
||||||
#endif
|
|
||||||
IBOutlet NSMenuItem *copy_menu_item;
|
|
||||||
IBOutlet NSMenu *dock_apps_menu;
|
|
||||||
IBOutlet NSTableView *apps_table;
|
|
||||||
|
|
||||||
NSArray *apps;
|
@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *copy_menu_item;
|
||||||
NSMutableArray *table_apps;
|
@property (nonatomic, readwrite, strong) IBOutlet NSMenu *dock_apps_menu;
|
||||||
|
@property (nonatomic, readwrite, strong) IBOutlet NSTableView *apps_table;
|
||||||
|
|
||||||
IBOutlet NSMenu *dock_menu;
|
@property (nonatomic, readwrite, strong) IBOutlet NSMenu *dock_menu;
|
||||||
|
|
||||||
// This is where in the Windows menu we'll start (this will be the index of the separator)
|
@property (nonatomic, readwrite, assign) OSX_BOOL can_quit;
|
||||||
NSInteger windows_menu_start;
|
|
||||||
|
|
||||||
int checked_window_item;
|
|
||||||
x_list *pending_apps;
|
|
||||||
|
|
||||||
OSX_BOOL finished_launching;
|
|
||||||
OSX_BOOL can_quit;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)set_window_menu:(NSArray *)list;
|
- (void)set_window_menu:(NSArray *)list;
|
||||||
- (void)set_window_menu_check:(NSNumber *)n;
|
- (void)set_window_menu_check:(NSNumber *)n;
|
||||||
|
@ -106,7 +92,6 @@
|
||||||
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)
|
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)
|
||||||
update;
|
update;
|
||||||
#endif
|
#endif
|
||||||
- (void)set_can_quit:(OSX_BOOL)state;
|
|
||||||
- (void)server_ready;
|
- (void)server_ready;
|
||||||
- (OSX_BOOL)application:(NSApplication *)app openFile:(NSString *)filename;
|
- (OSX_BOOL)application:(NSApplication *)app openFile:(NSString *)filename;
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,19 @@
|
||||||
extern aslclient aslc;
|
extern aslclient aslc;
|
||||||
extern char *bundle_id_prefix;
|
extern char *bundle_id_prefix;
|
||||||
|
|
||||||
|
@interface X11Controller ()
|
||||||
|
#ifdef XQUARTZ_SPARKLE
|
||||||
|
@property (nonatomic, readwrite, strong) NSMenuItem *check_for_updates_item; // Programatically enabled
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@property (nonatomic, readwrite, strong) NSArray *apps;
|
||||||
|
@property (nonatomic, readwrite, strong) NSMutableArray *table_apps;
|
||||||
|
@property (nonatomic, readwrite, assign) NSInteger windows_menu_start;
|
||||||
|
@property (nonatomic, readwrite, assign) int checked_window_item;
|
||||||
|
@property (nonatomic, readwrite, assign) x_list *pending_apps;
|
||||||
|
@property (nonatomic, readwrite, assign) OSX_BOOL finished_launching;
|
||||||
|
@end
|
||||||
|
|
||||||
@implementation X11Controller
|
@implementation X11Controller
|
||||||
|
|
||||||
- (void) awakeFromNib
|
- (void) awakeFromNib
|
||||||
|
@ -100,9 +113,9 @@ extern char *bundle_id_prefix;
|
||||||
addObserver: self
|
addObserver: self
|
||||||
selector: @selector(apps_table_done:)
|
selector: @selector(apps_table_done:)
|
||||||
name: NSWindowWillCloseNotification
|
name: NSWindowWillCloseNotification
|
||||||
object: [apps_table window]];
|
object: self.apps_table.window];
|
||||||
|
|
||||||
windows_menu_start = [[X11App windowsMenu] numberOfItems];
|
self.windows_menu_start = X11App.windowsMenu.numberOfItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) item_selected:sender
|
- (void) item_selected:sender
|
||||||
|
@ -121,10 +134,12 @@ extern char *bundle_id_prefix;
|
||||||
/* Work backwards so we don't mess up the indices */
|
/* Work backwards so we don't mess up the indices */
|
||||||
menu = [X11App windowsMenu];
|
menu = [X11App windowsMenu];
|
||||||
count = [menu numberOfItems];
|
count = [menu numberOfItems];
|
||||||
for (i = count - 1; i >= windows_menu_start; i--)
|
for (i = count - 1; i >= self.windows_menu_start; i--)
|
||||||
[menu removeItemAtIndex:i];
|
[menu removeItemAtIndex:i];
|
||||||
|
|
||||||
count = [dock_menu indexOfItem:dock_window_separator];
|
NSMenu * const dock_menu = self.dock_menu;
|
||||||
|
|
||||||
|
count = [dock_menu indexOfItem:self.dock_window_separator];
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
[dock_menu removeItemAtIndex:0];
|
[dock_menu removeItemAtIndex:0];
|
||||||
}
|
}
|
||||||
|
@ -136,7 +151,7 @@ extern char *bundle_id_prefix;
|
||||||
int first, count, i;
|
int first, count, i;
|
||||||
|
|
||||||
menu = [X11App windowsMenu];
|
menu = [X11App windowsMenu];
|
||||||
first = windows_menu_start + 1;
|
first = self.windows_menu_start + 1;
|
||||||
count = [list count];
|
count = [list count];
|
||||||
|
|
||||||
// Push a Separator
|
// Push a Separator
|
||||||
|
@ -144,6 +159,7 @@ extern char *bundle_id_prefix;
|
||||||
[menu addItem:[NSMenuItem separatorItem]];
|
[menu addItem:[NSMenuItem separatorItem]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NSMenu * const dock_menu = self.dock_menu;
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
NSString *name, *shortcut;
|
NSString *name, *shortcut;
|
||||||
|
|
||||||
|
@ -172,6 +188,7 @@ extern char *bundle_id_prefix;
|
||||||
[item setEnabled:YES];
|
[item setEnabled:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int const checked_window_item = self.checked_window_item;
|
||||||
if (checked_window_item >= 0 && checked_window_item < count) {
|
if (checked_window_item >= 0 && checked_window_item < count) {
|
||||||
item = (NSMenuItem *)[menu itemAtIndex:first + checked_window_item];
|
item = (NSMenuItem *)[menu itemAtIndex:first + checked_window_item];
|
||||||
[item setState:NSOnState];
|
[item setState:NSOnState];
|
||||||
|
@ -186,7 +203,10 @@ extern char *bundle_id_prefix;
|
||||||
NSMenuItem *item;
|
NSMenuItem *item;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (apps == nil || apps_separator == nil) return;
|
NSMenuItem * const apps_separator = self.apps_separator;
|
||||||
|
NSMenu * const dock_apps_menu = self.dock_apps_menu;
|
||||||
|
|
||||||
|
if (self.apps == nil || apps_separator == nil) return;
|
||||||
|
|
||||||
menu = [apps_separator menu];
|
menu = [apps_separator menu];
|
||||||
|
|
||||||
|
@ -206,8 +226,7 @@ extern char *bundle_id_prefix;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[apps release];
|
self.apps = nil;
|
||||||
apps = nil;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) prepend_apps_item:(NSArray *)list index:(int)i menu:(NSMenu *)menu
|
- (void) prepend_apps_item:(NSArray *)list index:(int)i menu:(NSMenu *)menu
|
||||||
|
@ -244,6 +263,9 @@ extern char *bundle_id_prefix;
|
||||||
|
|
||||||
count = [list count];
|
count = [list count];
|
||||||
|
|
||||||
|
NSMenuItem * const apps_separator = self.apps_separator;
|
||||||
|
NSMenu * const dock_apps_menu = self.dock_apps_menu;
|
||||||
|
|
||||||
if (count == 0 || apps_separator == nil) return;
|
if (count == 0 || apps_separator == nil) return;
|
||||||
|
|
||||||
menu = [apps_separator menu];
|
menu = [apps_separator menu];
|
||||||
|
@ -255,7 +277,7 @@ extern char *bundle_id_prefix;
|
||||||
[self prepend_apps_item:list index:i menu:dock_apps_menu];
|
[self prepend_apps_item:list index:i menu:dock_apps_menu];
|
||||||
}
|
}
|
||||||
|
|
||||||
apps = [list retain];
|
self.apps = list;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) set_window_menu:(NSArray *)list
|
- (void) set_window_menu:(NSArray *)list
|
||||||
|
@ -275,9 +297,12 @@ extern char *bundle_id_prefix;
|
||||||
int n = [nn intValue];
|
int n = [nn intValue];
|
||||||
|
|
||||||
menu = [X11App windowsMenu];
|
menu = [X11App windowsMenu];
|
||||||
first = windows_menu_start + 1;
|
first = self.windows_menu_start + 1;
|
||||||
count = [menu numberOfItems] - first;
|
count = [menu numberOfItems] - first;
|
||||||
|
|
||||||
|
NSMenu * const dock_menu = self.dock_menu;
|
||||||
|
int const checked_window_item = self.checked_window_item;
|
||||||
|
|
||||||
if (checked_window_item >= 0 && checked_window_item < count) {
|
if (checked_window_item >= 0 && checked_window_item < count) {
|
||||||
item = (NSMenuItem *)[menu itemAtIndex:first + checked_window_item];
|
item = (NSMenuItem *)[menu itemAtIndex:first + checked_window_item];
|
||||||
[item setState:NSOffState];
|
[item setState:NSOffState];
|
||||||
|
@ -290,7 +315,7 @@ extern char *bundle_id_prefix;
|
||||||
item = (NSMenuItem *)[dock_menu itemAtIndex:n];
|
item = (NSMenuItem *)[dock_menu itemAtIndex:n];
|
||||||
[item setState:NSOnState];
|
[item setState:NSOnState];
|
||||||
}
|
}
|
||||||
checked_window_item = n;
|
self.checked_window_item = n;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) set_apps_menu:(NSArray *)list
|
- (void) set_apps_menu:(NSArray *)list
|
||||||
|
@ -305,7 +330,7 @@ extern char *bundle_id_prefix;
|
||||||
if (check_for_updates_item)
|
if (check_for_updates_item)
|
||||||
return; // already did it...
|
return; // already did it...
|
||||||
|
|
||||||
NSMenu *menu = [x11_about_item menu];
|
NSMenu *menu = [self.x11_about_item menu];
|
||||||
|
|
||||||
check_for_updates_item =
|
check_for_updates_item =
|
||||||
[menu insertItemWithTitle:NSLocalizedString(
|
[menu insertItemWithTitle:NSLocalizedString(
|
||||||
|
@ -326,7 +351,7 @@ extern char *bundle_id_prefix;
|
||||||
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)
|
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)
|
||||||
update
|
update
|
||||||
{
|
{
|
||||||
//[self set_can_quit:YES];
|
//self.can_quit = YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -438,6 +463,7 @@ extern char *bundle_id_prefix;
|
||||||
{
|
{
|
||||||
int tag;
|
int tag;
|
||||||
NSString *item;
|
NSString *item;
|
||||||
|
NSArray * const apps = self.apps;
|
||||||
|
|
||||||
tag = [sender tag] - 1;
|
tag = [sender tag] - 1;
|
||||||
if (apps == nil || tag < 0 || tag >= [apps count])
|
if (apps == nil || tag < 0 || tag >= [apps count])
|
||||||
|
@ -451,12 +477,13 @@ extern char *bundle_id_prefix;
|
||||||
- (IBAction) apps_table_show:sender
|
- (IBAction) apps_table_show:sender
|
||||||
{
|
{
|
||||||
NSArray *columns;
|
NSArray *columns;
|
||||||
NSMutableArray *oldapps = nil;
|
NSMutableArray *oldapps = self.table_apps;
|
||||||
|
NSTableView * const apps_table = self.apps_table;
|
||||||
|
|
||||||
if (table_apps != nil)
|
NSMutableArray * const table_apps = [[NSMutableArray alloc] initWithCapacity:1];
|
||||||
oldapps = table_apps;
|
self.table_apps = table_apps;
|
||||||
|
|
||||||
table_apps = [[NSMutableArray alloc] initWithCapacity:1];
|
NSArray * const apps = self.apps;
|
||||||
if (apps != nil)
|
if (apps != nil)
|
||||||
[table_apps addObjectsFromArray:apps];
|
[table_apps addObjectsFromArray:apps];
|
||||||
|
|
||||||
|
@ -477,6 +504,8 @@ extern char *bundle_id_prefix;
|
||||||
|
|
||||||
- (IBAction) apps_table_done:sender
|
- (IBAction) apps_table_done:sender
|
||||||
{
|
{
|
||||||
|
NSMutableArray * const table_apps = self.table_apps;
|
||||||
|
NSTableView * const apps_table = self.apps_table;
|
||||||
[apps_table deselectAll:sender]; /* flush edits? */
|
[apps_table deselectAll:sender]; /* flush edits? */
|
||||||
|
|
||||||
[self remove_apps_menu];
|
[self remove_apps_menu];
|
||||||
|
@ -487,13 +516,14 @@ extern char *bundle_id_prefix;
|
||||||
|
|
||||||
[[apps_table window] orderOut:sender];
|
[[apps_table window] orderOut:sender];
|
||||||
|
|
||||||
[table_apps release];
|
self.table_apps = nil;
|
||||||
table_apps = nil;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) apps_table_new:sender
|
- (IBAction) apps_table_new:sender
|
||||||
{
|
{
|
||||||
NSMutableArray *item;
|
NSMutableArray *item;
|
||||||
|
NSMutableArray * const table_apps = self.table_apps;
|
||||||
|
NSTableView * const apps_table = self.apps_table;
|
||||||
|
|
||||||
int row = [apps_table selectedRow], i;
|
int row = [apps_table selectedRow], i;
|
||||||
|
|
||||||
|
@ -521,6 +551,8 @@ extern char *bundle_id_prefix;
|
||||||
|
|
||||||
- (IBAction) apps_table_duplicate:sender
|
- (IBAction) apps_table_duplicate:sender
|
||||||
{
|
{
|
||||||
|
NSMutableArray * const table_apps = self.table_apps;
|
||||||
|
NSTableView * const apps_table = self.apps_table;
|
||||||
int row = [apps_table selectedRow], i;
|
int row = [apps_table selectedRow], i;
|
||||||
NSObject *item;
|
NSObject *item;
|
||||||
|
|
||||||
|
@ -545,6 +577,8 @@ extern char *bundle_id_prefix;
|
||||||
|
|
||||||
- (IBAction) apps_table_delete:sender
|
- (IBAction) apps_table_delete:sender
|
||||||
{
|
{
|
||||||
|
NSMutableArray * const table_apps = self.table_apps;
|
||||||
|
NSTableView * const apps_table = self.apps_table;
|
||||||
int row = [apps_table selectedRow];
|
int row = [apps_table selectedRow];
|
||||||
|
|
||||||
if (row >= 0) {
|
if (row >= 0) {
|
||||||
|
@ -567,6 +601,7 @@ extern char *bundle_id_prefix;
|
||||||
|
|
||||||
- (NSInteger) numberOfRowsInTableView:(NSTableView *)tableView
|
- (NSInteger) numberOfRowsInTableView:(NSTableView *)tableView
|
||||||
{
|
{
|
||||||
|
NSMutableArray * const table_apps = self.table_apps;
|
||||||
if (table_apps == nil) return 0;
|
if (table_apps == nil) return 0;
|
||||||
|
|
||||||
return [table_apps count];
|
return [table_apps count];
|
||||||
|
@ -575,6 +610,7 @@ extern char *bundle_id_prefix;
|
||||||
- (id) tableView:(NSTableView *)tableView
|
- (id) tableView:(NSTableView *)tableView
|
||||||
objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
|
objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
|
||||||
{
|
{
|
||||||
|
NSMutableArray * const table_apps = self.table_apps;
|
||||||
NSArray *item;
|
NSArray *item;
|
||||||
int col;
|
int col;
|
||||||
|
|
||||||
|
@ -592,6 +628,7 @@ extern char *bundle_id_prefix;
|
||||||
- (void) tableView:(NSTableView *)tableView setObjectValue:(id)object
|
- (void) tableView:(NSTableView *)tableView setObjectValue:(id)object
|
||||||
forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
|
forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
|
||||||
{
|
{
|
||||||
|
NSMutableArray * const table_apps = self.table_apps;
|
||||||
NSMutableArray *item;
|
NSMutableArray *item;
|
||||||
int col;
|
int col;
|
||||||
|
|
||||||
|
@ -652,11 +689,10 @@ extern char *bundle_id_prefix;
|
||||||
|
|
||||||
- (IBAction) enable_fullscreen_changed:sender
|
- (IBAction) enable_fullscreen_changed:sender
|
||||||
{
|
{
|
||||||
XQuartzRootlessDefault = ![enable_fullscreen intValue];
|
XQuartzRootlessDefault = !self.enable_fullscreen.intValue;
|
||||||
|
|
||||||
[enable_fullscreen_menu setEnabled:!XQuartzRootlessDefault];
|
[self.enable_fullscreen_menu setEnabled:!XQuartzRootlessDefault];
|
||||||
[enable_fullscreen_menu_text setTextColor:XQuartzRootlessDefault ?[
|
[self.enable_fullscreen_menu_text setTextColor:XQuartzRootlessDefault ? NSColor.disabledControlTextColor : NSColor.controlTextColor];
|
||||||
NSColor disabledControlTextColor] : [NSColor controlTextColor]];
|
|
||||||
|
|
||||||
DarwinSendDDXEvent(kXquartzSetRootless, 1, XQuartzRootlessDefault);
|
DarwinSendDDXEvent(kXquartzSetRootless, 1, XQuartzRootlessDefault);
|
||||||
|
|
||||||
|
@ -669,102 +705,85 @@ extern char *bundle_id_prefix;
|
||||||
DarwinSendDDXEvent(kXquartzToggleFullscreen, 0);
|
DarwinSendDDXEvent(kXquartzToggleFullscreen, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) set_can_quit:(OSX_BOOL)state
|
|
||||||
{
|
|
||||||
can_quit = state;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)prefs_changed:sender
|
- (IBAction)prefs_changed:sender
|
||||||
{
|
{
|
||||||
if (!sender)
|
if (!sender)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (sender == fake_buttons) {
|
if (sender == self.fake_buttons) {
|
||||||
darwinFakeButtons = [fake_buttons intValue];
|
darwinFakeButtons = self.fake_buttons.intValue;
|
||||||
[NSApp prefs_set_boolean:@PREFS_FAKEBUTTONS value:darwinFakeButtons];
|
[NSApp prefs_set_boolean:@PREFS_FAKEBUTTONS value:darwinFakeButtons];
|
||||||
}
|
}
|
||||||
else if (sender == enable_keyequivs) {
|
else if (sender == self.enable_keyequivs) {
|
||||||
XQuartzEnableKeyEquivalents = [enable_keyequivs intValue];
|
XQuartzEnableKeyEquivalents = self.enable_keyequivs.intValue;
|
||||||
[NSApp prefs_set_boolean:@PREFS_KEYEQUIVS value:
|
[NSApp prefs_set_boolean:@PREFS_KEYEQUIVS value:
|
||||||
XQuartzEnableKeyEquivalents];
|
XQuartzEnableKeyEquivalents];
|
||||||
}
|
}
|
||||||
else if (sender == sync_keymap) {
|
else if (sender == self.sync_keymap) {
|
||||||
darwinSyncKeymap = [sync_keymap intValue];
|
darwinSyncKeymap = self.sync_keymap.intValue;
|
||||||
[NSApp prefs_set_boolean:@PREFS_SYNC_KEYMAP value:darwinSyncKeymap];
|
[NSApp prefs_set_boolean:@PREFS_SYNC_KEYMAP value:darwinSyncKeymap];
|
||||||
}
|
}
|
||||||
else if (sender == enable_fullscreen_menu) {
|
else if (sender == self.enable_fullscreen_menu) {
|
||||||
XQuartzFullscreenMenu = [enable_fullscreen_menu intValue];
|
XQuartzFullscreenMenu = self.enable_fullscreen_menu.intValue;
|
||||||
[NSApp prefs_set_boolean:@PREFS_FULLSCREEN_MENU value:
|
[NSApp prefs_set_boolean:@PREFS_FULLSCREEN_MENU value:
|
||||||
XQuartzFullscreenMenu];
|
XQuartzFullscreenMenu];
|
||||||
}
|
}
|
||||||
else if (sender == option_sends_alt) {
|
else if (sender == self.option_sends_alt) {
|
||||||
BOOL prev_opt_sends_alt = XQuartzOptionSendsAlt;
|
BOOL prev_opt_sends_alt = XQuartzOptionSendsAlt;
|
||||||
|
|
||||||
XQuartzOptionSendsAlt = [option_sends_alt intValue];
|
XQuartzOptionSendsAlt = self.option_sends_alt.intValue;
|
||||||
[NSApp prefs_set_boolean:@PREFS_OPTION_SENDS_ALT value:
|
[NSApp prefs_set_boolean:@PREFS_OPTION_SENDS_ALT value:
|
||||||
XQuartzOptionSendsAlt];
|
XQuartzOptionSendsAlt];
|
||||||
|
|
||||||
if (prev_opt_sends_alt != XQuartzOptionSendsAlt)
|
if (prev_opt_sends_alt != XQuartzOptionSendsAlt)
|
||||||
QuartsResyncKeymap(TRUE);
|
QuartsResyncKeymap(TRUE);
|
||||||
}
|
}
|
||||||
else if (sender == click_through) {
|
else if (sender == self.click_through) {
|
||||||
[NSApp prefs_set_boolean:@PREFS_CLICK_THROUGH value:[click_through
|
[NSApp prefs_set_boolean:@PREFS_CLICK_THROUGH value:self.click_through.intValue];
|
||||||
intValue]];
|
|
||||||
}
|
}
|
||||||
else if (sender == focus_follows_mouse) {
|
else if (sender == self.focus_follows_mouse) {
|
||||||
[NSApp prefs_set_boolean:@PREFS_FFM value:[focus_follows_mouse
|
[NSApp prefs_set_boolean:@PREFS_FFM value:self.focus_follows_mouse.intValue];
|
||||||
intValue]];
|
|
||||||
}
|
}
|
||||||
else if (sender == focus_on_new_window) {
|
else if (sender == self.focus_on_new_window) {
|
||||||
[NSApp prefs_set_boolean:@PREFS_FOCUS_ON_NEW_WINDOW value:[
|
[NSApp prefs_set_boolean:@PREFS_FOCUS_ON_NEW_WINDOW value:self.focus_on_new_window.intValue];
|
||||||
focus_on_new_window intValue]];
|
|
||||||
}
|
}
|
||||||
else if (sender == enable_auth) {
|
else if (sender == self.enable_auth) {
|
||||||
[NSApp prefs_set_boolean:@PREFS_NO_AUTH value:![enable_auth intValue]
|
[NSApp prefs_set_boolean:@PREFS_NO_AUTH value:!self.enable_auth.intValue];
|
||||||
];
|
|
||||||
}
|
}
|
||||||
else if (sender == enable_tcp) {
|
else if (sender == self.enable_tcp) {
|
||||||
[NSApp prefs_set_boolean:@PREFS_NO_TCP value:![enable_tcp intValue]];
|
[NSApp prefs_set_boolean:@PREFS_NO_TCP value:!self.enable_tcp.intValue];
|
||||||
}
|
}
|
||||||
else if (sender == depth) {
|
else if (sender == self.depth) {
|
||||||
[NSApp prefs_set_integer:@PREFS_DEPTH value:[depth selectedTag]];
|
[NSApp prefs_set_integer:@PREFS_DEPTH value:self.depth.selectedTag];
|
||||||
}
|
}
|
||||||
else if (sender == sync_pasteboard) {
|
else if (sender == self.sync_pasteboard) {
|
||||||
BOOL pbproxy_active = [sync_pasteboard intValue];
|
BOOL pbproxy_active = self.sync_pasteboard.intValue;
|
||||||
[NSApp prefs_set_boolean:@PREFS_SYNC_PB value:pbproxy_active];
|
[NSApp prefs_set_boolean:@PREFS_SYNC_PB value:pbproxy_active];
|
||||||
|
|
||||||
[sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
|
[self.sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
|
||||||
[sync_pasteboard_to_primary setEnabled:pbproxy_active];
|
[self.sync_pasteboard_to_primary setEnabled:pbproxy_active];
|
||||||
[sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
|
[self.sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
|
||||||
[sync_primary_immediately setEnabled:pbproxy_active];
|
[self.sync_primary_immediately setEnabled:pbproxy_active];
|
||||||
|
|
||||||
// setEnabled doesn't do this...
|
// setEnabled doesn't do this...
|
||||||
[sync_text1 setTextColor:pbproxy_active ?[NSColor controlTextColor] :
|
[self.sync_text1 setTextColor:pbproxy_active ? NSColor.controlTextColor : NSColor.disabledControlTextColor];
|
||||||
[NSColor disabledControlTextColor]];
|
[self.sync_text2 setTextColor:pbproxy_active ? NSColor.controlTextColor : NSColor.disabledControlTextColor];
|
||||||
[sync_text2 setTextColor:pbproxy_active ?[NSColor controlTextColor] :
|
|
||||||
[NSColor disabledControlTextColor]];
|
|
||||||
}
|
}
|
||||||
else if (sender == sync_pasteboard_to_clipboard) {
|
else if (sender == self.sync_pasteboard_to_clipboard) {
|
||||||
[NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD value:[
|
[NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD value:self.sync_pasteboard_to_clipboard.intValue];
|
||||||
sync_pasteboard_to_clipboard intValue]];
|
|
||||||
}
|
}
|
||||||
else if (sender == sync_pasteboard_to_primary) {
|
else if (sender == self.sync_pasteboard_to_primary) {
|
||||||
[NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_PRIMARY value:[
|
[NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_PRIMARY value:self.sync_pasteboard_to_primary.intValue];
|
||||||
sync_pasteboard_to_primary intValue]];
|
|
||||||
}
|
}
|
||||||
else if (sender == sync_clipboard_to_pasteboard) {
|
else if (sender == self.sync_clipboard_to_pasteboard) {
|
||||||
[NSApp prefs_set_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB value:[
|
[NSApp prefs_set_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB value:self.sync_clipboard_to_pasteboard.intValue];
|
||||||
sync_clipboard_to_pasteboard intValue]];
|
|
||||||
}
|
}
|
||||||
else if (sender == sync_primary_immediately) {
|
else if (sender == self.sync_primary_immediately) {
|
||||||
[NSApp prefs_set_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT value:[
|
[NSApp prefs_set_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT value:self.sync_primary_immediately.intValue];
|
||||||
sync_primary_immediately intValue]];
|
|
||||||
}
|
}
|
||||||
else if (sender == scroll_in_device_direction) {
|
else if (sender == self.scroll_in_device_direction) {
|
||||||
XQuartzScrollInDeviceDirection =
|
XQuartzScrollInDeviceDirection = self.scroll_in_device_direction.intValue;
|
||||||
[scroll_in_device_direction intValue];
|
[NSApp prefs_set_boolean:@PREFS_SCROLL_IN_DEV_DIRECTION value:XQuartzScrollInDeviceDirection];
|
||||||
[NSApp prefs_set_boolean:@PREFS_SCROLL_IN_DEV_DIRECTION value:
|
|
||||||
XQuartzScrollInDeviceDirection];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[NSApp prefs_synchronize];
|
[NSApp prefs_synchronize];
|
||||||
|
@ -777,62 +796,42 @@ extern char *bundle_id_prefix;
|
||||||
BOOL pbproxy_active =
|
BOOL pbproxy_active =
|
||||||
[NSApp prefs_get_boolean:@PREFS_SYNC_PB default:YES];
|
[NSApp prefs_get_boolean:@PREFS_SYNC_PB default:YES];
|
||||||
|
|
||||||
[scroll_in_device_direction setIntValue:XQuartzScrollInDeviceDirection];
|
[self.scroll_in_device_direction setIntValue:XQuartzScrollInDeviceDirection];
|
||||||
|
|
||||||
[fake_buttons setIntValue:darwinFakeButtons];
|
[self.fake_buttons setIntValue:darwinFakeButtons];
|
||||||
[enable_keyequivs setIntValue:XQuartzEnableKeyEquivalents];
|
[self.enable_keyequivs setIntValue:XQuartzEnableKeyEquivalents];
|
||||||
[sync_keymap setIntValue:darwinSyncKeymap];
|
[self.sync_keymap setIntValue:darwinSyncKeymap];
|
||||||
[option_sends_alt setIntValue:XQuartzOptionSendsAlt];
|
[self.option_sends_alt setIntValue:XQuartzOptionSendsAlt];
|
||||||
[click_through setIntValue:[NSApp prefs_get_boolean:@PREFS_CLICK_THROUGH
|
[self.click_through setIntValue:[NSApp prefs_get_boolean:@PREFS_CLICK_THROUGH default:NO]];
|
||||||
default:NO]];
|
[self.focus_follows_mouse setIntValue:[NSApp prefs_get_boolean:@PREFS_FFM default:NO]];
|
||||||
[focus_follows_mouse setIntValue:[NSApp prefs_get_boolean:@PREFS_FFM
|
[self.focus_on_new_window setIntValue:[NSApp prefs_get_boolean:@PREFS_FOCUS_ON_NEW_WINDOW default:YES]];
|
||||||
default:NO]];
|
|
||||||
[focus_on_new_window setIntValue:[NSApp prefs_get_boolean:
|
|
||||||
@PREFS_FOCUS_ON_NEW_WINDOW default:YES]
|
|
||||||
];
|
|
||||||
|
|
||||||
[enable_auth setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_AUTH default
|
[self.enable_auth setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_AUTH default:NO]];
|
||||||
:NO]];
|
[self.enable_tcp setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_TCP default:NO]];
|
||||||
[enable_tcp setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_TCP default:
|
|
||||||
NO]];
|
|
||||||
|
|
||||||
[depth selectItemAtIndex:[depth indexOfItemWithTag:[NSApp
|
[self.depth selectItemAtIndex:[self.depth indexOfItemWithTag:[NSApp prefs_get_integer:@PREFS_DEPTH default:-1]]];
|
||||||
prefs_get_integer:
|
|
||||||
@PREFS_DEPTH default:
|
|
||||||
-1]]];
|
|
||||||
|
|
||||||
[sync_pasteboard setIntValue:pbproxy_active];
|
[self.sync_pasteboard setIntValue:pbproxy_active];
|
||||||
[sync_pasteboard_to_clipboard setIntValue:[NSApp prefs_get_boolean:
|
[self.sync_pasteboard_to_clipboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD default:YES]];
|
||||||
@PREFS_SYNC_PB_TO_CLIPBOARD
|
[self.sync_pasteboard_to_primary setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_PRIMARY default:YES]];
|
||||||
default:YES]];
|
[self.sync_clipboard_to_pasteboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB default:YES]];
|
||||||
[sync_pasteboard_to_primary setIntValue:[NSApp prefs_get_boolean:
|
[self.sync_primary_immediately setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT default:NO]];
|
||||||
@PREFS_SYNC_PB_TO_PRIMARY
|
|
||||||
default:YES]];
|
|
||||||
[sync_clipboard_to_pasteboard setIntValue:[NSApp prefs_get_boolean:
|
|
||||||
@PREFS_SYNC_CLIPBOARD_TO_PB
|
|
||||||
default:YES]];
|
|
||||||
[sync_primary_immediately setIntValue:[NSApp prefs_get_boolean:
|
|
||||||
@PREFS_SYNC_PRIMARY_ON_SELECT
|
|
||||||
default:NO]];
|
|
||||||
|
|
||||||
[sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
|
[self.sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
|
||||||
[sync_pasteboard_to_primary setEnabled:pbproxy_active];
|
[self.sync_pasteboard_to_primary setEnabled:pbproxy_active];
|
||||||
[sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
|
[self.sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
|
||||||
[sync_primary_immediately setEnabled:pbproxy_active];
|
[self.sync_primary_immediately setEnabled:pbproxy_active];
|
||||||
|
|
||||||
// setEnabled doesn't do this...
|
// setEnabled doesn't do this...
|
||||||
[sync_text1 setTextColor:pbproxy_active ?[NSColor controlTextColor] : [
|
[self.sync_text1 setTextColor:pbproxy_active ? NSColor.controlTextColor : NSColor.disabledControlTextColor];
|
||||||
NSColor disabledControlTextColor]];
|
[self.sync_text2 setTextColor:pbproxy_active ? NSColor.controlTextColor : NSColor.disabledControlTextColor];
|
||||||
[sync_text2 setTextColor:pbproxy_active ?[NSColor controlTextColor] : [
|
|
||||||
NSColor disabledControlTextColor]];
|
|
||||||
|
|
||||||
[enable_fullscreen setIntValue:!XQuartzRootlessDefault];
|
[self.enable_fullscreen setIntValue:!XQuartzRootlessDefault];
|
||||||
[enable_fullscreen_menu setIntValue:XQuartzFullscreenMenu];
|
[self.enable_fullscreen_menu setIntValue:XQuartzFullscreenMenu];
|
||||||
[enable_fullscreen_menu setEnabled:!XQuartzRootlessDefault];
|
[self.enable_fullscreen_menu setEnabled:!XQuartzRootlessDefault];
|
||||||
[enable_fullscreen_menu_text setTextColor:XQuartzRootlessDefault ?[
|
[self.enable_fullscreen_menu_text setTextColor:XQuartzRootlessDefault ? NSColor.disabledControlTextColor : NSColor.controlTextColor];
|
||||||
NSColor disabledControlTextColor] : [NSColor controlTextColor]];
|
|
||||||
|
|
||||||
[prefs_panel makeKeyAndOrderFront:sender];
|
[self.prefs_panel makeKeyAndOrderFront:sender];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction) quit:sender
|
- (IBAction) quit:sender
|
||||||
|
@ -848,11 +847,12 @@ extern char *bundle_id_prefix;
|
||||||
- (OSX_BOOL) validateMenuItem:(NSMenuItem *)item
|
- (OSX_BOOL) validateMenuItem:(NSMenuItem *)item
|
||||||
{
|
{
|
||||||
NSMenu *menu = [item menu];
|
NSMenu *menu = [item menu];
|
||||||
|
NSMenu * const dock_menu = self.dock_menu;
|
||||||
|
|
||||||
if (item == toggle_fullscreen_item)
|
if (item == self.toggle_fullscreen_item)
|
||||||
return !XQuartzIsRootless;
|
return !XQuartzIsRootless;
|
||||||
else if (menu == [X11App windowsMenu] || menu == dock_menu
|
else if (menu == [X11App windowsMenu] || menu == dock_menu
|
||||||
|| (menu == [x11_about_item menu] && [item tag] == 42))
|
|| (menu == [self.x11_about_item menu] && [item tag] == 42))
|
||||||
return (AppleWMSelectedEvents() & AppleWMControllerNotifyMask) != 0;
|
return (AppleWMSelectedEvents() & AppleWMControllerNotifyMask) != 0;
|
||||||
else
|
else
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -880,7 +880,7 @@ extern char *bundle_id_prefix;
|
||||||
NSString *msg;
|
NSString *msg;
|
||||||
NSString *title;
|
NSString *title;
|
||||||
|
|
||||||
if (can_quit ||
|
if (self.can_quit ||
|
||||||
[X11App prefs_get_boolean:@PREFS_NO_QUIT_ALERT default:NO])
|
[X11App prefs_get_boolean:@PREFS_NO_QUIT_ALERT default:NO])
|
||||||
return NSTerminateNow;
|
return NSTerminateNow;
|
||||||
|
|
||||||
|
@ -919,26 +919,26 @@ extern char *bundle_id_prefix;
|
||||||
{
|
{
|
||||||
x_list *node;
|
x_list *node;
|
||||||
|
|
||||||
finished_launching = YES;
|
self.finished_launching = YES;
|
||||||
|
|
||||||
for (node = pending_apps; node != NULL; node = node->next) {
|
for (node = self.pending_apps; node != NULL; node = node->next) {
|
||||||
NSString *filename = node->data;
|
NSString *filename = node->data;
|
||||||
[self launch_client:filename];
|
[self launch_client:filename];
|
||||||
[filename release];
|
[filename release];
|
||||||
}
|
}
|
||||||
|
|
||||||
x_list_free(pending_apps);
|
x_list_free(self.pending_apps);
|
||||||
pending_apps = NULL;
|
self.pending_apps = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (OSX_BOOL) application:(NSApplication *)app openFile:(NSString *)filename
|
- (OSX_BOOL) application:(NSApplication *)app openFile:(NSString *)filename
|
||||||
{
|
{
|
||||||
const char *name = [filename UTF8String];
|
const char *name = [filename UTF8String];
|
||||||
|
|
||||||
if (finished_launching)
|
if (self.finished_launching)
|
||||||
[self launch_client:filename];
|
[self launch_client:filename];
|
||||||
else if (name[0] != ':') /* ignore display names */
|
else if (name[0] != ':') /* ignore display names */
|
||||||
pending_apps = x_list_prepend(pending_apps, [filename retain]);
|
self.pending_apps = x_list_prepend(self.pending_apps, [filename retain]);
|
||||||
|
|
||||||
/* FIXME: report failures. */
|
/* FIXME: report failures. */
|
||||||
return YES;
|
return YES;
|
||||||
|
|
Loading…
Reference in New Issue