From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#51490: Show an indicator when Emacs is busy somewhere in the Emacs window Date: Thu, 22 Sep 2022 19:21:10 +0300 Message-ID: <83zgerqt1l.fsf@gnu.org> References: <87pmrtz1y7.fsf@gnus.org> <83pmrt1bsa.fsf@gnu.org> <87y26hxm8a.fsf@gnus.org> <87k0hvviiu.fsf@gnus.org> <87a6iqr8il.fsf@gnus.org> <87r107nmq7.fsf@gnus.org> <83y1uewa55.fsf@gnu.org> <87fsgl7zri.fsf@gnus.org> <83illhueuo.fsf@gnu.org> <87wn9x543a.fsf@gnus.org> <83bkr8vpwy.fsf@gnu.org> <87bkr8am4o.fsf@gnus.org> <834jx0vnam.fsf@gnu.org> <2d1b683c22a3585f038d@heytings.org> <83sfkku29t.fsf@gnu.org> <2d1b683c22d98c9cabd3@heytings.org> <83edw3udmh.fsf@gnu.org> <87pmfn7k7i.fsf@gnus.org> <83fsgjsi55.fsf@gnu.org> <831qs3sdz6.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27097"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, stefan@marxist.se, 51490@debbugs.gnu.org To: Gregory Heytings Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Sep 22 20:14:06 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1obQi6-0006u7-9B for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 22 Sep 2022 20:14:06 +0200 Original-Received: from localhost ([::1]:45032 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1obQi5-00080F-8c for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 22 Sep 2022 14:14:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52096) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1obOxe-0002VQ-QL for bug-gnu-emacs@gnu.org; Thu, 22 Sep 2022 12:22:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39272) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1obOxe-0003Bx-Gv for bug-gnu-emacs@gnu.org; Thu, 22 Sep 2022 12:22:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1obOxe-0002s9-BT for bug-gnu-emacs@gnu.org; Thu, 22 Sep 2022 12:22:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 22 Sep 2022 16:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51490 X-GNU-PR-Package: emacs Original-Received: via spool by 51490-submit@debbugs.gnu.org id=B51490.166386368110962 (code B ref 51490); Thu, 22 Sep 2022 16:22:02 +0000 Original-Received: (at 51490) by debbugs.gnu.org; 22 Sep 2022 16:21:21 +0000 Original-Received: from localhost ([127.0.0.1]:38340 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1obOwz-0002qj-AQ for submit@debbugs.gnu.org; Thu, 22 Sep 2022 12:21:21 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:59138) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1obOwq-0002qQ-UP for 51490@debbugs.gnu.org; Thu, 22 Sep 2022 12:21:20 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:39380) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1obOwk-00033a-6B; Thu, 22 Sep 2022 12:21:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=/3chgF/m4zoN2assKsUBkZm+4wp3mxGhP1xXXnVA0vk=; b=ltzYc+6tL6Lm IscNoXYAtgAIWsGu23uDzyLAnz6/quGbTzb+TdrGTckBJa9MU98F+3W9QK/AiLHa+iDaQ3ImwhdRK JEOjxB1oTrJhXw0i+CI02kLxp87xETbS2rg1ZGsXL1IwIi3FpKgi9Vbkq5x65b6nqduEcFm/JZ4J1 14XrRNK73ghYvtSEOR0ZhT0DqAahnUknr1B1ZD0YHqRA75R2dGX6azFwEB2AgwNeqTiJKhSGKtcRm aid1wf5vqq8P2CDH/lb8ICO9st/Pj304UmIq8iuGJqu1CO/efzrWKlWenXG5w25HmiLQXV41FFw35 isX8SV9r8/RQLcLei46Mew==; Original-Received: from [87.69.77.57] (port=2088 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1obOwe-000739-0z; Thu, 22 Sep 2022 12:21:05 -0400 In-Reply-To: (message from Gregory Heytings on Thu, 22 Sep 2022 15:57:04 +0000) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:243431 Archived-At: > Date: Thu, 22 Sep 2022 15:57:04 +0000 > From: Gregory Heytings > cc: larsi@gnus.org, stefan@marxist.se, 51490@debbugs.gnu.org > > >> I'm thinking aloud here, sorry if it isn't useful. But I think we have > >> at least one similar occurrence: XTflash. > > > > Which part of it seemed similar to what is being discussed here? > > The fact that a portion of the frame is modified without a complete > redisplay of the frame, through primitive drawing functions? Am I missing > something? Would it not be possible to draw a busy indicator at a fixed > position of the frame with XDrawRectangle for the background, followed by > XDrawPoints for the foreground? It should be possible, yes. I just said that we don't have such an infrastructure yet, it needs to be written first. When someone does write it, they will have to deal with the issue of what kind of drawing do we allow there; for example, a 1-pixel line is easy, but is unlikely to be visually appealing. And the main problem this will have to solve is this: whatever you draw behind the back of the display engine will run the risk of being wiped out when the next redisplay cycle kicks in. XTflash doesn't have that problem because it is invoked from Lisp, not from an async signal handler. > >> or decide to do something different and use a specific function to set > >> these two colors without going through the whole face machinery, > >> something like (set-busy-indicator-colors FOREGROUND BACKGROUND). > > > > As soon as we allow set-busy-indicator-colors or somesuch, we have a > > problem with Lisp programs doing that exactly when there's time to > > redraw the indicator. > > We could specify that set-busy-indicator-colors is only meant to be used > in init files, for example. Good luck with getting that past our users!