I've finally found an answer to this Q after wondering the same thing myself for many years. Warning that editing the file as described below can break an app (so it's smart to backup the original before you start editing it).
- Go to Applications and find the app you want to use in fullscreen mode
- Right click the app, then show package contents
- Open the
info.plist
file in a text editor, and add the following lines, supposedly all the<key>...</key>
elements need to be in alphabetical order, so you'll need to insert these in the correct place:
<key>LSUIPresentationMode</key>
<integer>3</integer>
- Save the file, and relaunch the app!
Note that there are 5 values (0 thru 4) you can use, they each have a different behavior.
- For example value 3 shown above will hide the menu and dock at all times, no matter where the mouse is. Changing to other values will change these behaviors.
- Note that whatever value you choose, the new behavior applies both in fullscreen mode AND in regular windowed mode, unfortunately I don't know a away to change this, but that is ok since the apps I use in fullscreen, I only use in fullscreen
Source: https://www.youtube.com/watch?v=4KjyVrsXzss (this describes what the other values do too)