doomemacs/modules/ui
Henrik Lissner eb69073578
Fix infinite redrawing/freezing with {centaur,awesome}-tabs
Caused by over-zealous doom-switch-window-hook.

For my own sanity (and if you're curious), I'll break it down here:

1. Doom has a `doom-switch-window-hook` hook. It triggers when window
   focus is changed.
2. We use `buffer-list-update-hook` to trigger
   `doom-switch-window-hook`. (That may sound weird, but this hook is
   reliably executed when window focus is changed -- there are
   safeguards to prevent this from triggering too often)
3. `buffer-list-update-hook` triggers whenever a buffer is created, but
   `doom-switch-window-hook` only triggers if the created buffer is in
   a new window.
4. The use of `with-temp-buffer` in `centaur-tabs-line-format` counts as
   "buffer creation" in a "new window".
5. `+vc-gutter-update-h` is in `doom-switch-window-hook`. This refreshes
   git-gutter, which initiates a redraw of Emacs.
6. When Emacs redraws, it recalculates its mode and header lines. which
   triggers `doom-switch-window-hook` once, which triggers
   `+vc-gutter-update-h`, which redraws the screen, then Emacs recalculates
   the header line, running `centaur-tabs-line-format`...

Infinite loop ensues

Hopefully fixes:
- hlissner/doom-emacs#2436
- ema2159/centaur-tabs#18
- ema2159/centaur-tabs#88
2020-02-27 21:47:32 -05:00
..
deft Fix #2373: bring back package pinning 2020-01-25 19:02:00 -05:00
doom Bump to hlissner/emacs-doom-themes@ecffdf8 2020-02-24 22:31:50 -05:00
doom-dashboard ui/doom-dashboard: De-hardcode dashboard faces 2020-01-02 23:18:19 -05:00
doom-quit 💥 revise hook/var fns naming convention (2/2) 2019-07-22 02:30:38 +02:00
fill-column Fix #2373: bring back package pinning 2020-01-25 19:02:00 -05:00
hl-todo Fix #2373: bring back package pinning 2020-01-25 19:02:00 -05:00
hydra Fix #2373: bring back package pinning 2020-01-25 19:02:00 -05:00
indent-guides Fix #2373: bring back package pinning 2020-01-25 19:02:00 -05:00
modeline Bump to seagle0128/doom-modeline@41015d7 2020-02-24 20:09:10 -05:00
nav-flash Fix #2373: bring back package pinning 2020-01-25 19:02:00 -05:00
neotree Fix #2396: remove unnecessary neotree popup hacks 2020-01-26 05:00:58 -05:00
ophints Fix #2373: bring back package pinning 2020-01-25 19:02:00 -05:00
popup Fix conflict between :ui popup & org-src-window-setup 2020-02-25 13:36:18 -05:00
pretty-code Fix set-pretty-symbols! not merging properties w/ old rules 2020-01-04 04:55:57 -05:00
tabs Bump to ema2159/centaur-tabs@96b7c90 2020-02-21 19:57:12 -05:00
treemacs Fix #2613: remove treemacs-persp 2020-02-27 00:49:47 -05:00
unicode Fix #2373: bring back package pinning 2020-01-25 19:02:00 -05:00
vc-gutter Fix infinite redrawing/freezing with {centaur,awesome}-tabs 2020-02-27 21:47:32 -05:00
vi-tilde-fringe Fix #2373: bring back package pinning 2020-01-25 19:02:00 -05:00
window-select Revert aw-keys to default if +numbers is enabled 2020-02-22 20:40:03 -05:00
workspaces Prevent 'not in valid workspace' error on switch project 2020-02-25 14:13:07 -05:00
zen Adjust visual-fill-column after text scaling 2020-02-06 15:28:51 -05:00