aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/devdraw/mac-screen.m
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/devdraw/mac-screen.m')
-rw-r--r--src/cmd/devdraw/mac-screen.m15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/cmd/devdraw/mac-screen.m b/src/cmd/devdraw/mac-screen.m
index 2ce6bb34..b3a21101 100644
--- a/src/cmd/devdraw/mac-screen.m
+++ b/src/cmd/devdraw/mac-screen.m
@@ -30,6 +30,8 @@ AUTOFRAMEWORK(QuartzCore)
#define LOG if(0)NSLog
+// TODO: Maintain list of views for dock menu.
+
static void setprocname(const char*);
static uint keycvt(uint);
static uint msec(void);
@@ -45,7 +47,8 @@ static AppDelegate *myApp = NULL;
void
gfx_main(void)
{
- setprocname(argv0);
+ if(client0)
+ setprocname(argv0);
@autoreleasepool{
[NSApplication sharedApplication];
@@ -99,7 +102,7 @@ rpc_shutdown(void)
}
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication {
- return YES;
+ return client0 != nil;
}
@end
@@ -232,10 +235,7 @@ rpc_attach(Client *c, char *label, char *winsize)
r = [[NSScreen mainScreen] visibleFrame];
LOG(@"makewin(%s)", s);
- if(s && *s){
- if(parsewinsize(s, &wr, &set) < 0)
- sysfatal("%r");
- }else{
+ if(s == nil || *s == '\0' || parsewinsize(s, &wr, &set) < 0) {
wr = Rect(0, 0, sr.size.width*2/3, sr.size.height*2/3);
set = 0;
}
@@ -344,7 +344,8 @@ rpc_setlabel(Client *client, char *label)
@autoreleasepool{
NSString *s = [[NSString alloc] initWithUTF8String:label];
[self.win setTitle:s];
- [[NSApp dockTile] setBadgeLabel:s]; // TODO: Not with multiple windows
+ if(client0)
+ [[NSApp dockTile] setBadgeLabel:s];
}
}