From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Gerd_M=C3=B6llmann?= Newsgroups: gmane.emacs.devel Subject: Re: Q: child frames on ttys Date: Wed, 21 Aug 2024 10:38:49 +0200 Message-ID: References: <86ikvz302s.fsf@gnu.org> <132fd5ff-bcdf-4d93-acab-186e52f80d9a@gmx.at> <26111134-1d5a-4ddb-ba4c-b0a5891cbe0a@gmx.at> <87ttfethvd.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2802"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: martin rudalics , Eli Zaretskii , emacs-devel@gnu.org To: Robert Pluim Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Aug 21 10:39:48 2024 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 1sggse-0000dz-Pq for ged-emacs-devel@m.gmane-mx.org; Wed, 21 Aug 2024 10:39:48 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sggrp-0006zd-2L; Wed, 21 Aug 2024 04:38:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sggrn-0006rn-7J for emacs-devel@gnu.org; Wed, 21 Aug 2024 04:38:55 -0400 Original-Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sggrl-00064W-Fh; Wed, 21 Aug 2024 04:38:54 -0400 Original-Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-a7d89bb07e7so668620866b.3; Wed, 21 Aug 2024 01:38:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724229531; x=1724834331; darn=gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=18N5K+svk5T8mMOJDqqwzfeuxrelzHXQPyBKHYQxg7k=; b=U3IpLBJxn2ODzCtgBMFOG8Va3S6MqX6OIlLwjXVZI7ohFPQRuxx3YDxtSOMe/laXZi QpRd+fuS/hPRp526LG50twh+N4Vmps32vLLBX1dwoAWhUIomKiRXxgXmxqvc9cpg2C0S wQqAlDXNs+OlI9/euYzaYhAlQPrzfw+1J5UdZb2TOLnJRU20oWUTXpvY5COCI87oGWjb Q8sQLMPKjYWeTAu75ZKerIX839qehqKZwwf1gNoWhpCti5aB4pYK+kjyxsC2eOBKPu6S ubtVc0UmccbGg7Pr5lz9t0wMpeeyuSm8alfFNWKjKeGlmLahBU+VObxZzrfvEK78coES W/Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724229531; x=1724834331; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=18N5K+svk5T8mMOJDqqwzfeuxrelzHXQPyBKHYQxg7k=; b=QpSb9CLKF8P7XSuZ7uBGvsGsQUwkBUWwJUBGfgsBCKSEdoo8aKZrK3te/s0k01I21t ADgXregcDa/xCtHBVJflXe5YmSHkRe6Y+0xFRLzVnAciB9BNPAp8GbK2fTWa4jNeYu7Y bjj71Nzcwc8SV47hDceznk+ihRJhmHC5CCN9aqJsOb6kvVF1w6kxzQaalCiHpSvuhPJc KK6FYtYq9v38J95H3kx7nKSnukcRT7QDQ5nMguoeQ9e7tPbrYc4QJn00b0rtNQdhIkYH RMgX3FPcWNhR0dPS0P3ORJ3JiZHMk9k0A58p7B3iQ24cO9EMCtOZ5dpQRCKhpLp8/IUZ Nbow== X-Forwarded-Encrypted: i=1; AJvYcCWd3F+1e7bqDOsoVXi7cdJcIta+iGbJ4BuPaCFSOSkqwpGVqPMiwiZIvNbQg4BwY4Z1+Dip@gnu.org, AJvYcCXIYG2M2Mxrtwy7lM1fnd0SWyMTVKvO165e3iajcO9naMm7vmzCpIKdyeXCaiER8XuW4JYO3XHe15/sKOY=@gnu.org X-Gm-Message-State: AOJu0YyGDaSWwkDk9ypUKtteqU5uokt0sW70m9D+2LcJgbdONOKjnYbF gz3ORUmUai0Yvjh1fGv41IiblcVQA8EUdCq+H7djpjMYwYnmQdsvfYoRKA== X-Google-Smtp-Source: AGHT+IE2Six4GvrOGRD1K+iBzC5164CUnJyScULbvp137q/DRAJMfostCcofe1v0oSysfSSGnxU7/A== X-Received: by 2002:a17:906:f58a:b0:a7a:b0a0:ebdb with SMTP id a640c23a62f3a-a866f30e1c2mr113233366b.22.1724229531065; Wed, 21 Aug 2024 01:38:51 -0700 (PDT) Original-Received: from pro2.fritz.box (p4fe3ae30.dip0.t-ipconnect.de. [79.227.174.48]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a867d4221b8sm29753066b.9.2024.08.21.01.38.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Aug 2024 01:38:50 -0700 (PDT) In-Reply-To: <87ttfethvd.fsf@gmail.com> (Robert Pluim's message of "Wed, 21 Aug 2024 10:11:50 +0200") Received-SPF: pass client-ip=2a00:1450:4864:20::633; envelope-from=gerd.moellmann@gmail.com; helo=mail-ej1-x633.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:322995 Archived-At: Robert Pluim writes: >>>>>> On Wed, 21 Aug 2024 10:03:33 +0200, Gerd M=C3=B6llmann said: > >>=20 > >>> 6. Update: Build frame matrices for all windows visible on a term= inal. > >>> Copy visible parts of child fraem desired glyphs to root frame > >>> desired glyphs. Then write to the screen. > >>>=20 > >>> 7. After writing to the screen, copy visble parts of root frame > >>> current glyphs to current glyphs of children. > >>=20 > >> What does the current glyph matrix of the root frame contain now? = The > >> overwritten parts or the original ones? Or are the original parts > >> stashed away so they can be easily reused when the child frame is = made > >> invisible? > > Gerd> The curren matrix of the root frame must always reflect what is= on the > Gerd> screen, so that we can decide what to output to the terminal to= make the > Gerd> terminal display what the desired matrix says. IOW, the parts o= f the > Gerd> root frame's current matrix that were overwritten don't really > Gerd> interest anymore. > > Don=CA=BCt tty menus already do this? Perhaps we could reuse them. I think the tty menus work a bit different from what I'm thinking of. I must admit that I haven't looked very closely, and I'm just assuming that it works like what I've talked about with Eli a long time ago. If that's the case, menus panes temporarily save away some part of the matrix, and restore it when done with the eseentially modal interaction with the menu. Soemthing like that. I think it's a pretty different use case. The mechanism could in principle be used to pop something up on ttys of course, but that wouldn't help much with existing packages that use child frames already, like Corfu or Posframe.