From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Display scaling? Date: Mon, 31 Jan 2022 17:13:38 +0200 Message-ID: References: <877danm1ds.fsf.ref@yahoo.com> <877danm1ds.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25471"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 To: Po Lu , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Jan 31 16:45:05 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nEYrZ-0006OE-Kj for ged-emacs-devel@m.gmane-mx.org; Mon, 31 Jan 2022 16:45:05 +0100 Original-Received: from localhost ([::1]:36462 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nEYrY-0008Uq-Js for ged-emacs-devel@m.gmane-mx.org; Mon, 31 Jan 2022 10:45:04 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:40284) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nEYNK-0000XK-FQ for emacs-devel@gnu.org; Mon, 31 Jan 2022 10:13:50 -0500 Original-Received: from [2a00:1450:4864:20::430] (port=41854 helo=mail-wr1-x430.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nEYNH-0003YA-UU for emacs-devel@gnu.org; Mon, 31 Jan 2022 10:13:49 -0500 Original-Received: by mail-wr1-x430.google.com with SMTP id h21so26048399wrb.8 for ; Mon, 31 Jan 2022 07:13:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=jhDZat6LYMqHE9HUqLNZW/MkXnsS8lPbjXsmyO58Irw=; b=ZmBuVL1TyI4aoGdBy57B/ga+1pI2PnrjdEDvVdeQdVfwCS4MmcXpjrfAIUUtb/sEGH oh0HcNVmYJNrkJpMEuXtdrCIPkVD2Wf6rtB5eSEr2pXJkSYQkhI+yExmumLqwEWy4+uc 8SxR5aiNoDViVLvPOjassotslLSma+z/9pkwxMtJkYcYyttPEsoVhNdzwP6CIyxesyVM d/y1dRMJFgicwBaJRGJntT3GvrMkTg/SVo9S1rLuezTBd32tHOltM2guMSxs2o2faPui S2rwhZuwy9XBN1bmhk+50lsQMPJQO7MvjVDU7BPu8FllklIKQWiOmD8yy/glGJxxhMbt slDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:subject:to:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=jhDZat6LYMqHE9HUqLNZW/MkXnsS8lPbjXsmyO58Irw=; b=W84+Up8FC2MWIq86nIam1/B/Jrzj+FO46anzznUUPeXtQuHZnKrbWXojkXwWmqqbao a0GCS2wymAshtpztd7xOMV4G5KG9IGfltsX38Nzuxb6gySvnf8SrRb7zOKapzZfaa2dA erpTuXGGjFCGGBPHeccGXgKa89h2LqWwF+PcmHJtd1NEtAKiUmPA7NZCn/gbtlTY0j+q tis3ME0DKjdOasF/G0ZSK3bT0Ra5XdHMBxfFMiUz7KQJMtWtZY7ZkGelFMTcp0yHkTug 7X7RDpy066spVsqCkJXpWBUXbUZK9cQFCaHg86+GwO442M4ebPcQ7ML4jnW2ug0OKpm0 PegQ== X-Gm-Message-State: AOAM530YLvJR0Ax7D3kFdJNs2jRRrFeVWIHsYIscqFYA479AhtyOKJM4 +fmxrMG3JaaEM0E4c7vqeh7sGcpHQBqAAA== X-Google-Smtp-Source: ABdhPJythxj9XHMhfFKGUcglPNGwfUch6RK8y/808oaVwOdHnxUr1xeStJo+nsnJZOCMSDP11/31jg== X-Received: by 2002:adf:ed42:: with SMTP id u2mr17758619wro.519.1643642021018; Mon, 31 Jan 2022 07:13:41 -0800 (PST) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id f5sm6101031wry.64.2022.01.31.07.13.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 31 Jan 2022 07:13:40 -0800 (PST) In-Reply-To: <877danm1ds.fsf@yahoo.com> Content-Language: en-US X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::430 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=raaahh@gmail.com; helo=mail-wr1-x430.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.248, NICE_REPLY_A=-0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:285682 Archived-At: On 26.01.2022 08:55, Po Lu wrote: > It would be opt-in behaviour, of course. I rather think it makes sense to make it opt-out: we should strive for consistent looks of fringes between ports, HiDPI included. Or to make it opt-in for all ports (NS and PGTK included), and then decide on the default based on the collective user feedback. Regarding fringes, I was going to suggest providing different scaled versions of bitmaps (which was already mentioned in this thread) -- having even two versions, 1x and 2x, should cover a lot of users -- but it seems like a half-measure that requires extra work from the bitmap authors. Before going to vector formats, could we try tweaking the scaling algorithm first? E.g. when the scaling is 2x (which seems popular enough), the bitmap could be "zoomed up" without any fuzziness. It could also be made customizable. Downscaling seems less lossier than upscaling as well, so if the scaling factor is 1.5x (for example), the bitmap can be "zoomed up" to 2x first, and then downscaled to 1.5x using bicubic interpolation or etc. IIUC Gnome Shell uses this approach to implement fractional scaling for its UI elements. Or if we were trying to pick an algorithm which can be found in some library, perhaps choose from one of these? https://en.wikipedia.org/wiki/Pixel-art_scaling_algorithms Starting with "nearest neighbor". I'm curious how it would look on the built-in bitmaps.