Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
* new func: gnus-group-list-more-groups
@ 2008-01-29 18:30 Walt Buehring
  2008-02-14 19:49 ` Reiner Steib
  0 siblings, 1 reply; 2+ messages in thread
From: Walt Buehring @ 2008-01-29 18:30 UTC (permalink / raw)
  To: info-gnus-english

Been making more use of group levels lately and thought it would be
awfully nice if "L" (normally gnus-group-list-all-groups) would
instead progressively increase the listing level in steps.  That is,
determine the currently listed level and bump it to display more.

Below is a poor implementation of the idea (with level bumps hardcoded
in a case stmt).  As a side benefit it also raises the activation
level once gnus-activate-level is exceeded - which is nice.(?)

-W


(defun gnus-group-list-more-groups (&optional arg)
  "Progressively list additional groups at increasing levels.
With arg, only list groups with level ARG or lower."
  (interactive "P")
  (if arg
      (gnus-group-list-groups arg t)
    ;; determine the max level group currently displayed
    (let ((maxlevel 0)
	  glevel newlevel)
      (save-excursion
	(goto-char (point-min))
	(while (not (eobp))
	  (setq glevel (or (get-text-property (point) 'gnus-level) 0)
		maxlevel (max glevel maxlevel))
	  (forward-line 1)))
      ;; choose next level in progression
      (setq newlevel (case maxlevel
		       (2 3)
		       (3 5)
		       (5 6)
		       (t 9)))
      ;; activate at new level if appropriate
      (when (> newlevel gnus-activate-level)
	(let ((gnus-activate-level newlevel)
	      (gnus-activate-foreign-newsgroups newlevel))
		(gnus-group-get-new-news newlevel)))
      (gnus-group-list-groups newlevel t))))

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-02-14 19:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-29 18:30 new func: gnus-group-list-more-groups Walt Buehring
2008-02-14 19:49 ` Reiner Steib

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).