From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#14233: 24.3; Don't constrain frame size to character multiples Date: Mon, 22 Apr 2013 11:34:38 +0200 Message-ID: <5175042E.5020508@gmx.at> References: <2r7gjy2gyy.fsf@fencepost.gnu.org> <83bo991z00.fsf@gnu.org> <517257A0.4080607@gmx.at> <071A708E-3A98-4D11-A15F-7AB92D5200DD@swipnet.se> <51727563.70905@gmx.at> <5172908F.7090206@swipnet.se> <83sj2lz6nm.fsf@gnu.org> <5172EBEF.7030301@swipnet.se> <5173B0D8.4010408@gmx.at> <9CE9273D-8550-478F-8CB9-0C0D693C0BB8@swipnet.se> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1366623326 13314 80.91.229.3 (22 Apr 2013 09:35:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Apr 2013 09:35:26 +0000 (UTC) Cc: esabof@gmail.com, 14233@debbugs.gnu.org To: Jan =?UTF-8?Q?Dj=C3=A4rv?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Apr 22 11:35:30 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UUD9l-0005rH-UZ for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Apr 2013 11:35:30 +0200 Original-Received: from localhost ([::1]:34252 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UUD9l-0003jr-JM for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Apr 2013 05:35:29 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:34466) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UUD9c-0003XD-Jl for bug-gnu-emacs@gnu.org; Mon, 22 Apr 2013 05:35:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UUD9X-0004CS-IV for bug-gnu-emacs@gnu.org; Mon, 22 Apr 2013 05:35:20 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60592) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UUD9X-0004CO-G2 for bug-gnu-emacs@gnu.org; Mon, 22 Apr 2013 05:35:15 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1UUDED-0008OS-DP for bug-gnu-emacs@gnu.org; Mon, 22 Apr 2013 05:40:05 -0400 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 Apr 2013 09:40:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14233 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 14233-submit@debbugs.gnu.org id=B14233.136662358032172 (code B ref 14233); Mon, 22 Apr 2013 09:40:05 +0000 Original-Received: (at 14233) by debbugs.gnu.org; 22 Apr 2013 09:39:40 +0000 Original-Received: from localhost ([127.0.0.1]:36462 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UUDDo-0008Mq-7y for submit@debbugs.gnu.org; Mon, 22 Apr 2013 05:39:40 -0400 Original-Received: from mout.gmx.net ([212.227.15.15]:57529) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UUDDl-0008MZ-Gj for 14233@debbugs.gnu.org; Mon, 22 Apr 2013 05:39:38 -0400 Original-Received: from mailout-de.gmx.net ([10.1.76.31]) by mrigmx.server.lan (mrigmx002) with ESMTP (Nemesis) id 0Lm9rr-1V3Gyt1MsT-00Zdsv for <14233@debbugs.gnu.org>; Mon, 22 Apr 2013 11:34:46 +0200 Original-Received: (qmail invoked by alias); 22 Apr 2013 09:34:46 -0000 Original-Received: from 62-47-33-240.adsl.highway.telekom.at (EHLO [62.47.33.240]) [62.47.33.240] by mail.gmx.net (mp031) with SMTP; 22 Apr 2013 11:34:46 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX181PP5dDco1PHdCGE7lm1NnLuVoev/3RE5Srov2vp xf3b1cwFi0h29B In-Reply-To: <9CE9273D-8550-478F-8CB9-0C0D693C0BB8@swipnet.se> X-Y-GMX-Trusted: 0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:73567 Archived-At: > For NS a maximized and fullscreen requests comes in as separate > requests, for X they are normal resize request. [...] > The problem is that you think from the W32 point of view where (if I > interepret you correctly), Emacs applies size hints after the resize > request has been delivered. I think so. > This is not so for NS and X. Any size in a resize request is > accepted. If it follows WM size hints, great, if it don't, who > cares?. The frame size is set to the size in the request anyway. IIUC we do care because we want to fit the frame's windows according to the incoming request. > So for NS and X, fullscreen, maximized and such is no problem. A > minor glitch in NS is that we calculate the maximized sizes ourself, > and these are rounded to character sizes. If windows could handle > pixel sizes, we could easily fix this. In any case, the maximized size of the frame is not necessarily an integral multiple of character sizes so the frame gets or should get resized pixelwise. > But there is no restriction on NS and X11 frames to resize by pixel > (i.e. not character multiples). So by default, on Windows I always accept a maximize request and resize windows accordingly. For any other size request I process a non-rounded size iff the variable `frame-resize-pixelwise' is non-nil. On all other platforms, `frame-resize-pixelwise' has no impact. If and whether size hints are turned on and have any impact depends on settings for the window manager used and is of no concern to me. Whatever size is requested by the WM is processed without any rounding. The interface to the window subsystem will be the function change_frame_size (struct frame *f, int new_width, int new_height, bool pretend, bool delay, bool safe, bool pixelwise) which processes new_width and new_height in terms of pixels if pixelwise is non-nil. martin