@@ -110,7 +110,7 @@ function makeEditMenu(): Electron.MenuItemConstructorOptions[] {
110110 ] ;
111111}
112112
113- function makeFileMenu ( numWaveWindows : number , callbacks : AppMenuCallbacks ) : Electron . MenuItemConstructorOptions [ ] {
113+ function makeFileMenu ( numWaveWindows : number , callbacks : AppMenuCallbacks , fullConfig : FullConfigType ) : Electron . MenuItemConstructorOptions [ ] {
114114 const fileMenu : Electron . MenuItemConstructorOptions [ ] = [
115115 {
116116 label : "New Window" ,
@@ -125,7 +125,8 @@ function makeFileMenu(numWaveWindows: number, callbacks: AppMenuCallbacks): Elec
125125 } ,
126126 } ,
127127 ] ;
128- if ( isDev ) {
128+ const featureWaveAppBuilder = fullConfig ?. settings ?. [ "feature:waveappbuilder" ] ;
129+ if ( isDev || featureWaveAppBuilder ) {
129130 fileMenu . splice ( 1 , 0 , {
130131 label : "New WaveApp Builder Window" ,
131132 accelerator : unamePlatform === "darwin" ? "Command+Shift+B" : "Alt+Shift+B" ,
@@ -310,18 +311,19 @@ function makeViewMenu(
310311async function makeFullAppMenu ( callbacks : AppMenuCallbacks , workspaceOrBuilderId ?: string ) : Promise < Electron . Menu > {
311312 const numWaveWindows = getAllWaveWindows ( ) . length ;
312313 const webContents = workspaceOrBuilderId && getWebContentsByWorkspaceOrBuilderId ( workspaceOrBuilderId ) ;
313- const fileMenu = makeFileMenu ( numWaveWindows , callbacks ) ;
314314 const appMenuItems = makeAppMenuItems ( webContents ) ;
315315 const editMenu = makeEditMenu ( ) ;
316316
317317 const isBuilderWindowFocused = focusedBuilderWindow != null ;
318318 let fullscreenOnLaunch = false ;
319+ let fullConfig : FullConfigType = null ;
319320 try {
320- const fullConfig = await RpcApi . GetFullConfigCommand ( ElectronWshClient ) ;
321+ fullConfig = await RpcApi . GetFullConfigCommand ( ElectronWshClient ) ;
321322 fullscreenOnLaunch = fullConfig ?. settings [ "window:fullscreenonlaunch" ] ;
322323 } catch ( e ) {
323- console . error ( "Error fetching fullscreen launch config:" , e ) ;
324+ console . error ( "Error fetching config:" , e ) ;
324325 }
326+ const fileMenu = makeFileMenu ( numWaveWindows , callbacks , fullConfig ) ;
325327 const viewMenu = makeViewMenu ( webContents , callbacks , isBuilderWindowFocused , fullscreenOnLaunch ) ;
326328 let workspaceMenu : Electron . MenuItemConstructorOptions [ ] = null ;
327329 try {
0 commit comments