Is the top row (menu, etc) customisable or is it fixed? Below is the screenshot of my top row (I don't know the correct term). Since it is long, I wrapped it in multiple rows, but they are actually one row. 

There are I do not need, at least so far, like the "Scene", "View Layer", or the Blender icon button. And there is an empty area. But it is missing some button I would like to have. For example, I would like to have a button to "Toggle Window Fullscreen", or a button to minimise the window (when Blender is in Fullscreen, that button will be useful).

Can I add/remove things to/from the top row?
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")