From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: Emacs Mac port Date: Mon, 19 Sep 2016 10:19:22 +0200 Message-ID: <57DF9F8A.1020008@gmx.at> References: <57DE4306.6060904@gmx.at> <57DE4D33.6070201@gmx.at> <57DE63EC.3010305@gmx.at> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1474273277 13404 195.159.176.226 (19 Sep 2016 08:21:17 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 19 Sep 2016 08:21:17 +0000 (UTC) Cc: emacs-devel@gnu.org To: YAMAMOTO Mitsuharu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Sep 19 10:21:13 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bltox-0001TH-Hk for ged-emacs-devel@m.gmane.org; Mon, 19 Sep 2016 10:20:59 +0200 Original-Received: from localhost ([::1]:53577 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bltov-0007yi-MA for ged-emacs-devel@m.gmane.org; Mon, 19 Sep 2016 04:20:57 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52375) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bltne-0007vx-MD for emacs-devel@gnu.org; Mon, 19 Sep 2016 04:19:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bltnZ-0001UH-IG for emacs-devel@gnu.org; Mon, 19 Sep 2016 04:19:37 -0400 Original-Received: from mout.gmx.net ([212.227.17.20]:53752) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bltnZ-0001Tn-7o for emacs-devel@gnu.org; Mon, 19 Sep 2016 04:19:33 -0400 Original-Received: from [192.168.1.100] ([212.95.7.9]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MXVr0-1bX86h1PwE-00WXl1; Mon, 19 Sep 2016 10:19:29 +0200 In-Reply-To: X-Provags-ID: V03:K0:QVn3y2izOVv9wFqRyqEC47czAs0BJrCyYUYmT94xwoWIr8YGxfj oyigCDn3DwvxD5ysRq5fTa8eC95PNeoTWjb9SbQNR419fJ9VbJVKwgHIDfc+jYJDJi0WMVf MLi0NhliCqMQOyPDyFb8kuPc5tpovaNj9q3/DNpkZbRxgkLBT2Qf6SO3eXYBV4DREHHCj8l vjAE0OhJ7dsC7H5bkIN1Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:XYBIPgj2adI=:KSNgO8PtK0/jWSAy1+ECKI 1jrP68Ac2tLBaNTJ2Q4yzyOLqdhfFuFfD7KetYvwgXfLYL2IpEzWafJGNFyvXIDixiDfxQD6f ulnNN3dJm5NSsraoteUAvKY+C3uywKqez3yGb7bHkDzpm13NbWSBQLMS56/1cH16AuHCtgBXU KwU0h8FQlTGaSLAPxYt2EfO2nd35KLQe1iGGv7iE+0wjm0FaZh+ELGvKGVOXSofwXgfXMabod nPkvSPqK9vh+alfrw09dKSg9/rshyOiZ0Q6UQe9fOEaInyVLWykgu2jfkeHeKQZN2AGvLdzYI 0otsJbk0dbA3E660WzjeWX38qSENLb14iSuY1Qb0xlxQ2CCcgSKGfrjw/MYdeBobd7yTns2Y3 IL83slJirrxqqzn9VZYXmTh/9m4O5umgRA5EvchtrWioj03UGLqNE8QXYRUGztOk8hjMKCZ9m VHH0hriYqDiiqHYf0BSmiOJubX3gyG0u7nP+b5SURmRgptYn96FSu27Uav6p9nohW+Xhsh+Xh dsZ/1sO8lFtsHBQSnFFYTt1PbBOaaViQkBQiCwIsbA4S95X177maxwrsEcJtAhDvavbGmMYEj ww0mxlIGCjg7SrGZJnnvJ1LhnhuEaY72R4RRMOrZrW5GzBpC39+oUzxByMe9/py6ceMQh4b72 MuDEllNC0iRkhKJC63lc/hgTPppbu8YIg5J0nkVHtzdquH9sfqD743EuojzSAWj+A90AJxyv8 HCZm3vNFa787JDi2amZn9INpqsFThO7WsK4xuDHO4cY3faO2uvhNuYCH7BmnQTH2Fx33RqyA X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.20 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:207601 Archived-At: > For "window snapping" introduced in macOS Sierra, see > https://www.youtube.com/watch?v=pzJGeTS49f4 . IIUC this video shows only how snapping works when moving windows around the screen. There's no resizing involved. Do windows also "snap" while they get resized? > The difficulty in updating the frame contents during resize by mouse > dragging on OS X/macOS comes from the fact that it is processed in a > modal loop. To reflect the frame size change in Emacs, we have to go > back to Lisp event loop so it triggers redisplay, but the modal loop > does not allow us to do so. I understand. But simply moving windows does not resize them. No need to trigger redisplay. > Screen updating during mouse dragging is handled by generating fake > events press -> drag -> release -> press -> drag -> release -> ... > internally during a single dragging session. Between (fake) release > and press, we go back to the Lisp event loop to trigger redisplay. > > Unfortunately, this fake event generation does not work with "window > snapping" introduced in upcoming macOS 10.12 Sierra, probably because > the contextual information is lost by fragmented drag events. I don't > want to make a frame all white as in the NS port, so I capture the > frame contents as a bitmap, decompose it to window (Emacs terminology) > contents, ... to avoid that scroll bars appear in the wrong place, I presume ... > and distribute them proportionally during resize by mouse > dragging. Thanks for the information, martin