If you haven’t noticed from all my grumpiness, I recently moved from Nicaragua, where I had two massive 30 inch monitors, arranged in portrait mode, that I wrote on. I liked ‘em.
I’ve had to move back to using a laptop with a secondary display, both in landscape mode, which means that I can’t see a whole page of text.
With either screen formatted in 80 columns in a font I can read comfortably… I have about 30% of each screen’s space horizontally left over for something else, like chat or my agenda… anything, other than ads! Something, productive… whatever it may be.
I’d written some elisp a couple years ago that made chatting with multiple people inside of Emac’s ERC client work better in landscape mode, which I just I sat down and dug up:
<p>(defvar last-split-type t)</p> <p>(defun split-window-p () “Determine if a window can be split” (interactive) (if (> 5 (window-height)) t))</p> <p>(defun split-window-sanely () “SPLIT A WINDOW SANELY” (interactive) (if last-split-type (progn (setq last-split-type (not last-split-type)) ;; globals bad! FIXME (split-window-horizontally)) (if (split-window-p) (split-window) (progn (select-window (get-largest-window)) ;; or get-lru-window (split-window) ;; If we can’t succeed, just keep erroring out ) )))</p> <p>;; Tile all servers</p> <p>(defun erc-arrange-session-sanely () “Open a window for every non-server buffer related to `erc-session-server’. All windows are opened in the current frame.” (interactive) (unless erc-server-process (error “No erc-server-process found in current buffer”)) (let ((bufs (erc-buffer-list nil erc-server-process))) (when bufs (delete-other-windows) (setq last-split-type t) (switch-to-buffer (car bufs)) (setq bufs (cdr bufs)) (while bufs (split-window-sanely) ;; (other-window 1) ;; with this we get a lovely spiral on bottom right ;; (other-window) ;; with this we get a lovely spiral on top left (switch-to-buffer (car bufs)) (setq bufs (cdr bufs)) (balance-windows)) (balance-windows))))</p>
What I mostly want right now is the tiling facility I get out of the awesome window manager where you can have a primary window (eating 80 columns!) and two or more secondaries, of any application.
The above piece of code helps a bit, but I’m strongly thinking I’m going to end up turning the darn laptop on its side again. Eventually I hope to pair up a pad of some kind - velcroed in portrait mode to the wall - and a GOOD keyboard, and get off the laptop entirely.
(My dream of switching to working on a pad, whenever a good android based one ships, is in part, why I am so vigorously exploring low resource organizational systems like ikiwiki.
Emacs works JUST great on a 1.2Ghz Arm box - and I look forward, very much, to the day where I don’t have to listen to a fan all day and still be able to write, code, and work.
I can’t really wrap my brain around elisp today. There’s too much C in my head.