This might come handy later on... I'll test it asap, Thanks. Chris Am Donnerstag, den 27.08.2009, 13:20 -0500 schrieb Jeremy Hankins: > Christopher Roy Bratusek <zanghar freenet de> writes: > > Am Donnerstag, den 27.08.2009, 11:50 -0500 schrieb Jeremy Hankins: > > >> I have a few other hacks: > >> - a matcher to keep a window lined up with a corner > > > > hmm.. could you gimme a more detailed description of that? > > Sure. I can specify a corner that I want a window to be in -- e.g., > lower-right. Then it's kept in that spot even if it resizes. It also > enforces viewport-sticky. I use it for my pager; even if the pager > grows or shrinks (i.e., when using dynamic viewports) the pager stays > where it belongs. > > It's short enough: > > ----------------------------------- > (define (corner-window-handler w) > "Ensure that windows with the 'corner property set stay aligned in > the appropriate corner." > (let* ((corner (window-get w 'corner)) > (size (window-frame-dimensions w)) > (position (window-position w)) > (target (cond ((eq corner 'upper-left) > '(0 . 0)) > ((eq corner 'upper-right) > (cons (- (screen-width) (car size)) 0)) > ((eq corner 'lower-left) > (cons 0 (- (screen-height) (cdr size)))) > ((eq corner 'lower-right) > (cons (- (screen-width) (car size)) > (- (screen-height) (cdr size)))) > (t nil)))) > (when target > (when (not (window-sticky-p/viewport w)) > (make-window-sticky/viewport w)) > (when (not (equal target position)) > (move-window-to w (car target) (cdr target)))))) > > (add-hook 'window-resized-hook corner-window-handler) > (add-hook 'map-notify-hook corner-window-handler) > ----------------------------------- >
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil