@@ -29,6 +29,7 @@ let win = null, settingsWin = null, aboutWin = null, tourWin = null, floatingWin
29
29
newWindows = new Array , displays = null , hasMultiDisplays = null ,
30
30
isLoose = false , isScreenLocked = false ,
31
31
hasFloating = false ,
32
+ kioskInterval = null ,
32
33
store = null ;
33
34
let languageCodeList = [ 'en' , 'zh-CN' , 'zh-TW' ] //locale code
34
35
@@ -149,8 +150,17 @@ function relaunchSolution() {
149
150
150
151
function setFullScreenMode ( flag ) {
151
152
if ( win != null ) {
152
- if ( ! isLoose ) win . setKiosk ( flag ) ;
153
- else if ( process . platform == "darwin" ) win . setSimpleFullScreen ( flag ) ;
153
+ if ( ! isLoose ) {
154
+ win . setKiosk ( flag ) ;
155
+ if ( flag ) {
156
+ kioskInterval = setInterval ( function ( ) {
157
+ win . restore ( ) ;
158
+ win . show ( ) ;
159
+ win . moveTop ( ) ;
160
+ win . setKiosk ( true ) ;
161
+ } , 5000 ) ;
162
+ } else clearInterval ( kioskInterval ) ;
163
+ } else if ( process . platform == "darwin" ) win . setSimpleFullScreen ( flag ) ;
154
164
else win . setFullScreen ( flag ) ;
155
165
}
156
166
}
@@ -176,7 +186,7 @@ function addScreenSolution(windowNumber, display) {
176
186
if ( app . isPackaged ) newWindows [ windowNumber ] . setFocusable ( false ) ;
177
187
newWindows [ windowNumber ] . setFullScreen ( true ) ;
178
188
newWindows [ windowNumber ] . moveTop ( ) ;
179
- newWindows [ windowNumber ] . setAlwaysOnTop ( true ) ;
189
+ newWindows [ windowNumber ] . setAlwaysOnTop ( true , "floating" ) ;
180
190
}
181
191
function multiScreenSolution ( mode ) {
182
192
if ( app . isReady ( ) ) {
@@ -361,7 +371,7 @@ app.on('ready', () => {
361
371
if ( store . get ( "loose-mode" ) ) isLoose = true ;
362
372
363
373
if ( win != null ) {
364
- if ( store . get ( "top" ) == true ) win . setAlwaysOnTop ( true ) ;
374
+ if ( store . get ( "top" ) == true ) win . setAlwaysOnTop ( true , "floating" ) ;
365
375
else win . setAlwaysOnTop ( false ) ;
366
376
}
367
377
@@ -967,7 +977,7 @@ ipcMain.on('warning-giver-workend', function () {
967
977
if ( restTimeFocused != true ) win . show ( ) ;
968
978
win . center ( ) ;
969
979
win . flashFrame ( true ) ;
970
- if ( ! isLoose ) win . setAlwaysOnTop ( true ) ;
980
+ if ( ! isLoose ) win . setAlwaysOnTop ( true , "floating" ) ;
971
981
win . moveTop ( ) ;
972
982
if ( restTimeFocused == true ) {
973
983
if ( dockHide ) app . dock . show ( ) ; //prevent kiosk error, show in dock
@@ -1045,7 +1055,7 @@ ipcMain.on('warning-giver-restend', function () {
1045
1055
if ( workTimeFocused != true ) win . show ( ) ;
1046
1056
win . center ( ) ;
1047
1057
win . flashFrame ( true ) ;
1048
- win . setAlwaysOnTop ( true ) ;
1058
+ win . setAlwaysOnTop ( true , "floating" ) ;
1049
1059
win . moveTop ( ) ;
1050
1060
if ( workTimeFocused == true ) {
1051
1061
multiScreenSolution ( "on" ) ;
@@ -1123,7 +1133,7 @@ ipcMain.on('warning-giver-all-task-end', function () {
1123
1133
win . show ( ) ;
1124
1134
win . center ( ) ;
1125
1135
win . flashFrame ( true ) ;
1126
- win . setAlwaysOnTop ( true ) ;
1136
+ win . setAlwaysOnTop ( true , "floating" ) ;
1127
1137
win . moveTop ( ) ;
1128
1138
win . setProgressBar ( - 1 ) ;
1129
1139
if ( restTimeFocused == true ) {
@@ -1336,8 +1346,8 @@ function about() {
1336
1346
webPreferences : { nodeIntegration : true }
1337
1347
} ) ;
1338
1348
aboutWin . loadFile ( "about.html" ) ;
1339
- win . setAlwaysOnTop ( true ) ;
1340
- aboutWin . setAlwaysOnTop ( true ) ;
1349
+ win . setAlwaysOnTop ( true , "floating" ) ;
1350
+ aboutWin . setAlwaysOnTop ( true , "floating" ) ;
1341
1351
aboutWin . focus ( ) ;
1342
1352
aboutWin . once ( 'ready-to-show' , ( ) => {
1343
1353
aboutWin . show ( ) ;
@@ -1390,8 +1400,8 @@ function settings(mode) {
1390
1400
console . log ( e ) ;
1391
1401
}
1392
1402
settingsWin . loadFile ( "settings.html" ) ;
1393
- if ( app . isPackaged ) win . setAlwaysOnTop ( true ) ;
1394
- if ( app . isPackaged ) settingsWin . setAlwaysOnTop ( true ) ;
1403
+ if ( app . isPackaged ) win . setAlwaysOnTop ( true , "floating" ) ;
1404
+ if ( app . isPackaged ) settingsWin . setAlwaysOnTop ( true , "floating" ) ;
1395
1405
settingsWin . focus ( ) ;
1396
1406
settingsWin . once ( 'ready-to-show' , ( ) => {
1397
1407
settingsWin . show ( ) ;
@@ -1452,8 +1462,8 @@ function tourguide() {
1452
1462
webPreferences : { nodeIntegration : true }
1453
1463
} ) ;
1454
1464
tourWin . loadFile ( "tourguide.html" ) ;
1455
- win . setAlwaysOnTop ( true ) ;
1456
- tourWin . setAlwaysOnTop ( true ) ;
1465
+ win . setAlwaysOnTop ( true , "floating" ) ;
1466
+ tourWin . setAlwaysOnTop ( true , "floating" ) ;
1457
1467
tourWin . focus ( ) ;
1458
1468
tourWin . once ( 'ready-to-show' , ( ) => {
1459
1469
tourWin . show ( ) ;
@@ -1527,14 +1537,15 @@ function floating() {
1527
1537
frame : false ,
1528
1538
show : false ,
1529
1539
center : false ,
1540
+ type : 'toolbar' ,
1530
1541
titleBarStyle : "customButtonsOnHover" ,
1531
1542
webPreferences : { nodeIntegration : true } ,
1532
1543
skipTaskbar : true
1533
1544
} ) ;
1534
1545
floatingWin . loadFile ( "floating.html" ) ;
1535
1546
floatingWin . once ( 'ready-to-show' , ( ) => {
1536
1547
floatingWin . show ( ) ;
1537
- floatingWin . setAlwaysOnTop ( true ) ;
1548
+ floatingWin . setAlwaysOnTop ( true , "floating" ) ;
1538
1549
floatingWin . focus ( ) ;
1539
1550
} ) ;
1540
1551
floatingWin . on ( 'closed' , ( ) => {
0 commit comments