Skip to content

Commit 254018d

Browse files
author
Zachary Rogers
committed
Made Ensemble Timer gain focus when switching.
1 parent c9c80c2 commit 254018d

4 files changed

Lines changed: 17 additions & 9 deletions

File tree

electron/communicationBridge/customCommandReceiver.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { BrowserWindow, screen, ipcMain } from 'electron';
22
import { customCommandChannelName } from './constants';
3+
import { app } from 'electron';
34

45
export function createCustomCommandReceiver({
56
window,
@@ -18,6 +19,9 @@ export function createCustomCommandReceiver({
1819
case 'move-window-to-opposite-corner':
1920
moveWindowToOppositeCorner({ window });
2021
break;
22+
case 'focus':
23+
focus();
24+
break;
2125
default:
2226
console.warn('UH OH no command found for: ', message);
2327
break;
@@ -60,3 +64,7 @@ function toggleMaximize({ window }: { window: BrowserWindow }) {
6064
window.maximize();
6165
}
6266
}
67+
68+
function focus() {
69+
app.focus({ steal: true });
70+
}

src/pages/EditEnsemble.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ import { Button } from '@/components/ui/button';
2121
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
2222
import { BreakProgress } from '@/components/BreakProgress';
2323
import { Separator } from '@/components/ui/separator';
24+
import { sendMessage } from '@/communicationBridge/rendererCommunicationBridge';
25+
import { customCommandChannelName } from '../../electron/communicationBridge/constants';
2426

2527
export function EditEnsemble() {
2628
useEffect(() => {
2729
RendererWindowBrowser.setOpacity(1.0);
30+
sendMessage({ channel: customCommandChannelName, message: 'focus' });
2831
RendererWindowBrowser.maximize();
2932
RendererWindowBrowser.setAlwaysOnTop(false);
30-
RendererWindowBrowser.focus();
31-
RendererWindowBrowser.moveTop();
32-
RendererWindowBrowser.setIgnoreMouseEvents(false);
3333
}, []);
3434

3535
const { startProgramming } = useAppStore((state) => ({

src/pages/Handoff.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { RendererWindowBrowser } from '@/communicationBridge/fakeWindowBrowser';
2+
import { sendMessage } from '@/communicationBridge/rendererCommunicationBridge';
23
import { BreakProgress } from '@/components/BreakProgress';
34
import { Settings } from '@/components/Settings';
45
import {
@@ -15,16 +16,15 @@ import {
1516
getCurrentNavigator,
1617
useAppStore,
1718
} from '@/state.ts/defaultState';
19+
import { customCommandChannelName } from '../../electron/communicationBridge/constants';
1820
import { useEffect } from 'react';
1921

2022
export function Handoff() {
2123
useEffect(() => {
2224
RendererWindowBrowser.setOpacity(1.0);
25+
sendMessage({ channel: customCommandChannelName, message: 'focus' });
2326
RendererWindowBrowser.maximize();
2427
RendererWindowBrowser.setAlwaysOnTop(false);
25-
RendererWindowBrowser.focus();
26-
RendererWindowBrowser.moveTop();
27-
RendererWindowBrowser.setIgnoreMouseEvents(false);
2828
}, []);
2929

3030
const {

src/pages/WantABreak.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import { RendererWindowBrowser } from '@/communicationBridge/fakeWindowBrowser';
2+
import { sendMessage } from '@/communicationBridge/rendererCommunicationBridge';
23
import { Settings } from '@/components/Settings';
34
import { CoffeeIcon } from '@/components/icons/icons';
45
import { Button } from '@/components/ui/button';
56
import { useAppStore } from '@/state.ts/defaultState';
7+
import { customCommandChannelName } from '../../electron/communicationBridge/constants';
68
import { useEffect } from 'react';
79

810
export function WantABreak() {
911
useEffect(() => {
1012
RendererWindowBrowser.setOpacity(1.0);
13+
sendMessage({ channel: customCommandChannelName, message: 'focus' });
1114
RendererWindowBrowser.maximize();
1215
RendererWindowBrowser.setAlwaysOnTop(false);
13-
RendererWindowBrowser.focus();
14-
RendererWindowBrowser.moveTop();
15-
RendererWindowBrowser.setIgnoreMouseEvents(false);
1616
}, []);
1717

1818
const { takeBreak, skipBreak } = useAppStore((state) => ({

0 commit comments

Comments
 (0)