Skip to content

Commit 2d0af23

Browse files
committed
feat: save zoom factor pref
1 parent 74f7a55 commit 2d0af23

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

electron/main/app.ts

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import type { IpcController } from './ipc';
77
import { newIpcController } from './ipc';
88
import { createLogger } from './logger';
99
import { initializeMenu } from './menu';
10+
import { PreferenceKey, Preferences } from './preference';
1011
import type { Dispatcher } from './types';
1112

1213
app.setName('Phoenix');
@@ -84,6 +85,9 @@ const createMainWindow = async (): Promise<void> => {
8485
},
8586
});
8687

88+
const zoomFactor = await Preferences.get(PreferenceKey.WINDOW_ZOOM_FACTOR);
89+
mainWindow.webContents.setZoomFactor(zoomFactor ?? 1);
90+
8791
// Once the window has finished loading, show it.
8892
mainWindow.webContents.once('did-finish-load', () => {
8993
logger.debug('showing main window');

electron/main/menu/menu.ts

+8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { BrowserWindow, MenuItemConstructorOptions } from 'electron';
22
import { Menu, app, shell } from 'electron';
33
import { runInBackground } from '../../common/async';
4+
import { PreferenceKey, Preferences } from '../preference';
45

56
/**
67
* Inspired by RedisInsight
@@ -34,6 +35,12 @@ function getMenuTemplate(
3435
: buildDefaultTemplate(window);
3536
}
3637

38+
const saveZoomFactorPreference = (zoomFactor: number) => {
39+
runInBackground(async () => {
40+
await Preferences.set(PreferenceKey.WINDOW_ZOOM_FACTOR, zoomFactor);
41+
});
42+
};
43+
3744
/**
3845
* Gets the current zoom factor of the window.
3946
* Returns a value between 0 < zoomFactor <= 1
@@ -48,6 +55,7 @@ function getZoomFactor(window: BrowserWindow): number {
4855
*/
4956
function setZoomFactor(window: BrowserWindow, zoomFactor: number): void {
5057
window.webContents.setZoomFactor(zoomFactor);
58+
saveZoomFactorPreference(zoomFactor);
5159
}
5260

5361
function resetZoomFactor(window: BrowserWindow): void {

0 commit comments

Comments
 (0)