Is the top row (menu, etc) customisable or is it fixed?
Yes it is!.

Fortunately, there is a way to do that. :D

Before

After


The UI source code for the topbar is available in scripts/startup/bl_ui/space_topbar.py

As an example here I've quick and dirtily monkey patched a new draw method to the top bar.

import bpy

context = bpy.context

def draw(self, context):
    layout = self.layout
    layout.label(text="Taken OUT!")

bpy.types.TOPBAR_HT_upper_bar.draw = draw


Note can undo this by calling scripts reload

bpy.ops.script.reload()


in the python console.

Most UI is alterable this way.  Enable Developer Extras to be able to right click on any property in layout and view source to see UI code.

For example the layout for Toggle window fullscreen button is 

layout.operator("wm.window_fullscreen_toggle")