For a couple of years now, there's been a bug on macOS with the
non-native fullscreen implementation. When enabling fullscreen, any
child-frames created by packages like lsp-ui, company-box, posframe,
etc. all re-appear on top of the fullscreened frame, and stay there
until you re-trigger whatever package/command that created the
childframe originally.
This works around this issue by simply closing all child frames when
toggling non-native fullscreen.
Uses the new nerd-icons package to display icons in various places
similar to all-the-icons. But it works in a terminal too as long as the
terminal is using a Nerd Font.
Trackpad momentum can often lead to emacs trying to resize font size by
thousands of points. Hence let's disable it, as font size changes are
easy enough via C-x C-- and C-x C-=.
Recent Emacs 27 builds use the native macOS fullscreen for the first
10-20 seconds after startup when `ns-use-native-fullscreen` is set to
nil during startup.
So instead of forcing emacs into fullscreen, just force maximize the
window on startup instead.