up
This commit is contained in:
@@ -5,6 +5,8 @@ import { join } from 'node:path'
|
||||
import { Readable } from 'node:stream'
|
||||
import { Controller } from './controller.js'
|
||||
import { parseRange } from './range.js'
|
||||
import { PackageStore } from './package-store.js'
|
||||
import { packageMediaResponse } from './package-media.js'
|
||||
import type { HostInfo } from '../src/types/screen.js'
|
||||
|
||||
// Native Wayland запрещает размещение окна на выбранном дисплее по координатам.
|
||||
@@ -87,9 +89,19 @@ function show(displayId: number) {
|
||||
})
|
||||
void output.loadURL('screen-app://app/index.html?output=1')
|
||||
}
|
||||
// Две копии приложения не должны одновременно менять указатели пакетов.
|
||||
if (!app.requestSingleInstanceLock()) app.exit(0)
|
||||
app.on('second-instance', () => {
|
||||
control?.show()
|
||||
control?.focus()
|
||||
})
|
||||
|
||||
app
|
||||
.whenReady()
|
||||
.then(async () => {
|
||||
const packages = new PackageStore(join(app.getPath('userData'), 'packages'))
|
||||
await packages.initialize()
|
||||
app.on('before-quit', () => packages.cancel())
|
||||
session.defaultSession.setPermissionRequestHandler((_contents, _permission, callback) =>
|
||||
callback(false),
|
||||
)
|
||||
@@ -102,6 +114,7 @@ app
|
||||
'X-Content-Type-Options': 'nosniff',
|
||||
}
|
||||
if (url.host !== 'app' || request.method !== 'GET') return new Response(null, { status: 404 })
|
||||
if (url.pathname.startsWith('/packages/')) return packageMediaResponse(packages, request)
|
||||
if (url.pathname.startsWith('/media/')) {
|
||||
const media =
|
||||
url.pathname === '/media/audio'
|
||||
|
||||
Reference in New Issue
Block a user