David
David
Всем привет!
Подскажите, пожалуйста, возможно кто то решал уже такую задачу.
Создаю новое окно с параметрами
frame: false,
transparent: true,
skipTaskbar: true,
alwaysOnTop: true,
Ставлю ему игнорить события мыши, чтобы через него можно было прокликнуть
win.setIgnoreMouseEvents(true);
Делаю его в полный экран и создаю в нем единственный блок с кнопкой см скрин
Вопрос в том, можно ли как то сделать именно этот блок кликабельным, не игнорирующем события мыши?
Я так понял, что некоторые эвенты передает в таком случае
Сергей
@Gaaarfild вот за это спасибо) Сейчас проверю, судя по документации, должно сработать. Проверю сейчас отпишусь.
Сергей
Эта опция дала возможность что если окно в фокусе, то я могу кликать на кнопку внутри элемента. В принципе это почти решило мою проблему, спасибо) Просто теперь надо на невидимом окне фокусироваться да и все.
Vladimir
Народ всем привет. Подскажите пожалуйста как можно подрубить вэб-сервер в main process, так что можно было удаленно, например, перезапустить приложение?
Сам сервер я сделал, импортировал его в main.js. Он стартует, а вот как связать их не пойму
CybernatiC
Roman
Я вообще не понял, что надо добиться)
Григорий
Сергей
Типа при наведении мыши делать его не прозрачным?
Нет не при наведении.
Получается при клике на определенный элемент в приложении я делаю фокус на этом окне и если фокус на нем, то я могу кликнуть на кнопку в диве, то есть окно если в фокусе, то оно все равно реагирует на мышку получается.
Григорий
Сергей
В идеале да. Хотел чтобы окно было как бы всегда поверх, но при наведении на элемент этого окна (квадрат спава вверху) фокус становился на этом невидимом окне. А в идеале даже не перемещать фокус, но чтобы кнопка стала кликабельной и курсор реагировал на наведении на кнопку
Григорий
Сергей
а ты можешь сделать его дочерним от главного?
Хорошая мысль, кстати не пробывал…. Попробую вечерком. Но скорее всего все равно придется на него отдельно фокусироваться, чтобы задумка сработала. Вроде дочерние окна тоже снимают фокус с родителя.
BrowserView точно не снимает, но сквозь него не прокликнуть к сожалению(((( а то была мысль сделать это не отдельным окном, а BrowserView.
Григорий
Черепаха
Привет, друзья. Такая боль, реализовал бекенд на Flask, через Electron организовал взаимодействие сервером, путем использования пакета python-shell, работает все как ожидается. Далее решил собрать приложение, упаковать. Для этого как я понял нужно упаковать Flask программу в исполняемый файл, применил pyinstaller, получив в каталоге dist исполняемый файл. Далее (main.js) из основного процесса порождаю процесс используя метод .execFile, в аргументы указав лишь путь с файлом. До упаковки работает как ожидаю. Применяю упаковку используя electron-forge, команда npm run make. Получаю в out/make/deb/x64 файл (сижу на Ubuntu 20). Устанавливаю получившиеся приложениe. Запуск. Сервер на Flask не работает:(
Сам я python-разрабочик. Но могу и верстать на flexbox, и JavaScript могу, но electron "тыкаю" первый раз. Я понимаю что я где-то близок решению. Поделитесь опытом. Как мне завести Flask в готовом приложении может нужно в package.json пути писать лил что ??
P.S. Мне хотелось бы видеть в виде бекенда Python-Flask потому что я в нем (Python) как рыба вводе. Поэтому такой выбор.
Null
Привет, друзья. Такая боль, реализовал бекенд на Flask, через Electron организовал взаимодействие сервером, путем использования пакета python-shell, работает все как ожидается. Далее решил собрать приложение, упаковать. Для этого как я понял нужно упаковать Flask программу в исполняемый файл, применил pyinstaller, получив в каталоге dist исполняемый файл. Далее (main.js) из основного процесса порождаю процесс используя метод .execFile, в аргументы указав лишь путь с файлом. До упаковки работает как ожидаю. Применяю упаковку используя electron-forge, команда npm run make. Получаю в out/make/deb/x64 файл (сижу на Ubuntu 20). Устанавливаю получившиеся приложениe. Запуск. Сервер на Flask не работает:(
Сам я python-разрабочик. Но могу и верстать на flexbox, и JavaScript могу, но electron "тыкаю" первый раз. Я понимаю что я где-то близок решению. Поделитесь опытом. Как мне завести Flask в готовом приложении может нужно в package.json пути писать лил что ??
P.S. Мне хотелось бы видеть в виде бекенда Python-Flask потому что я в нем (Python) как рыба вводе. Поэтому такой выбор.
А Python - то установлен на конечном ПК? Чтобы .execFile мог запустить его?
Черепаха
Черепаха
Null
Черепаха
Питон упакован в electron приложение?)
в приложении на электроне отведен каталог в котором упакован в исп. файл flask app что выступает сервером для electron app. Когда приложение electron запус. то порождает процесс в котором зап. сервер.
Null
Arsen
А после установки питоновское приложение на дисках лежит? Или оно в бинарнике с Electron и почему-то не запускается?
Arsen
Ну дак если exe положить к статике и упаковать в Electron-приложение, конечно exe не запустится, ибо с чего бы ему запуститься, раз exe лежит не на файловой системе? Я как-бы намекаю на это, но видимо недостаточно понятно.
Если хочется оставить все как есть, то можно наоборот к python flask упаковать Electron-приложение и не из Electron запускать python, а из python запускать electron.
Vladimir
Народ, подскажите плз, почему после portable-сборки приложение не видит рядом лежащий json-файл?
store = new Store(path.join(app.getAppPath(), 'settings.json'))
Григорий
Григорий
Григорий
для поиска приложения
Григорий
ну там немного по другому уже не помню как точно пишется
David
Vladimir
David
на винде 10
Вообще даже в самой доке написано, что путь лучше не менять, так как скорее всего будет работать как попало. Лучше оставить папку userData по умолчанию. Это совсем не вариант?
Vladimir
David
Vladimir
M?
А что за дичь может быть то что на ровном месте все что на экране исчезает и становится белым?
то есть просто ничего нет. ошибок в консоли нет. девтулз элементов не отображает
случается иногда спустя долгого отсутсвия активности
M?
David
Может рендерер падает? Где-то память течет? Или выводишь что-то в девтул
SpadarynjaAlina
Привет , помогите, пожалуйста, подскажите, куда копать : preload работает в отдельном окне , а в браузере нет.
Григорий
SpadarynjaAlina
SpadarynjaAlina
Григорий
ну так ты не показал как подключил прелоад и как ты создал в ней функцию для рендерера
SpadarynjaAlina
Григорий
а стоп погоди
Григорий
в каком браузере не работает?
SpadarynjaAlina
Григорий
хром
а с чего ты взял что exe должен запускаться в браузере?
Григорий
ну если так, грубо говоря
Григорий
у тебя в электроне он работает?
ты типа запускаешь проект в дев режиме, у тебя запускается локалхост и ты пытаешься зайти на этот хост из браузера?
SpadarynjaAlina
ну если так, грубо говоря
ну так он же вроде пока не скомпилирован, плюс предлагается браузер открыть на стадии разработки
Григорий
🫠
Григорий
пока ты не делаешь запрос в прелоад он у тебя будет работать как обычная страница
Григорий
потому что сервер у тебя запущен
Григорий
а когда ты делаешь запрос в прелоад у тебя браузер ищет внутри себя эту функцию
Григорий
а функция эта у тебя в электроне живет
Григорий
как браузер найдет эту функцию в электроне?
Григорий
тем более в том прелоаде стоит require библиотеки electron
SpadarynjaAlina
Григорий
ты можешь работать через браузер когда у тебя электрон запущен, но до тех пока ты их не свяжешь
SpadarynjaAlina
Vatslav
привет, помогите с решением, у меня апп должен постоянно делать app.relaunch(), но когда я несколько раз подряд его киляю через Force Quit то выскакивает маковский попаб. может кто-то знает, что с этим делать?
Григорий
Vatslav
Roman
Всем привет. Возникла проблема с electron-builder. Использую модуль 'buffer-image-size'. Локально все работает норм, но после билда builder'ом при запуске приложения получаю ошибку module not found. Кто-нибудь сталкивался с таким?
southyyy
Всем привет, у меня есть приложение electorn + ReactJS
Через фронт я запускаю всякие приложения в Main процессе
Информация о запущенных процессах хранится в базе websocket
Отправляю с фронта запрос на запуск -> получаю ответ -> отправляю инфу о запущенном профиле в сокет
Дело в том, что если я сделаю force quit в приложении все мои процессы открытых приложений удалятся, но фронт не успеет среагировать на их закрытие и получится рассинхрон с базой данных
Я не могу удалять все данные из сокета на сервере по disconnect сокета с фронта (есть своя бизнес логика, которая не позволяет это сделать)
Является ли нормальным вариант, чтобы я открывал 2 соединения с сокетом?
1 - Renderer Process
2 - MainProcess
И сокет в MainProcess по событию before-quit выполнял все нужные мне операции и синхронизировался с базой данных
Олексій
Всем привет, есть ли возможно прямой печати на ESC/POS без задержек?
Aymen
Guys is there any way to start mysql windows service using electron js or node js
Sometimes the service doesn't start automaticaly and i want to start it from my app instead of do it manualy
Anonymous
Aymen
Anonymous
U think so ?
I believe in you bro. Make your first step as a developer and start googling things prior to asking. Keep me posted on your progress
Андрей Е
import { app, BrowserWindow } from 'electron'
^^^^^^
SyntaxError: Cannot use import statement outside a module
Андрей Е
как запустить?
Сергей
Андрей Е
так то работает
Андрей Е
а с импортом нет
Rewrite
гугли