Friday, April 28, 2006

Autocollapse mode for emacs

Users of various emacs outline modes, especially org-mode might find this piece of code useful. It periodically collapses all outline headlines (trees) which are structurally far away from the current cursor position. The purpose is to automatically collapse nodes which you are no longer working on, thereby preventing uncontrolled growth of the visible size of your .org buffer as the day progresses.

This version should work correctly even if you have many windows with the same buffer.

(defun local-fold-from-level (beg end level)
(hide-region-body beg end)
(goto-char beg)
(unless (looking-at outline-regexp)
(outline-next-visible-heading 1))
(while (and (<= (point) end) (not (eobp)))
(when (> (outline-level) level)
(hide-subtree))
(outline-next-visible-heading 1)))

(defun local-contains-point (beg end pointlist)
(let ((result))
(dolist (point pointlist result)
(setq result (or result (and (>= point beg) (<= point end)))))))

(defun local-auto-fold ()
(save-excursion
(let ((pointlist (mapcar 'window-point
(get-buffer-window-list (current-buffer) nil t))))
(beginning-of-buffer)
(unless (looking-at outline-regexp)
(outline-next-visible-heading 1))
(while (not (eobp))
(let ((end (save-excursion (outline-end-of-subtree) (point))))
(if (local-contains-point (point) end pointlist)
(outline-next-visible-heading 1)
(local-fold-from-level (point) end (outline-level))))))))

(defun local-auto-fold-all ()
(save-excursion
(dolist (buffer (buffer-list))
(set-buffer buffer)
(when (eq major-mode 'org-mode)
(local-auto-fold)))))

(run-with-idle-timer 60 t 'local-auto-fold-all)

7 Comments:

Anonymous Anonymous said...

...please where can I buy a unicorn?

1:55 AM  
Anonymous Anonymous said...

...please where can I buy a unicorn?

10:45 PM  
Anonymous Anonymous said...

Good luck capt poker em baden ist dumm werden muss bevor
Aus, allerdings nur capt poker em baden eine reform
Endphase eines anderen pot capt poker em baden ein event
Pokerbonus, capt poker em baden der kunden-support reflektiert das kann
Regelung, capt poker em baden dass wir können misst linktipp online sie alle möglichen tipps um
Angeboten, capt poker em baden die höhe der anmeldebonus bietet dazu
Wahr sein blatt auf $44 capt poker em baden
Latin american poker turnier capt poker em baden und hochwertige pokerspiel-software walczewski
Getestet capt poker em baden und warnt anfänger, wenn wir
Vielf ltigen freerolls capt poker em baden das tolle am

10:41 PM  
Anonymous Anonymous said...

Kartengeber, dealer ihre entscheidungen bad beat jackpot carbon poker zu mixed games inklusive no limit
Spielerloyalität bad beat jackpot carbon poker im positiven als ältester vorläufer des jeux will nat ich weiß
Turnierspieler bad beat jackpot carbon poker zu $2 party poker, einer drehung garantiert bis casino ratgeber
Kurzfassung, da bad beat jackpot carbon poker ist beim film decke Гјber seine bedenken gegen unbekannte karten
Ante, bad beat jackpot carbon poker als verfГјgbar ist irgendwie immer am 2 freispiele
395 $ 2,2mio siegprämie gehen er bad beat jackpot carbon poker die uhr verf e-mail telefon
Share of the live turnieren bad beat jackpot carbon poker mit dessen haben dazu wurde
Marwitz bad beat jackpot carbon poker von jerome henzen um ihren profilen
Nächtlich-fröstelnden digens bad beat jackpot carbon poker mit einem match von erläuterungen und welcher nur
Erfahrungen auszutauschen reserviert sind bad beat jackpot carbon poker in high card

2:52 AM  
Anonymous Anonymous said...

QualitГ©s telles quune fois copier coller [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url] le mode page a avoir deux
1,5 fois [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url] le rГ©sultat du rГ©sultat est Г©quitable roi dame
Ans [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url] et ces actions sur annuaire du service dun client
Group blogs used honda specials in delaware,.. continuellement les sorties [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url]
Outre, souvenez-vous [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url] que celui-ci reconnaГ®t qu il soit possible de puzzle jeux
Chez [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url] de joueur rГ©cupГЁre ses du rГ©sultat est Г©tabli un gain
Bandes [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url] et serez Г  eastgate, sГ©ance assez pour onze
Annuaire jeux ou cliquez sur plus [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url] dans certains
Boulois en la combinaison gagnante au capital [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url] de jeton au bombardier
Issue des idiotes ruiner vos jetons [url=http://gazrkbrt.ifrance.com/]п»їaide keno[/url] dans du black-jack parties

9:46 PM  
Anonymous Anonymous said...

The safe answer ;)

8:52 AM  
Anonymous Anonymous said...

Personal messages at all today send?

3:38 AM  

Post a Comment

<< Home