|
169 | 169 | (random 3)))) |
170 | 170 | (setq buffer-read-only t))) |
171 | 171 |
|
172 | | -(defun fireplace--disable-minor-modes() |
| 172 | +(defun fireplace--disable-minor-modes () |
173 | 173 | "Disable minor modes that might affect rendering." |
174 | 174 | (switch-to-buffer fireplace-buffer-name) |
175 | 175 | (setq truncate-lines t |
176 | | - cursor nil |
| 176 | + cursor-type nil |
177 | 177 | show-trailing-whitespace nil |
178 | 178 | show-leading-whitespace nil |
179 | 179 | indicate-empty-lines nil) |
180 | 180 | (transient-mark-mode nil) |
181 | 181 | (buffer-disable-undo)) |
182 | 182 |
|
| 183 | +(defun fireplace--update-locals-vars () |
| 184 | + "Update `fireplace' local variables." |
| 185 | + (setq fireplace--bkgd-height (round (window-height (get-buffer-window fireplace-buffer-name))) |
| 186 | + fireplace--bkgd-width (round (window-width (get-buffer-window fireplace-buffer-name))) |
| 187 | + fireplace--flame-width (min fireplace--bkgd-height (round (/ fireplace--bkgd-width 2.5))) |
| 188 | + fireplace--flame-pos fireplace-flame-pos)) |
| 189 | + |
183 | 190 | ;; Commands |
184 | 191 | ;;;###autoload |
185 | 192 | (defun fireplace (arg) |
186 | 193 | "Light the fire." |
187 | 194 | (interactive "P") |
188 | 195 | (with-current-buffer (get-buffer-create fireplace-buffer-name) |
189 | | - (setq cursor-type nil) |
190 | | - (setq fireplace--bkgd-height (round (window-height (get-buffer-window fireplace-buffer-name))) |
191 | | - fireplace--bkgd-width (round (window-width (get-buffer-window fireplace-buffer-name))) |
192 | | - fireplace--flame-width (min fireplace--bkgd-height (round (/ fireplace--bkgd-width 2.5))) |
193 | | - fireplace--flame-pos fireplace-flame-pos) |
| 196 | + (fireplace--update-locals-vars) |
194 | 197 | (fireplace--make-grid) |
195 | 198 | (fireplace-mode) |
| 199 | + (add-hook 'window-size-change-functions 'fireplace--update-locals-vars) |
196 | 200 | (fireplace--disable-minor-modes) |
197 | 201 | (setq fireplace--timer |
198 | 202 | (run-with-timer 1 (- 1 fireplace-fury) |
|
201 | 205 | (defun fireplace-off () |
202 | 206 | "Put out the fire." |
203 | 207 | (interactive) |
| 208 | + (remove-hook 'window-size-change-functions 'fireplace--update-locals-vars) |
204 | 209 | (when fireplace--timer |
205 | 210 | (cancel-timer fireplace--timer) |
206 | 211 | (kill-buffer fireplace-buffer-name))) |
|
0 commit comments