>Believe it or not, full screen apps are a Windows thing.
Nope. It’s just that maximizing—single action to expand a window the whole screen minus the OS docks/taskbars—is present in every widely used OS except for Mac OS.
>they haven’t let go of the idea that all apps need to use the whole screen at all times
Not sure where you’re getting “at all times” from. Windows and Linux desktops all easily support having windows take up less than the whole screen. In fact, it’s easier than in Mac OS because of window snapping to sides and corners. It’s only that Mac OS makes it very clumsy to get the effect that maximizing has on every other OS.
Single-click maximizes to the content size.
Option-click maximizes to full screen minus menu bar and desktop volume icons.
Apps like games and screen savers don't seem top have trouble covering up the entire desktop and menu bar.
I prefer it to the current macOS Finder where zooming covers up the menu bar and desktop volume icons, and where there doesn't seem to be an easy way to zoom to content.
Most 21st desktop UIs are, to a greater or a lesser degree, Windows ripoffs. Most of Win95 or later, but sometimes you can trace a specific version -- e.g. KDE apes Windows 98 in program design as well as function.
(Rendering filer window contents as HTML before displaying them using the browser engine: this was designed by Microsoft to evade prosecution by the US DOJ for anticompetitive bundling of IE with Windows. It tried to claim that IE was integral by, for example, rejigging Explorer to render using IE. The Win 95 and 95B versions do not do it; nor did NT 4 at launch.)
If you believe that all GUIs do this, that suggests that the only desktop GUIs you've seen are ones that are copies of the Windows design.
To the best of my ability to recall that long ago, before Windows 3 and OS/2, most GUIs didn't have a maximise function.
Examples: AmigaOS; DR GEM; classic MacOS; Sun OpenLook; Acorn RISC OS.
Later versions of HyperCard let you choose the size of the window. Various extensions would let you use a borderless window for the stack, and put a big black window behind it covering the rest of the screen.
The Motorola 68000 does not have a barrel shifter. You want to shift by 4 bits? That’s four cycles, buddy! Avoiding shifts keeps you on the fast path for CopyBits().
Later on, there was DrawSprocket. It solved the problem of figuring out how to do “portable” and “fast” at the same time, and let you use features like page flipping, if the hardware supported it (saving you the call to CopyBits).
I read somewhere that the reason Apple finally added full-screen support to macOS (back then OS X), wasn't because of the Windows switchers. It was to get a bit more real estate out of the MacBook Air's small screen size.
And iOS. Funny, that!