Kirill
Kirill
Должна появится ошибка
🏳️🌈GNU/Линуксяша-libre🏳️🌈
🏳️🌈GNU/Линуксяша-libre🏳️🌈
Потому что у меня musl, а там бинари с glibc
🏳️🌈GNU/Линуксяша-libre🏳️🌈
Но не понятно, как заставить использовать системные бинари
Владислав
Всем привет! Возник вопрос по работе с печатью html под Linux, а именно gentoo lxqt. Как можно грамотно написать предпросмотр печати?
Георгий
Георгий
Стас
Стас
И то не во всем, разве что ты руткит на ring0 пишешь
🅰️nimeCoder
Да и тут есть. Часть апи доступна ток на определённых осях. Вот если кто например попробуйте кастомные html уведомления поделать (на прозрачных окнах) например там это хорошо ощущается.
В доке метки стоят что и где поддерживается и часто увы все не особо прямо м радужно (
Конечно это не тот уровень гемороя что еа натива делая
Стас
🅰️nimeCoder
Стас
Еще и подпись этого добра сертами довольно узкими
Стас
Благими намерениями..
Стас
Вроде безопасность юзера. Но это с одной позиции, с другой долбежка разрабов
Андрей
Всех приветствую
Стек: Vue + Vuex + Router и все это обернуто Electon'ом
Суть вопроса, в чем
От render процесса приходит data (json) в main процесс
В main процессе отловив это событие, отображаю уведомление (Notification)
тело уведомление рисую через toastXML (туда же пихаю две кнопки, типа прием и сброс входящего звонка). Не до конца выкупаю как обрабатывать нажатия на эти кнопки ?
const toastXml = `
<toast activationType="protocol">
<visual>
<binding template="ToastGeneric">
<text hint-maxLines="1">Входящий звонок</text>
<text hint-maxLines="1">От ${message.from}</text>
</binding>
</visual>
<actions>
<action content="Ответить" activationType="protocol" arguments="" />
<action content="Сбросить" activationType="protocol" arguments="" />
</actions>
</toast>`
Андрей
Или даже по-другому вопрос выстрою
Есть ли вообще в electron'e для винды, возможность кнопки действий в нотификацию впихнуть ?
Георгий
Андрей
Да, можно
Какие альтернативные вариант ?
Георгий
Условно
const messageBox = await dialog.showMessageBox({ buttons: ['Отмена', 'Ок'] });
Георгий
У messageBox будет поле response которое выдает индекс нажатой кнопки
Георгий
Георгий
Тогда точно можно впихнуть клик по уведомлению, насчет кнопок - хз
Георгий
Посмотреть тут
https://www.electronjs.org/docs/latest/tutorial/notifications
Георгий
Андрей
Посмотреть тут
https://www.electronjs.org/docs/latest/tutorial/notifications
ну вот тут пишут что что взмамен всем стандартным настройкам уведомлений можно использовать toastXML
https://www.electronjs.org/docs/latest/api/notification#class-notification:~:text=toastXml%20string%20(optional,of%20the%20notification.
только вот нигде не пишут как обрабатывать actions'ы и пробрасывать(
Андрей
Понял
Спасибо в любом случае, попробую сам через диалог сделать
Иван
Ребят, привет
Хочу сделать кастомние url для приложухи, и мне надо как-то ловить аргументы которые в него приходят, подскажите как я могу это сделать require('electron').process.argv и подобные не робят
Rewrite
Rewrite
Бум
привет
не подскажите? только начал создавать приложение, и почему-то не импортируются локальные модули в main скрипт. Создал новый скрипт по адресу 'helpers/index.js', но при импорте сборка падает (Error: Cannot find module './helpers/index')
импортирую вроде правильно, редактор этот импорт видит. (импортирую через require, экспортирую через module.exports )
(использую шаблон https://www.electronforge.io/templates/vite)
Бум
может это что-то распространенное, но при гуглении ничего об этом не нашёл
Бум
добавил плагин commonjs и всё починилось..
Alex
Привет ребята! Я очень хочу использовать electron. Но скажите пожалуйста почему electron а не flutter? Есть ли у кого-то из вас проект на гитхабе чтобы посмотреть как folder structure выглядит. Буду очень благодарен!🥹
No
Nikolay
Бекполат
ребят помогите. создал сайт на electron + vite. сделал билд. и приложение работает. но если обновить страницу то такая ошибка Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
Иван
Здравствуйте, создал приложение с помощью npm create @quick-start/electron, вставил существующий проект и перестали работать background: url()
как думаете, в чём проблема?
eden
Иван
по сути - никак
все стили у меня в sсss, я весь src из старого проекта перетащил в новый, в нужные папки, и подредактировал пути. Приложение запускается, все компоненты грузятся, но все картинки слетели, и в bg: url и в img:src
eden
eden
просто указать что-то вроде /public/image.png не получится
Иван
а разве в css файлах так можно?
Иван
прост не хочется в инлайн стилях такое делать
Иван
понял, спасибо
🅰️nimeCoder
🅰️nimeCoder
по большому счету или электрон или wpf / qt, а флаттер, реакт натив - кусок говна, он и так говно, так еще и не кроссплатформеное
Иван
Товарищи, снова здравствуйте, уже пол часа барахтаюсь на просторах интернета чтобы понять как билдить мой проект собранный, к сожалению, кастомно
Прикрепил архитектуру проекта, её изменить нельзя, техдир запретил
Иван
мы используем electron-builder
Иван
билдится приложуха которая ничего не показывает кроме белого экрана, пока я сам не запущу react приложение командой npm run dev
как мне его сбилдить, чтобы приложуха запускала интерфейс без стороннего запуска react
I
"scripts": {
"start": " export PORT=3000 && react-scripts start",
"build-electron": "export GH_TOKEN=ghp_xxx && react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"electron:start": "concurrently \"npm start\" \"wait-on http://localhost:3000 && electron .\"",
"electron:build": "export GH_TOKEN=ghp_xxx && npm run build-electron && electron-builder --windows --x64 -p always"
},
I
I
electron:build
Иван
сори что весь скинул, вдруг что-то важно будет
у меня package.json такой
{
"name": "complexus_thor",
"version": "0.1.0",
"description": "Native app to manage mods and modpacks",
"author": "Complexus",
"build": {
"appId": "complexus.thor",
"win": {
"icon": "build/icon.ico"
}
},
"main": "public/electron.js",
"homepage": "./",
"private": true,
"dependencies": {
"axios": "^1.6.8",
"electron": "^30.0.6",
"electron-is-dev": "^3.0.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.23.1",
"react-transition-group": "^4.4.5"
},
"devDependencies": {
"@types/react": "^18.2.66",
"@types/react-dom": "^18.2.22",
"@vitejs/plugin-react": "^4.2.1",
"concurrently": "^7.6.0",
"eslint": "^8.57.0",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.6",
"sass": "^1.77.2",
"vite": "^5.2.0",
"wait-on": "^6.0.1",
"electron-builder": "^24.13.3"
},
"scripts": {
"dev": "vite",
"build": "vite build",
"start": "concurrently \"vite\" \"wait-on http://localhost:3000 && electron .\"",
"electron": "electron .",
"electron-pack": "npm run build && electron-builder"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
I
Тот билдит и сам запускает реакт
I
I
I
Он у меня тут был для обновлений
Иван
export - зависимость?
Андрей
Товарищи, снова здравствуйте, уже пол часа барахтаюсь на просторах интернета чтобы понять как билдить мой проект собранный, к сожалению, кастомно
Прикрепил архитектуру проекта, её изменить нельзя, техдир запретил
Могу предложить такой вариант, хз будет полезно нет
{
"dev:electron": "node scripts/dev-server.js",
"build:electron": "node scripts/build.js && electron-builder",
"build:win": "node scripts/build.js && electron-builder --win",
"build:mac": "node scripts/build.js && electron-builder --mac",
"build:linux": "node scripts/build.js && electron-builder --linux"
}
Андрей
dev запускает vite локально
соотстветственно build собирает под целевую ОСь (архивы и exe файл)
Андрей
в dev скрипте
сперва запускается startRender который смотрит на electron.vite.config
а потом уже запускается electron
Андрей
конфиг vite
Андрей
Вот build.js
По сути так же запускат сборку представления (собираем сперва vue компоненты в renderer директорию смотря на main.js как точку входа Vue
а потом собираем уже main (директорию) основного процесса
Андрей
Вот electron-builder + данные еще тянутся из package.json (в частности версия, name и так же main)
{
"name": "sputnik_sng",
"private": true,
"main": "main/main.js",
}
Андрей
А теперь у меня вопрос
Можно ли как-то ВНЕ окна electron'a (при фоновой работе или при свернутом окне) отловить событие движения мыши (для смены сетевого статуса внутри системы, отслеживания активность пользователя на уровни операционной системы)
Типа сетевого статуса линка как в скайпе
Adam
Adam
Шпионское по на электроне - это сильно )
Андрей
хахах
почему же сразу шпионское
по вашему Skype for Business тот же шпионское ПО ? 😅
там от малейшего сдвига мышки сетевой статус меняется...
Adam
Стас