@@ -58,6 +58,7 @@ class WindowManager {
5858 private static _instance : WindowManager ;
5959 private panelHeight = storage . get ( ) . app . panelHeight ;
6060 private enableColorSpaceSrgbWasChanged = false ;
61+ private disableThemesChanged = false ;
6162 private figmaUserIDs : string [ ] = [ ] ;
6263
6364 private constructor ( ) {
@@ -112,9 +113,11 @@ class WindowManager {
112113 this . updateThemes ( ) ;
113114 } ) ;
114115
115- getThemeById ( ) . then ( theme => {
116- this . currentTheme = theme ;
117- } ) ;
116+ if ( ! storage . get ( ) . app . disableThemes ) {
117+ getThemeById ( ) . then ( theme => {
118+ this . currentTheme = theme ;
119+ } ) ;
120+ }
118121
119122 this . updatePanelScale ( this . panelScale ) ;
120123 }
@@ -356,7 +359,7 @@ class WindowManager {
356359 return ;
357360 }
358361
359- tab . view . webContents . session . setPermissionRequestHandler ( ( webContents , permission , cb ) => {
362+ tab . view . webContents . session . setPermissionRequestHandler ( ( _ , permission , cb ) => {
360363 const id = dialogs . showMessageBoxSync ( {
361364 type : "question" ,
362365 title : "Figma" ,
@@ -383,16 +386,16 @@ class WindowManager {
383386
384387 this . mainWindow . webContents . send ( "setIsInVoiceCall" , { id : tab . view . webContents . id , isInVoiceCall } ) ;
385388 } ) ;
386- E . ipcMain . on ( "setWorkspaceName" , ( event , name ) => {
389+ E . ipcMain . on ( "setWorkspaceName" , ( _ , name ) => {
387390 logger . info ( "The setWorkspaceName not implemented, workspaceName: " , name ) ;
388391 } ) ;
389- E . ipcMain . on ( "setFigjamEnabled" , ( event , enabled ) => {
392+ E . ipcMain . on ( "setFigjamEnabled" , ( _ , enabled ) => {
390393 logger . info ( "The setFigjamEnabled not implemented, enabled: " , enabled ) ;
391394 } ) ;
392- E . ipcMain . on ( "receiveTabs" , ( event , tabs ) => {
395+ E . ipcMain . on ( "receiveTabs" , ( _ , tabs ) => {
393396 this . tabs = tabs ;
394397 } ) ;
395- E . ipcMain . on ( "enableColorSpaceSrgbWasChanged" , ( event , enabled ) => {
398+ E . ipcMain . on ( "enableColorSpaceSrgbWasChanged" , ( _ , enabled ) => {
396399 const previousValue = storage . get ( ) . app . enableColorSpaceSrgb ;
397400
398401 if ( enabled === previousValue ) {
@@ -401,6 +404,15 @@ class WindowManager {
401404
402405 this . enableColorSpaceSrgbWasChanged = true ;
403406 } ) ;
407+ E . ipcMain . on ( "disableThemesChanged" , ( _ , enabled ) => {
408+ const previousValue = storage . get ( ) . app . disableThemes ;
409+
410+ if ( enabled === previousValue ) {
411+ return ;
412+ }
413+
414+ this . disableThemesChanged = true ;
415+ } ) ;
404416 E . ipcMain . on ( "closeSettingsView" , ( ) => {
405417 if ( ! this . settingsView ) {
406418 return ;
@@ -412,20 +424,38 @@ class WindowManager {
412424
413425 this . mainWindow . removeBrowserView ( this . settingsView ) ;
414426
427+ let id = 1 ;
415428 if ( this . enableColorSpaceSrgbWasChanged ) {
416- const id = dialogs . showMessageBoxSync ( {
429+ id = dialogs . showMessageBoxSync ( {
417430 type : "question" ,
418431 title : "Figma" ,
419432 message : "Restart to Change Color Space?" ,
420433 detail : `Figma needs to be restarted to change the color space.` ,
421434 textOkButton : "Restart" ,
422435 defaultFocusedButton : "Ok" ,
423436 } ) ;
437+ }
438+ if ( this . disableThemesChanged ) {
439+ let text = "Restart to disable themes?" ;
440+ const disableThemes = storage . get ( ) . app . disableThemes ;
424441
425- if ( ! id ) {
426- E . app . relaunch ( ) ;
427- E . app . quit ( ) ;
442+ if ( ! disableThemes ) {
443+ text = "Restart to enable themes?" ;
428444 }
445+
446+ id = dialogs . showMessageBoxSync ( {
447+ type : "question" ,
448+ title : "Figma" ,
449+ message : text ,
450+ detail : `Figma needs to be restarted to change use of themes.` ,
451+ textOkButton : "Restart" ,
452+ defaultFocusedButton : "Ok" ,
453+ } ) ;
454+ }
455+
456+ if ( ! id ) {
457+ E . app . relaunch ( ) ;
458+ E . app . quit ( ) ;
429459 }
430460
431461 this . destroyView ( this . settingsView ) ;
@@ -453,6 +483,10 @@ class WindowManager {
453483 this . mainWindow . webContents . send ( "updateVisibleNewProjectBtn" , visible ) ;
454484 } ) ;
455485 E . ipcMain . on ( "themes-change" , ( _ , theme ) => {
486+ if ( storage . get ( ) . app . disableThemes ) {
487+ return ;
488+ }
489+
456490 if ( theme . id === Const . TEST_THEME_ID ) {
457491 const testTheme = this . themes . find ( t => t . id === theme . id ) ;
458492
@@ -464,6 +498,10 @@ class WindowManager {
464498 this . changeTheme ( theme ) ;
465499 } ) ;
466500 E . ipcMain . on ( "set-default-theme" , ( ) => {
501+ if ( storage . get ( ) . app . disableThemes ) {
502+ return ;
503+ }
504+
467505 this . changeTheme ( Const . DEFAULT_THEME ) ;
468506 } ) ;
469507 E . ipcMain . on ( "saveCreatorTheme" , ( _ , theme ) => {
0 commit comments