home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.cyberpunk.tech      Cyberpunks LOVE making shit complicated      1,115 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 810 of 1,115   
   luxhalitus to All   
   Small EMACS tidbits   
   01 Nov 25 21:39:31   
   
   From: luxhalitus@null.invalid   
      
   I read about people starting emacs further up the group, so i thought we   
   could share some of the custom code we run on our emacsen, something   
   more personal than the emacs wiki or people talking about which of 20   
   most popular packages they use.   
      
   Some of you might have heard about XEmacs. I occasionally run it for its   
   ada-mode, because every FSF-Emacs package for ada is broken. If you get   
   it to compile on your machine, you might notice new buffers being   
   arranged differently. Jamie Zawinski noticed as much in one of his   
   blogposts and loudly complained he couldn't get display-buffer-alist to   
   do his bidding. Below is my configuration, which comes close enough for   
   my liking.   
      
   What it basically does is more aggressively split windows and bump a   
   window being used by display-buffer. This consistently rotates the   
   unselected windows where buffers get replaced and even though it   
   slightly messes with the layout of Gnus, it works reasonably well   
   everywhere else. I even modified my slime to get multiple documentation   
   buffers side-by-side.   
      
   Without further ado, here is the code:   
      
   (defun buffer-in-selected-frame-p (buffer)   
     (when (get-buffer-window buffer (selected-frame))   
       t))   
      
   (defun window-splittable-in-frame-p (buffer)   
     (let ((window (seq-some   
                    (lambda (window)   
                      (when (and (or (window-splittable-p window)   
                                     (window-splittable-p window t))   
                                 (not (minibufferp (window-buffer window))))   
                        window))   
                    (window-list (selected-frame)))))   
       (window-bump-use-time window)   
       (when window   
         (split-window-sensibly window)   
         t)))   
      
   (setq display-buffer-alist '((buffer-in-selected-frame-p   
                                 (display-buffer-reuse-window))   
                                (window-splittable-in-frame-p   
                                 (display-buffer-use-least-recent-window)))   
         display-buffer-base-action '(display-buffer-use-least-recent-window)   
         split-height-threshold 60)   
      
   --   
    ,`>   
   ( (   
    `.>   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca