From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Nick Helm Newsgroups: gmane.emacs.devel Subject: Re: Should this package be included into the NS port? Date: Sat, 19 May 2018 16:42:54 +1200 Message-ID: References: <20180515183631.GB27909@breton.holly.idiocy.org> <20180518193632.GA31241@breton.holly.idiocy.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1526704905 2112 195.159.176.226 (19 May 2018 04:41:45 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 19 May 2018 04:41:45 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (darwin) Cc: emacs-devel@gnu.org, George Plymale II , monnier@iro.umontreal.ca To: Alan Third Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat May 19 06:41:40 2018 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 1fJtgX-0000QK-Vs for ged-emacs-devel@m.gmane.org; Sat, 19 May 2018 06:41:38 +0200 Original-Received: from localhost ([::1]:41697 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJtie-0001IV-VI for ged-emacs-devel@m.gmane.org; Sat, 19 May 2018 00:43:48 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJthz-0001IE-1L for emacs-devel@gnu.org; Sat, 19 May 2018 00:43:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fJthv-0004r6-TT for emacs-devel@gnu.org; Sat, 19 May 2018 00:43:07 -0400 Original-Received: from mail-sy3aus01on0133.outbound.protection.outlook.com ([104.47.117.133]:15055 helo=AUS01-SY3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fJthv-0004qe-BM for emacs-devel@gnu.org; Sat, 19 May 2018 00:43:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tenpointcomms.onmicrosoft.com; s=selector1-tenpoint-co-nz; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8BvImYt5/0ytpDguOWKtAMYbOxZmw5THRBB75XkrUhw=; b=dhnuCgiIvUrGKVQbOFPrJpvWqdcJPVq6kGcr3bKKj/7FOtNoBaqi7oTtt8X1qf+//YoOpaK+3INXtMe4zZiLaEhdnlOLH8oSa6AhILWYSg2neKAgt09gCeVrTSi9UPHTSnZgePmob6b/1LpjWHuqU1yLCUyeKqQGZJE6UDhHfjs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=nick@tenpoint.co.nz; Original-Received: from jupiter.local (125.239.171.29) by SYAPR01MB2909.ausprd01.prod.outlook.com (2603:10c6:1:10::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.776.11; Sat, 19 May 2018 04:42:58 +0000 In-Reply-To: <20180518193632.GA31241@breton.holly.idiocy.org> (Alan Third's message of "Fri, 18 May 2018 20:36:32 +0100") X-Originating-IP: [125.239.171.29] X-ClientProxiedBy: SY3PR01CA0130.ausprd01.prod.outlook.com (2603:10c6:0:1b::15) To SYAPR01MB2909.ausprd01.prod.outlook.com (2603:10c6:1:10::23) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(5600026)(4534165)(7022125)(4603075)(4627221)(201702281549075)(7048125)(7024125)(7027125)(7028125)(7023125)(2017052603328)(7153060)(7193020); SRVR:SYAPR01MB2909; X-Microsoft-Exchange-Diagnostics: 1; SYAPR01MB2909; 3:EIX0x7zqX9eccaJc7zpnUiOmv/f98Kqt0ENYKG2i507TmjRpyIwcIB8C2gCE2bcE4LBMeVWo3quumoOwPHcxD4L3ExJSYDF94AMhwU7apOdgWALGk9JQEYJHtZRUaamMyztddEAxZbVLq+G7oBDgNfJZ9PDJxRiI86ejIvBzOCGsWuUt4t26Pa5/qavvzf4BR90LuUklHoGtSVk96UpDstRw8L3F+WKOcQutEDs1wWPoJ62ojilEttwIOaFdGFzD; 25:gJAwcRqlQVyUk3lGb/kd+TIIcw1v8hWmBdFT4WY72cgg2cC4dywOzjW2dALxPG4aDroIjn6NQ09kLjnntby3GcnMffwd+B/7yA/1+hmz5hoB1bHQu3lfYVRPgJNKuJRWerJ/WlulV7o1XuNoexG4Wzax+MF2aC0/tGvphv47PM4Zod1V9SRkz7gU0UFuBxMFGzPA+/pUfL/CwKRNr2MgSnGhERkq+6TC5IHRUVyFKci9IQGsVj+DoLk+R+Di8XV90bwlFGG53FtK23bOBhXV8mTWWRenwtXTuSN4Ee9Wc31M5Dr0PjgYjaF2Mn3t+H23AxpPZdvOFVUsIapgQUVWvw==; 31:sM8gJzAoWWgCK0NvXVfJqHb3zkQ74V5dKbQc/bHVzR8EGJxRv/0KNRuKJDHE8xusSHWwKctokQ0wqxRYgSzGkUDWoFWFYWVTNm9r7h2osGZElCDOmt/DID5uk7E4Ps+u4x7NN1098H9DTVewme97IRVrmnIdeMd2vTw12bcKT+FMRM9nu+DCXdZy5deVA6WtMQgFOEctHP0cxLtXjn0f47pBbGseyY5uYeQhqCjhD X-MS-TrafficTypeDiagnostic: SYAPR01MB2909: X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(158342451672863); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3231254)(944501410)(52105095)(3002001)(93006095)(93001095)(10201501046)(149027)(150027)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(2016111802025)(6043046)(6072148)(201708071742011)(7699016); SRVR:SYAPR01MB2909; BCL:0; PCL:0; RULEID:; SRVR:SYAPR01MB2909; X-Microsoft-Exchange-Diagnostics: 1; SYAPR01MB2909; 4:WoOHiim+V10lcvStfZPxj60OySJXDI0Fr2LHOlAXjdF+Us7NXi/mpT874V+EoVQZ3yTTpb50xlybXEVMrUOXaesjOX0y34OH18Fl0mm5TYQ+gAHVa75BciiLcRHMxiZphbik5EZKTJjT/8toh98wyhrzRxXcXrX4kzHTXAqtG3h1g2MxBxSYQwbO3PKMeXX2BY7GjWW6aBtoMTxsYhDR2cbJ1/uNEtKkmpLX4ogMflxgzi+RpcNmHVPZ8S84r4f+ev43T1zHsgL31l7Hn47e5Ji7P/Bj0+2MFPDH6ci350BIyx7+nna/7I9TcWGhZT55 X-Forefront-PRVS: 0677FFABBF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(346002)(39380400002)(39830400003)(376002)(396003)(189003)(199004)(6116002)(8746002)(16526019)(8936002)(105586002)(8676002)(305945005)(81166006)(81156014)(478600001)(50466002)(486006)(26005)(74482002)(316002)(6506007)(59450400001)(3846002)(186003)(106356001)(5660300001)(68736007)(86362001)(58126008)(386003)(2906002)(53936002)(25786009)(52116002)(11346002)(97736004)(47776003)(76176011)(446003)(956004)(23676004)(52146003)(6916009)(4326008)(7736002)(2616005)(6486002)(6246003)(6512007)(66066001)(229853002)(2486003)(476003)(36756003)(6666003); DIR:OUT; SFP:1102; SCL:1; SRVR:SYAPR01MB2909; H:jupiter.local; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: tenpoint.co.nz does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTWUFQUjAxTUIyOTA5OzIzOjF1czVWaEFXTTE5cWlXTnFsRzR6Y2VRMmZx?= =?utf-8?B?eU84WWxnQ2N1UGFSajJvcGNEZGpQL1lza3FvRFQ0VGNUK1RWSGx1L2tZc0xv?= =?utf-8?B?YkZNcml0NnRxWTU0QTlIdWVlSEhQTGVkdSt6d0dsdENCbkptelh2SzhYWWFv?= =?utf-8?B?N1NLMEsrRUk0UmxJNGl3SThIcWwzTkljcVhJeTYzQmpVU1BWTUpxWEVBWmk3?= =?utf-8?B?RTJMODRtMTZvSVE3emdGSCtkOGx2ZGpubDkxZGh0Z081Ny9Tb3ViVXkvY0VF?= =?utf-8?B?blpudDVkWDJJWDVEVTlxRlFJQTdYcHBlUzhYZk1abHV4T3BFeC9lZEdvQ0Ri?= =?utf-8?B?RzIzSjFNTXdZMXRCN2xzdy9vSVJkNWtHelYvVzRHdHY5aEdHcE9lcGh5R2tn?= =?utf-8?B?Rnh4MGtyVmFTYVViVElsc1E3ZTZiSmlrbUJlMVpickFVNTllTXk0S1NWV1NR?= =?utf-8?B?VXdaaTRkM0IyZHptOGc0R2c5UWYrTmtsT1FES1JYRTd1SVlaUms1VlVkVVJw?= =?utf-8?B?YzNpY0lWRHdtUnNkT2dERVplbEM3NmJkNTkyUEVwV2xTYytyQld1VmhlNi9s?= =?utf-8?B?MUdiNWUyK21VZlRwaXFpdnplUStTWVNvR1BnMDdXdmF6R0NuSnN5SytYa2Yz?= =?utf-8?B?VXIyd08vYnd0Rmtxck5YNkZyblU5M3VGYSt0bDdyWk X-Microsoft-Antispam-Message-Info: COwu7NWL1XFV+e7q/yplpb6j5ZNKBWewSneccxcvzW7t7xc48CS5qAFcPxotNl7r4LKHhIxudZzi7bIvHEwG/kmw+Gh8Y0816oL62YvO6hRjJBvsZkjnsg/jjO2KQJH+EEQpNGuiVTBcuzBKKZY2LAlaGdaj0UsUYR/sLtKPlgNHetG8AyRvXn521CoUTEg4 X-Microsoft-Exchange-Diagnostics: 1; SYAPR01MB2909; 6:sdPm/ij54NfRsoWznJgwPS9epX12pIVPlkOxboCSmBx/tntrC3z28sCZ7BmRyotEOeyv7w0rWnpqATb8FURbZO9cKrsLQfXwLnhkXgyxVd6q/1IExtJ1t7EU6w9UvOlbS8DzEGHwkJPasRWCssjRrxCGOLFQyoswmBDAJThUh90AtY7agPlHBFGXTO+PDZ31bdM5IEhEZ1Y9mhIjdAmiS/4qYJfEICnluBLZ1p2QLwI7G7AIyZ0Hp3nS0TiGd4LqI97ES6E7+zeQB7QT8XXHqdZCtoh8V2sukuJnyZlScAwY6LqLqOegAEfdGy3ANBmHoMUcT3NJNb1JbxY4X86AjvJ/jaHFWWGv/E0wWQTD/YXgttVWdttzvI+sQqKbwRj47mfkpPvJYnzDrE28xvlDINq8XoiVKVEca4wMml+TsVfCWrikoyATK1O1g82khETJA+7TEMUgg8huUMFuSW3KjA==; 5:/HIR5YC9jUJ19tRoR/EtK23pkMCoY+Aiz+ITRcGM7EOaQj2e1fcj8/Q8Arzy1jyXtXKmU8fNCBOnXc/BwMW34V2vyiQEgfB7tMvdNmMAjctIS/B2mNC3aA2aORqXImaEQnHWEg8Yx3Z3ir22Ts4QSaWifEngqNa9kk5fB53s3m8=; 24:AFrhEgZ+gXOF17SsLzVRDz2Gx7ZK3MJIdgmz9WEQWnWaHqqM66kYy9638B3DQKI/a3y0eHtKeA9SBo6EndTrszcqeNkq7iTb5H/Ax7oIwfs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SYAPR01MB2909; 7:YOn3k1UuA33ymdMoGaf5jA1JJ/bdKkUpUUJDvlCXSpkd2DupSlwFMwoQXXzqfw+1MbSN7qoDRLLj7owKFBcyi9JVVwf5IZy1jmD+1+dE8War0pz1faEPiD16Dv7jJjVqe93rkPyhZeBsfD5fTKeOB3shvAdjjfQCAWqfMUdvUwIyOFKsnvLCk7uXiNLvdc/ciNDAjyWMogPuz1O5Yp03pdi2gqDvxHebwv4vhhPfqHJ7v31+Slznxsuzmd1SS0oj X-MS-Office365-Filtering-Correlation-Id: e2f993d5-ecc5-4631-d9dc-08d5bd42ff2e X-OriginatorOrg: tenpoint.co.nz X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2018 04:42:58.6263 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e2f993d5-ecc5-4631-d9dc-08d5bd42ff2e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: ed686f26-19e8-407b-91d0-7364c1c6f5cf X-MS-Exchange-Transport-CrossTenantHeadersStamped: SYAPR01MB2909 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.117.133 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:225422 Archived-At: On Sat, 19 May 2018 at 07:36:32 +1200, Alan Third wrote: > There are two problems, though. > > * Application Menu > > When the last NS frame is deleted the menus aren=E2=80=99t updated, so I = think > they=E2=80=99ll be the menus as defined for the last frame. They should > probably be cut right back to just the =E2=80=98Emacs=E2=80=99 menu, and = perhaps > =E2=80=98help=E2=80=99. This is interesting. I think we could tweak the EmacsMenu side of things to do this, even with the current code. We'd want to make sure to include some kind of new frame command somewhere. These menus are derived dynamically from Lisp though, and it might be difficult to convince it to provide valid entries when no frame is selected.=20 One way around that might be to create a new menu containing static NSMenu versions of File and Help, much like we do for the appMenu now. When no frame is selected and there are no Lisp menu entries, we switch mainMenu to this new menu. When a frame is created, we switch back.=20 A side benefit would be that we can set File and Help to anything we want, e.g. add a new frame command and fix up the quit duplication. > * Dock Menu > > This has a =E2=80=98new frame=E2=80=99 option but just plain doesn=E2=80= =99t work. I think the > problem is the way it=E2=80=99s trying to create a new frame:... > > This seems to rely on there being an existing NS frame, but we=E2=80=99ve > deleted the last one. I assume if we were clever we=E2=80=99d be able to = use > the, still open, terminal frame. With all of this discussion, I feel like I'm missing something really fundamental. Putting emacsclient aside for a moment, if we were dealing with a standard Cocoa app, the window server and NSApp loop would keep running in the background and we could close everything, then create a new frame (as a view on an NSWindow instance) as needed. How is the architecture of Emacs on NS so different from standard Cocoa that these kinds of workarounds are necessary?=20