From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: Hope tabulated-list header can be moved via horizontal-scroll-bar Date: Thu, 20 Jun 2024 19:23:14 +0300 Organization: LINKOV.NET Message-ID: <868qyzzk2h.fsf@mail.linkov.net> References: <86le30nr00.fsf@gnu.org> <86ed8s170i.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27251"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) Cc: Siyuan Chen , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Jun 20 18:43:16 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 1sKKsV-0006q2-3m for ged-emacs-devel@m.gmane-mx.org; Thu, 20 Jun 2024 18:43:15 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sKKrk-0006vc-7A; Thu, 20 Jun 2024 12:42:28 -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 1sKKrg-0006vF-Hv for emacs-devel@gnu.org; Thu, 20 Jun 2024 12:42:24 -0400 Original-Received: from relay8-d.mail.gandi.net ([217.70.183.201]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sKKrd-0006BR-6L; Thu, 20 Jun 2024 12:42:23 -0400 Original-Received: by mail.gandi.net (Postfix) with ESMTPSA id 9384A1BF204; Thu, 20 Jun 2024 16:42:14 +0000 (UTC) In-Reply-To: <86ed8s170i.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 20 Jun 2024 09:46:57 +0300") X-GND-Sasl: juri@linkov.net Received-SPF: pass client-ip=217.70.183.201; envelope-from=juri@linkov.net; helo=relay8-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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:320330 Archived-At: >>> Emacs tabulated-list is very similar to dataGridView control in WinForm, but the list header can not be moved >>> via horizontal-scroll-bar, which prevents some tabulated-lists (that have many columns) from being placed on >>> the side bar. >>> >>> Hope tabulated-list header can be moved via horizontal-scroll-bar in the future or anyone know about >>> alternatives? >> >> This needs to be implemented in the display code. Currently, mode >> line and header line are not scrolled horizontally with the text >> (header line is the basis for implementation of tabulated-lists). >> Conceptually, scrolling in Emacs moves the viewport, not the text, and >> header line is considered to be part of the viewport. >> >> If we do implement that, it should probably be a special minor mode, >> since not every header line should scroll with the text. Patches >> welcome. > > 'proced' can scroll the header line. Actually 'proced' relies on the hack in 'proced-header-line' that subtracts the amount of 'window-hscroll' columns. Apparently this line (add-hook 'post-command-hook #'force-mode-line-update nil t) ;; FIXME: Why? was intended to update the header-line after horizontal scrolling, but it works correctly even without this hook. BTW, there is an obsolete function 'tabulated-list-window-scroll-function', but probably it's unrelated.