From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.org!.POSTED!not-for-mail
From: Alan Third <alan@idiocy.org>
Newsgroups: gmane.emacs.bugs
Subject: bug#28443: 26.0.50;
	Pause when fullscreening when ns-use-native-fullscreen is nil on macOS
Date: Wed, 13 Sep 2017 21:13:01 +0100
Message-ID: <20170913201301.GB31742@breton.holly.idiocy.org>
References: <m2ingm23re.fsf@gmail.com>
	<20170913192737.GA31742@breton.holly.idiocy.org>
	<CAHyO48xj1un_T=vRs0=FfRnzcfyXRMBM1ad1APHJ8oU_cUnatQ@mail.gmail.com>
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Trace: blaine.gmane.org 1505333650 1212 195.159.176.226 (13 Sep 2017 20:14:10 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Wed, 13 Sep 2017 20:14:10 +0000 (UTC)
User-Agent: Mutt/1.9.0 (2017-09-02)
Cc: 28443@debbugs.gnu.org
To: Aaron Jensen <aaronjensen@gmail.com>
Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Sep 13 22:14:06 2017
Return-path: <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org>
Envelope-to: geb-bug-gnu-emacs@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 <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org>)
	id 1dsE2v-0000E1-QW
	for geb-bug-gnu-emacs@m.gmane.org; Wed, 13 Sep 2017 22:14:06 +0200
Original-Received: from localhost ([::1]:44411 helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org>)
	id 1dsE33-00022I-6d
	for geb-bug-gnu-emacs@m.gmane.org; Wed, 13 Sep 2017 16:14:13 -0400
Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46879)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1dsE2w-00021x-VP
	for bug-gnu-emacs@gnu.org; Wed, 13 Sep 2017 16:14:08 -0400
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1dsE2s-0008L2-Kb
	for bug-gnu-emacs@gnu.org; Wed, 13 Sep 2017 16:14:06 -0400
Original-Received: from debbugs.gnu.org ([208.118.235.43]:58434)
	by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
	(Exim 4.71) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
	id 1dsE2s-0008Ki-FF
	for bug-gnu-emacs@gnu.org; Wed, 13 Sep 2017 16:14:02 -0400
Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
	(envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1dsE2s-0003qi-0i
	for bug-gnu-emacs@gnu.org; Wed, 13 Sep 2017 16:14:02 -0400
X-Loop: help-debbugs@gnu.org
Resent-From: Alan Third <alan@idiocy.org>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Wed, 13 Sep 2017 20:14:01 +0000
Resent-Message-ID: <handler.28443.B28443.150533359014730@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 28443
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
Original-Received: via spool by 28443-submit@debbugs.gnu.org id=B28443.150533359014730
	(code B ref 28443); Wed, 13 Sep 2017 20:14:01 +0000
Original-Received: (at 28443) by debbugs.gnu.org; 13 Sep 2017 20:13:10 +0000
Original-Received: from localhost ([127.0.0.1]:38882 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
	id 1dsE21-0003pW-K3
	for submit@debbugs.gnu.org; Wed, 13 Sep 2017 16:13:09 -0400
Original-Received: from mail-wm0-f52.google.com ([74.125.82.52]:45234)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <athird@googlemail.com>) id 1dsE1z-0003pI-KA
	for 28443@debbugs.gnu.org; Wed, 13 Sep 2017 16:13:08 -0400
Original-Received: by mail-wm0-f52.google.com with SMTP id g206so15358068wme.0
	for <28443@debbugs.gnu.org>; Wed, 13 Sep 2017 13:13:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=googlemail.com; s=20161025;
	h=sender:date:from:to:cc:subject:message-id:references:mime-version
	:content-disposition:content-transfer-encoding:in-reply-to
	:user-agent; bh=nh/UfH5rJJL5cfE7+pnLrYgDr+OeLvKcPFoQnBiph4U=;
	b=uWly6tfYLPiM/tEL7BEmgQnfAkaJcOF4zlqXQfH8xoZ+4QSJZUU4c6QKQgmTLxsuyw
	1dcQhQZ+98qfnmduD6t++OO9rz75tWtVjyIlM4hODZ5z/NxkON5rACfHNAS4/9ev+Yub
	R22GCfCiTf+0/aH/xsW1jf1PC/QZ6NC5fgHCe0FnhZYwSz1CkNJh7YhMtlO6mLoZPUll
	gJy3jeg6zDT7iBOZ1XsNcwwE7LvthzuW32XWLXSszQX5Hfb2y4qPIr1PjOQ43W0zgg0k
	RL+bPuOGkr8Qh1hDuCQoTRIVWrK27pfzIWiIiltldQ8nEoYTIBy62DKACydN7NF1YVIv
	LIsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:sender:date:from:to:cc:subject:message-id
	:references:mime-version:content-disposition
	:content-transfer-encoding:in-reply-to:user-agent;
	bh=nh/UfH5rJJL5cfE7+pnLrYgDr+OeLvKcPFoQnBiph4U=;
	b=navHsYKfjmYwesUzGRDf2mIFfiI+Y3VRqIBaNu2eoeU8a89QS58qY5Ji3lwuHHTMny
	BF5eVNpWTUNoyjReTJRw9A1UeS73TgCvHoFHo+U23+xocI0b170BCsxthr3/L1ms8qmC
	gTjjm6OzgiGFJt22a+c9gJpnI7flT8xqqJqiU3ZhAWbIkFcQb5CsmfPezdAS3s0Qy2LX
	hyLC5GG1yptFMKS+Ca87pnvJXzaEAg20/xnQJF78whSm/nglhEmSsQy9TF8pDzHyszYI
	Gp0zWRc7R3a3iuHpM3KtSV71lbToioUwP5+ker/uIu7a+E4R3Klq+waoHnhcMxxLt6dz
	iyxQ==
X-Gm-Message-State: AHPjjUh04gDEIx2y5ix16+wFn85rD17ejL1q62Q8RpCZ199caMe6HYV1
	oCAIDzlqBedTgg==
X-Google-Smtp-Source: AOwi7QD+GdaqW2BFcncdieCHoPVyWjir8zYT9YsHlOaVQv69nglj6Pk2maBKkKA8n6uXhqSGV9O0ZA==
X-Received: by 10.28.236.91 with SMTP id k88mr3556188wmh.95.1505333581861;
	Wed, 13 Sep 2017 13:13:01 -0700 (PDT)
Original-Received: from breton.holly.idiocy.org
	(ip6-2001-08b0-03f8-8129-2cce-997a-55b7-29ff.holly.idiocy.org.
	[2001:8b0:3f8:8129:2cce:997a:55b7:29ff])
	by smtp.gmail.com with ESMTPSA id
	d9sm11323688wrd.37.2017.09.13.13.13.00
	(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
	Wed, 13 Sep 2017 13:13:01 -0700 (PDT)
Content-Disposition: inline
In-Reply-To: <CAHyO48xj1un_T=vRs0=FfRnzcfyXRMBM1ad1APHJ8oU_cUnatQ@mail.gmail.com>
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 208.118.235.43
X-BeenThere: bug-gnu-emacs@gnu.org
List-Id: "Bug reports for GNU Emacs,
	the Swiss army knife of text editors" <bug-gnu-emacs.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/bug-gnu-emacs>,
	<mailto:bug-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/bug-gnu-emacs/>
List-Post: <mailto:bug-gnu-emacs@gnu.org>
List-Help: <mailto:bug-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/bug-gnu-emacs>,
	<mailto:bug-gnu-emacs-request@gnu.org?subject=subscribe>
Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org
Original-Sender: "bug-gnu-emacs"
	<bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org>
Xref: news.gmane.org gmane.emacs.bugs:136934
Archived-At: <http://permalink.gmane.org/gmane.emacs.bugs/136934>

On Wed, Sep 13, 2017 at 12:33:48PM -0700, Aaron Jensen wrote:
> On Wed, Sep 13, 2017 at 12:27 PM, Alan Third <alan@idiocy.org> wrote:
> > On Wed, Sep 13, 2017 at 05:15:49AM -0700, Aaron Jensen wrote:
> >>
> >> When ns-use-native-fullscreen is nil and a frame is set to fullscreen,
> >> there is a slight pause before the frame goes fullscreen. I believe the
> >> pause is about the same length as the animation when native fullscreen
> >> is used, so I'm wondering if there's some timing code in there that can
> >> be disabled when non-native fullscreen is being used.
> >
> > Found it. In ns_fullscreen_hook in nsterm.m there is a timer:
> >
> >       /* Old style fs don't initiate correctly if created from
> >          init/default-frame alist, so use a timer (not nice...).
> >       */
> >       [NSTimer scheduledTimerWithTimeInterval: 0.5 target: view
> >                                      selector: @selector (handleFS)
> >                                      userInfo: nil repeats: NO];
> >
> > if I replace the timer with
> >
> >     [view handleFS]
> >
> > it works absolutely fine, but I have to assume there are situations
> > where it doesn’t.
> 
> My guess is that the timer was there to sync w/ the animation. If the
> animation is disabled, there shouldn't be a timer, but if it is, there
> should be. This is just a guess.

I should have read it a bit more closely. The comment’s saying there’s
a problem when

    (add-to-list ’frame-default-alist ’(fullscreen . fullboth))

is used, and sure enough, when I set it and create a new frame, it
draws incorrectly.

I notice that changing back from fullscreen results in the top of the
emacs window being hidden behind the toolbar. Clearly non‐native
fullscreen has some resizing issues.

It can be (correctly) emulated with:

    (set-frame-parameter nil 'undecorated t)
    (setq ns-auto-hide-menu-bar 1)
    (tool-bar-mode -1)
    (toggle-frame-maximized)

which makes me wonder if we even need this code and could move it to
lisp?
-- 
Alan Third