Emit isMaximized on window geometry change

This commit is contained in:
Labhansh Agrawal 2021-09-08 11:27:40 +05:30
parent 60d0927f85
commit cbe95a45ea
5 changed files with 8 additions and 11 deletions

View file

@ -221,7 +221,7 @@ export function newWindow(
// app buttons
for (const ev of ['maximize', 'unmaximize', 'minimize', 'restore'] as any) {
window.on(ev, () => {
rpc.emit('windowGeometry change', {});
rpc.emit('windowGeometry change', {isMaximized: window.isMaximized()});
});
}
window.on('move', () => {

View file

@ -102,9 +102,10 @@ export function setFontSmoothing() {
};
}
export function windowGeometryUpdated(): HyperActions {
export function windowGeometryUpdated({isMaximized}: {isMaximized: boolean}): HyperActions {
return {
type: UI_WINDOW_GEOMETRY_CHANGED
type: UI_WINDOW_GEOMETRY_CHANGED,
isMaximized
};
}

View file

@ -69,6 +69,7 @@ export interface UIWindowUnmaximizeAction {
}
export interface UIWindowGeometryChangedAction {
type: typeof UI_WINDOW_GEOMETRY_CHANGED;
isMaximized: boolean;
}
export interface UIOpenFileAction {
type: typeof UI_OPEN_FILE;

View file

@ -215,8 +215,8 @@ rpc.on('move', (window) => {
store_.dispatch(uiActions.windowMove(window));
});
rpc.on('windowGeometry change', () => {
store_.dispatch(uiActions.windowGeometryUpdated());
rpc.on('windowGeometry change', (data) => {
store_.dispatch(uiActions.windowGeometryUpdated(data));
});
rpc.on('add notification', ({text, url, dismissable}) => {

View file

@ -1,6 +1,3 @@
import {remote} from 'electron';
// TODO: Should be updates to new async API https://medium.com/@nornagon/electrons-remote-module-considered-harmful-70d69500f31
import Immutable, {Immutable as ImmutableType} from 'seamless-immutable';
import {decorateUIReducer} from '../utils/plugins';
import {CONFIG_LOAD, CONFIG_RELOAD} from '../constants/config';
@ -113,8 +110,6 @@ const initial: uiState = Immutable<Mutable<uiState>>({
disableLigatures: false
});
const currentWindow = remote.getCurrentWindow();
const reducer: IUiReducer = (state = initial, action) => {
let state_ = state;
let isMax;
@ -380,7 +375,7 @@ const reducer: IUiReducer = (state = initial, action) => {
break;
case UI_WINDOW_GEOMETRY_CHANGED:
isMax = currentWindow.isMaximized();
isMax = action.isMaximized;
if (state.maximized !== isMax) {
state_ = state.set('maximized', isMax);
}