tdevdraw: release multitouch mouse when app is collapsed (minimized) - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit 7d9c0f0f0e041051d3105404ada074cf983cd6ad
DIR parent 100ec44e5170878bbd7fd28f7f68d884d0618173
HTML Author: Russ Cox <rsc@swtch.com>
Date: Mon, 4 Jan 2010 21:25:07 -0800
devdraw: release multitouch mouse when app is collapsed (minimized)
R=rsc
CC=plalonde, r
http://codereview.appspot.com/181129
Diffstat:
M src/cmd/devdraw/osx-screen-carbon.m | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
---
DIR diff --git a/src/cmd/devdraw/osx-screen-carbon.m b/src/cmd/devdraw/osx-screen-carbon.m
t@@ -60,6 +60,7 @@ struct {
int infullscreen;
int kalting; // last keystroke was Kalt
int touched; // last mouse event was touchCallback
+ int collapsed; // parked in dock
NSMutableArray* devicelist;
} osx;
t@@ -383,6 +384,8 @@ _screeninit(void)
{ kEventClassCommand, kEventCommandProcess },
{ kEventClassWindow, kEventWindowActivated },
{ kEventClassWindow, kEventWindowDeactivated },
+ { kEventClassWindow, kEventWindowCollapsed },
+ { kEventClassWindow, kEventWindowExpanded },
};
const EventTypeSpec events[] = {
{ kEventClassApplication, kEventAppShown },
t@@ -517,13 +520,24 @@ eventhandler(EventHandlerCallRef next, EventRef event, void *arg)
break;
case kEventWindowActivated:
- activated(1);
+ if(!osx.collapsed)
+ activated(1);
return eventNotHandledErr;
case kEventWindowDeactivated:
activated(0);
return eventNotHandledErr;
+ case kEventWindowCollapsed:
+ osx.collapsed = 1;
+ activated(0);
+ return eventNotHandledErr;
+
+ case kEventWindowExpanded:
+ osx.collapsed = 0;
+ activated(1);
+ return eventNotHandledErr;
+
default:
return eventNotHandledErr;
}