From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "David De La Harpe Golden" Newsgroups: gmane.emacs.devel Subject: Re: Suggestion: A fringe indicator that shows the last/first line before scrolling Date: Fri, 29 Feb 2008 21:04:38 +0000 Message-ID: <8e24944a0802291304m281c72efx9e00a8923ace862a@mail.gmail.com> References: <8763w9mhdm.fsf@member.fsf.org> <8e24944a0802281001l7022dedfg19846275cba15ef0@mail.gmail.com> <47C6F9A5.5050406@gmail.com> <8e24944a0802281018v6804526yad1bd02191ede989@mail.gmail.com> <47C6FE9F.1060800@gmail.com> <8e24944a0802281518x19bcbfd5ndf2ce1ca55a77dc@mail.gmail.com> <8e24944a0802281850l28ab99fcrc92f02d0399630aa@mail.gmail.com> <8e24944a0802290957i12765c67y8433cae9e8a8f242@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_20968_29254239.1204319078515" X-Trace: ger.gmane.org 1204319153 28696 80.91.229.12 (29 Feb 2008 21:05:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 29 Feb 2008 21:05:53 +0000 (UTC) Cc: David O'Toole , "Lennart Borgman \(gmail\)" , emacs-devel@gnu.org To: "Stefan Monnier" , "Tassilo Horn" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 29 22:06:19 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JVCPy-0000oK-D6 for ged-emacs-devel@m.gmane.org; Fri, 29 Feb 2008 22:05:51 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JVCPR-0003WR-SR for ged-emacs-devel@m.gmane.org; Fri, 29 Feb 2008 16:04:49 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JVCPL-0003VR-CD for emacs-devel@gnu.org; Fri, 29 Feb 2008 16:04:43 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JVCPJ-0003VB-NY for emacs-devel@gnu.org; Fri, 29 Feb 2008 16:04:43 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JVCPJ-0003V7-La for emacs-devel@gnu.org; Fri, 29 Feb 2008 16:04:41 -0500 Original-Received: from gv-out-0910.google.com ([216.239.58.185]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JVCPJ-0007au-6X for emacs-devel@gnu.org; Fri, 29 Feb 2008 16:04:41 -0500 Original-Received: by gv-out-0910.google.com with SMTP id y18so2333047gvf.17 for ; Fri, 29 Feb 2008 13:04:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; bh=yF2awzr36pd8Fj2M6MeIIMnfr6UfQVNoHiaGHGuiFRk=; b=aa86qabh6HLbglB9P22Gbh6bI2+qFeTAGVWPjR1scr/wxaoMoQDVDTNgPdBE8ooVAsaABEjlx8Uq4nu8WwIhEtvSLLakT0db4sMSnYqdGxa5Tx+wSh3zNhHKEjwKBqzZiB1fjflsho1Pvc2l65m9F61aSHkcgDxGBY60c97tW+0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=tOQe71dfRc6scjrwJpqFzN1/FXq1AWsKhgqclw0jr2Lb8S1U5hj3VfGQKrY7vPSyK22aOdMZYFkR8rI0BVwsNvjFRbVg/QBSEXRePq1esunsUZImyGW5mglUTdEKh6KgiRXgHsqluNjBVb566spW2jI5Ny67EdanvviZUCczPhE= Original-Received: by 10.142.14.20 with SMTP id 20mr7324971wfn.2.1204319078520; Fri, 29 Feb 2008 13:04:38 -0800 (PST) Original-Received: by 10.142.111.4 with HTTP; Fri, 29 Feb 2008 13:04:38 -0800 (PST) In-Reply-To: <8e24944a0802290957i12765c67y8433cae9e8a8f242@mail.gmail.com> X-detected-kernel: by monty-python.gnu.org: Google Wireless Transcoder (1) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:90910 Archived-At: ------=_Part_20968_29254239.1204319078515 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline > I wanted to hide the > fringe marks conditionally while they align with the real window-start > and window-end (they're not useful then), Huh. Of course, what's an apparently viable workaround? Another idle timer! Yay! Version 2 attached - made it a global minor mode. Probably lots of issues, most major apart from previous mail's "am I using fringes and overlays right" question: really should use separate overlay for each window (maybe weak hash table needed, or is there a way to hang things off windows I've missed?), right now, only shows in current window, which is a pity because it'd probably be particularly nice for scroll-other-window situations. nongui terminals and gui terminals without fringes, could use alternate highlighting strategies I guess. If you scroll fast, then what's fringe marked is of course not the immediately preceding window position, but the one from when emacs was last idle. This is both desirable and undesirable, depending on whether you consider a series of consecutive scroll commands as one overall scroll operation or separate scroll operations, so not sure if should be fixed, maybe a post-command-hook could be used so that depending on user prefs, page-scrolling could fringe mark anew each time while scroll-bar-scrolling only after the lag, or whatever makes sense. ------=_Part_20968_29254239.1204319078515 Content-Type: text/x-emacs-lisp; name=show-old-window-pos.el Content-Transfer-Encoding: base64 X-Attachment-Id: f_fd986r0z Content-Disposition: attachment; filename=show-old-window-pos.el Ozs7IHNob3ctb2xkLXdpbmRvdy1wb3MuZWwgLS0tIFNob3cgb2xkIHdpbmRvdyBwb3NpdGlvbiBp biBidWZmZXIgYWZ0ZXIgY2hhbmdlcy4KCjs7IFZlcnNpb246IDIKCihkZWZncm91cCBzaG93LW9s ZC13aW5kb3ctcG9zIG5pbAogICJJbmRpY2F0ZSB0aGUgb2xkIHdpbmRvdyBwb3NpdGlvbiBmb3Ig YSBiaXQgd2hlbiBzY3JvbGxpbmcuIgogIDp2ZXJzaW9uICIyMy4xIgogIDpncm91cCAnd2luZG93 cykKCihkZWZmYWNlIHNob3ctb2xkLXdpbmRvdy1wb3MtZnJpbmdlIAogICcoKHQgKDpmb3JlZ3Jv dW5kICJjeWFuIikpKQogICJGYWNlIGZvciBvbGQgd2luZG93IHBvc2l0aW9uIGZyaW5nZSBtYXJr LiIKICA6Z3JvdXAgJ3Nob3ctb2xkLXdpbmRvdy1wb3MKICA6dmVyc2lvbiAiMjMuMSIpCgooZGVm Y3VzdG9tIHNob3ctb2xkLXdpbmRvdy1wb3MtbGluZ2VyLXRpbWUgMgogICJIb3cgbG9uZyB0aGUg ZnJpbmdlIG1hcmtzIHNob3dpbmcgb2xkIHdpbmRvdyBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaWJs ZSBmb3IuIgogIDp0eXBlICdpbnRlZ2VyCiAgOmdyb3VwICdzaG93LW9sZC13aW5kb3ctcG9zCiAg OnZlcnNpb24gIjIzLjEiKQoKKGRlZnZhciBzaG93LW9sZC13aW5kb3ctcG9zLW92ZXJsYXkgbmls KQoKKGRlZnVuIHNob3ctb2xkLXdpbmRvdy1wb3Mtb3ZlcmxheS11cGRhdGUtcG9zICgpCiAgKG9y IHNob3ctb2xkLXdpbmRvdy1wb3Mtb3ZlcmxheQogICAgICAoc2V0cSBzaG93LW9sZC13aW5kb3ct cG9zLW92ZXJsYXkgCgkgICAgKG1ha2Utb3ZlcmxheSAKCSAgICAgKHdpbmRvdy1zdGFydCkgCgkg ICAgICgtICh3aW5kb3ctZW5kKSAxKSAKCSAgICAgKHdpbmRvdy1idWZmZXIpKSkpCiAgKG1vdmUt b3ZlcmxheSBzaG93LW9sZC13aW5kb3ctcG9zLW92ZXJsYXkKCQkod2luZG93LXN0YXJ0KQoJCSgt ICh3aW5kb3ctZW5kKSAxKQoJCSh3aW5kb3ctYnVmZmVyKSkKICAoc2hvdy1vbGQtd2luZG93LXBv cy1vdmVybGF5LXNob3doaWRlKQogIChyZWRpc3BsYXkpKQoKKGRlZnVuIHNob3ctb2xkLXdpbmRv dy1wb3Mtb3ZlcmxheS1zaG93aGlkZSAoKQogICh3aGVuIHNob3ctb2xkLXdpbmRvdy1wb3Mtb3Zl cmxheQogICAgKGlmIChlcXVhbCAod2luZG93LXN0YXJ0KSAob3ZlcmxheS1zdGFydCBzaG93LW9s ZC13aW5kb3ctcG9zLW92ZXJsYXkpKQoJKG92ZXJsYXktcHV0IHNob3ctb2xkLXdpbmRvdy1wb3Mt b3ZlcmxheSAnYmVmb3JlLXN0cmluZyBuaWwpCiAgICAgIChvdmVybGF5LXB1dCBzaG93LW9sZC13 aW5kb3ctcG9zLW92ZXJsYXkgJ2JlZm9yZS1zdHJpbmcgCgkJICAgKGNvbmNhdAoJCSAgICAocHJv cGVydGl6ZSAiWyIgJ2Rpc3BsYXkgCgkJCQkobGlzdCAnbGVmdC1mcmluZ2UgJ3RvcC1sZWZ0LWFu Z2xlIAoJCQkJICAgICAgJ3Nob3ctb2xkLXdpbmRvdy1wb3MtZnJpbmdlKSkKCQkgICAgKHByb3Bl cnRpemUgIlsiICdkaXNwbGF5IAoJCQkJKGxpc3QgJ3JpZ2h0LWZyaW5nZSAndG9wLXJpZ2h0LWFu Z2xlIAoJCQkJICAgICAgJ3Nob3ctb2xkLXdpbmRvdy1wb3MtZnJpbmdlKSkpKSkKICAgIChpZiAo ZXF1YWwgKC0gKHdpbmRvdy1lbmQpIDEpIChvdmVybGF5LWVuZCBzaG93LW9sZC13aW5kb3ctcG9z LW92ZXJsYXkpKQoJKG92ZXJsYXktcHV0IHNob3ctb2xkLXdpbmRvdy1wb3Mtb3ZlcmxheSAnYWZ0 ZXItc3RyaW5nIG5pbCkKICAgICAgKG92ZXJsYXktcHV0IHNob3ctb2xkLXdpbmRvdy1wb3Mtb3Zl cmxheSAnYWZ0ZXItc3RyaW5nIAoJCSAgIChjb25jYXQKCQkgICAgKHByb3BlcnRpemUgIl0iICdk aXNwbGF5IAoJCQkJKGxpc3QgJ2xlZnQtZnJpbmdlICdib3R0b20tbGVmdC1hbmdsZSAKCQkJCSAg ICAgICdzaG93LW9sZC13aW5kb3ctcG9zLWZyaW5nZSkpCgkJICAgIChwcm9wZXJ0aXplICJdIiAn ZGlzcGxheSAKCQkJCShsaXN0ICdyaWdodC1mcmluZ2UgCgkJCQkgICAgICAnYm90dG9tLXJpZ2h0 LWFuZ2xlCgkJCQkgICAgICAnc2hvdy1vbGQtd2luZG93LXBvcy1mcmluZ2UpKSkpKSkpCgooZGVm aW5lLW1pbm9yLW1vZGUgc2hvdy1vbGQtd2luZG93LXBvcy1tb2RlCiAgIlRvZ2dsZSBzaG93LW9s ZC13aW5kb3ctcG9zLW1vZGUiCiAgOmdsb2JhbCB0CiAgOmdyb3VwICdzaG93LW9sZC13aW5kb3ct cG9zCiAgOmluaXQtdmFsdWUgbmlsCiAgKGlmIHNob3ctb2xkLXdpbmRvdy1wb3MtbW9kZQogICAg ICAocHJvZ24KCShydW4td2l0aC1pZGxlLXRpbWVyIDAgdCAnc2hvdy1vbGQtd2luZG93LXBvcy1v dmVybGF5LXNob3doaWRlKQoJKHJ1bi13aXRoLWlkbGUtdGltZXIgc2hvdy1vbGQtd2luZG93LXBv cy1saW5nZXItdGltZQoJCQkgICAgIHQgJ3Nob3ctb2xkLXdpbmRvdy1wb3Mtb3ZlcmxheS11cGRh dGUtcG9zKSkKICAgIChjYW5jZWwtZnVuY3Rpb24tdGltZXJzICdzaG93LW9sZC13aW5kb3ctcG9z LW92ZXJsYXktc2hvd2hpZGUpCiAgICAoY2FuY2VsLWZ1bmN0aW9uLXRpbWVycyAnc2hvdy1vbGQt d2luZG93LXBvcy1vdmVybGF5LXVwZGF0ZS1wb3MpCiAgICAoYW5kIHNob3ctb2xkLXdpbmRvdy1w b3Mtb3ZlcmxheQoJIChkZWxldGUtb3ZlcmxheSBzaG93LW9sZC13aW5kb3ctcG9zLW92ZXJsYXkp KSkpCgoocHJvdmlkZSAnc2hvdy1vbGQtd2luZG93LXBvcykKCg== ------=_Part_20968_29254239.1204319078515--