@electron_ru

Страница 157 из 177
Ildar
31.07.2018
19:11:35


Kelin
31.07.2018
19:12:07
Да

Google
Quiss
31.07.2018
19:12:07
У иконки из трея

Да
Как?) Мне на будущее

Kelin
31.07.2018
19:12:25
Загуглилось быстро

ща найду

Короче, создаешь трей (new Tray) и окно

const getWindowPosition = () => { const windowBounds = mainWindow.getBounds() const trayBounds = tray.getBounds() // Center mainWindow horizontally below the tray icon const x = Math.round( trayBounds.x + trayBounds.width / 2 - windowBounds.width / 2 ) // Position mainWindow 4 pixels vertically below the tray icon const y = Math.round(trayBounds.y + trayBounds.height + 4) return { x: x, y: y } } Координаты для окна берутся так

+ это для того, чтобы иконка активная/неактивная становилась mainWindow.on("show", () => { tray.setHighlightMode("always") }) mainWindow.on("hide", () => { tray.setHighlightMode("never") })

+ это обработчик клика по иконке, который скроет/покажет окно tray.on("click", toggleWindow) const toggleWindow = () => { if (mainWindow.isVisible()) { mainWindow.hide() } else { showWindow() } } const showWindow = () => { const position = getWindowPosition() mainWindow.setPosition(position.x, position.y, false) mainWindow.show() mainWindow.focus() }

сори за портянку

Andrey
31.07.2018
19:36:09
докер это всегда линукс, поэтому о каких нативных идет речь?

Ildar
31.07.2018
19:40:40
докер это всегда линукс, поэтому о каких нативных идет речь?
Просто пустой проект без каких либо нативных зависимостей. Меня спутало то что у них на сайте написано что если есть нативные зависимости то можно только на целевой платформе собирать: "If your app has native dependency, it can be compiled only on the target platform unless prebuild is not used." Думал что если нет зависимостей будет и без wine собиратся для windows.

Electron.js releases
31.07.2018
23:51:17
v2.0.6 https://github.com/electron/electron/releases/tag/v2.0.6 v2.0.6

v3.0.0-beta.4 https://github.com/electron/electron/releases/tag/v3.0.0-beta.4 v3.0.0-beta.4

Google
Ҫѐҏӗѫӑ
01.08.2018
20:41:18
как там тройка, кстати? еще рано?

с ней импорты можно будет по идее

Oleh
02.08.2018
09:01:16
привет, можно ли в электрон юзать что то наподобии аппаратного ускорения хрома?

Инал
02.08.2018
11:38:21
Привет. Есть приложение, которое работает с таблицей. Все изменения идут через сеть. Но приложение должно работать оффлайн. Как в таком случаем хранить запросы на бэк до появления сети? Есть готовый инструмент?

Айнур
02.08.2018
11:39:06
храни в локалсторадже

Kelin
02.08.2018
11:46:54
А есть ли че-то поумнее localStorage? Чтобы и в main процессе можно было достать

Tema
02.08.2018
11:47:16
Привет. Есть приложение, которое работает с таблицей. Все изменения идут через сеть. Но приложение должно работать оффлайн. Как в таком случаем хранить запросы на бэк до появления сети? Есть готовый инструмент?
Есть библиотека для PWA, основанная на ServiceWorker'ах, там есть модуль, который отвечает за оффлайн работу Google Analytics, можно оттуда взять часть кода, который отвечает за детект онлайна/оффлайна и помещает запросы в локальное хранилище (а-ля очередь задач или стэк), и при появлении доступа в сеть производит поочередное исполнение запросов из очереди. https://workboxjs.org

Kelin
02.08.2018
11:47:24
И чтобы не писать json.parse/json.stringify по кд

Айнур
02.08.2018
11:53:08
хм, а если во время оффлайн режима закрыть приложение данные должны остаться в системе?

хотя логично что да

Ҫѐҏӗѫӑ
02.08.2018
12:03:05
не могу нигде найти инфу о статусе готовности электрона 3

кто-нить видел?

Max
02.08.2018
12:16:41
Статуса не видел, но подозреваю что еще не готово, хотя я на 4-й бете вполне нормально живу

Ҫѐҏӗѫӑ
02.08.2018
12:20:03
мне бигинты бы

но непозволительно чтобы что-то падало

там еще и абортконтроллер

Max
02.08.2018
14:07:50
Еще optional catch binding, сокеты через HTTP/2, CSS Paint API и Resize Observer (уже без флага)

Kelin
02.08.2018
16:40:59
А есть ли в электроне готовое решение для авто-апдейтов?

Andrey
02.08.2018
17:15:12
Обновление приложений | Electron https://electronjs.org/docs/tutorial/updates

Я вот не пробовал, Но неужели с этим столько проблем, что все спрашивают?

Google
Данил
02.08.2018
17:31:28
Я вот не пробовал, Но неужели с этим столько проблем, что все спрашивают?
> есть ли возможность работы на Linux? > есть поддержка бета версий, где от тебя необходимо только делать коммиты в ветку dev? (ну я сделал у себя так, у меня собственное решение)

вот первое самое обидное

Andrey
02.08.2018
17:56:03
Про разные каналы доставки есть у Nucleos, как там указано

А https://www.electron.build/auto-update? У него вроде нет ограничений на платформы. Разве что Code signature validation not only on macOS, but also on Windows.

Ҫѐҏӗѫӑ
03.08.2018
18:50:52
кто-нибудь размышлял над роутером для электрона в том плане, что приложение исключетельно электрон и нет и не будет никакой адресной строки. все роутеры заечем-то все равно в/из строку сериализуют. вообще адекватный роутер должен быть простой fsm расширяемой имхо. можно расширить сериализацией, можно расширить историей и тд

как router5, но там тоже зачем-то в строки сериализуется ¯\_(ツ)_/¯

Kelin
03.08.2018
18:59:18
На эффекторе можно за минуту написать

Ҫѐҏӗѫӑ
03.08.2018
19:01:31
что это?

Kelin
03.08.2018
19:03:14
github.com/zerobias/effector

Ҫѐҏӗѫӑ
03.08.2018
19:05:37
ну да, мб, но надо подробнее код посмотерть

Admin
ERROR: S client not available

Ҫѐҏӗѫӑ
03.08.2018
19:05:44
в целом ок выглядит

Kelin
03.08.2018
22:10:33
В целом ахуэнна выглядит Единственный вопрос пока только в том, как store.map(smthFromStore2) апдейтить при изменении второго стора

Ernest
04.08.2018
11:31:57
Привет всем... ребята есть кто нибудь кто работал с реактом и электроном??? Мне нужна помощь

Юрий
04.08.2018
11:54:23
Какая?)

Ernest
04.08.2018
12:04:43
в реакт компоненте не получаеться импортировать методы из электрона..ошибка—— require is not defined

Ernest
04.08.2018
12:08:56
Import {ipcRenderer} from electron....в реакт компоненте это дает ошибку

Сергей
04.08.2018
12:19:36
Максим
04.08.2018
12:20:20
Говори за себя. Я телепат

Google
Kelin
04.08.2018
12:22:43
ему

Ernest
04.08.2018
12:23:38
ошибка—— require is not defined

Максим
04.08.2018
12:24:48
а package.json можно?

Юрий
04.08.2018
12:26:20
Я тоже подозреваю что там нет webpack)

Сергей
04.08.2018
12:29:47
Даже если нет

Скорее всего там создано окно без прокидывания в него ноды

Таймураз
04.08.2018
12:53:23
У меня такое было, когда я деструктуризацией require из какого-то модуля электрона доставал решил, вроде как, импортнув полностью весь модуль

а из него уже вытащив require

Ernest
04.08.2018
13:03:03
{ "name": "Behive-Desktop", "version": "1.1.4", "description": "Behive Desktop App", "main": "main.js", "license": "MIT", "scripts": { "start": "webpack --progress --config webpack.config.js && electron .", "dev": "webpack-dev-server --progress --config webpack.config.dev.js", "compile": "webpack --progress --config webpack.config.js", "pack": "electron-builder --dir", "dist": "electron-builder", "fmt:prettier": "prettier --write --single-quote", "lint:eslint": "eslint --ignore-path .gitignore", "precommit": "lint-staged" }, "repository": { "type": "git", "url": "git@git.bluenet.io:behive/behive-desktop.git" }, "contributors": [ "Sirarpi Manukyan", "Ernest Chakhoyan <chakhoyanernest@gmail.com>", "Grigor Apresyan" ], "build": { "appId": "org.behive.blunet", "dmg": { "contents": [ { "x": 110, "y": 150 }, { "x": 240, "y": 150, "type": "link", "path": "/Applications" } ] }, "linux": { "category": "Hospital", "target": [ "AppImage", "deb" ] }, "win": { "target": "NSIS", "icon": "build/icon.ico" }, "mac": { "category": "public.app-category.hospitality" } }, "devDependencies": { "axios": "^0.17.1", "babel-core": "^6.26.0", "babel-eslint": "^8.2.1", "babel-loader": "^7.1.2", "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "css-loader": "^0.28.7", "electron": "^1.8.7", "electron-builder": "^19.49.0", "eslint": "^4.15.0", "eslint-config-prettier": "^2.9.0", "eslint-plugin-prettier": "^2.4.0", "eslint-plugin-react": "^7.5.1", "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^1.1.6", "history": "^4.7.2", "html-webpack-plugin": "^2.30.1", "husky": "^0.14.3", "image-compressor": "^1.2.0", "lint-staged": "^6.0.0", "material-ui": "^1.0.0-beta.33", "material-ui-icons": "^1.0.0-beta.17", "node-sass": "^4.7.2", "prettier": "1.9.2", "prettier-eslint-cli": "^4.7.0", "prop-types": "^15.6.0", "react": "^16.2.0", "react-bootstrap": "^0.32.0", "react-dom": "^16.2.0", "react-redux": "^5.0.6", "react-router-dom": "^4.2.2", "react-telephone-input": "^4.3.4", "redux": "^3.7.2", "redux-devtools-extension": "^2.13.2", "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.2.0", "sass-loader": "^6.0.6", "style-loader": "^0.19.1", "url-loader": "^0.6.2", "webpack": "^3.10.0", "webpack-dev-server": "^2.9.7" }, "dependencies": { "@aspnet/signalr": "^1.0.2", "@livechat/ui-kit": "^0.1.0", "electron-windows-notifications": "^2.1.1", "image-compressor.js": "^1.0.0", "lodash": "^4.17.5", "moment": "^2.22.1", "msgpack5": "^4.2.0", "qrcode.react": "^0.8.0", "react-datepicker": "^1.4.1", "react-dropzone": "^4.2.9", "react-progress-bar-plus": "^1.3.1", "react-select-plus": "^1.2.0", "react-soundplayer": "^1.0.4", "redux-logger": "^3.0.6", "store": "^2.0.12", "tslib": "^1.9.3" }, "stylelint": { "extends": "stylelint-config-standard", "rules": { "indentation": null } }, "lint-staged": { "src/**/*.{js,jsx}": [ "fmt:prettier", "lint:eslint", "git add" ] }, "prettier": { "singleQuote": true } }

Вебпак тоже есть

Таймураз
04.08.2018
13:04:39
{ "name": "Behive-Desktop", "version": "1.1.4", "description": "Behive Desktop App", "main": "main.js", "license": "MIT", "scripts": { "start": "webpack --progress --config webpack.config.js && electron .", "dev": "webpack-dev-server --progress --config webpack.config.dev.js", "compile": "webpack --progress --config webpack.config.js", "pack": "electron-builder --dir", "dist": "electron-builder", "fmt:prettier": "prettier --write --single-quote", "lint:eslint": "eslint --ignore-path .gitignore", "precommit": "lint-staged" }, "repository": { "type": "git", "url": "git@git.bluenet.io:behive/behive-desktop.git" }, "contributors": [ "Sirarpi Manukyan", "Ernest Chakhoyan <chakhoyanernest@gmail.com>", "Grigor Apresyan" ], "build": { "appId": "org.behive.blunet", "dmg": { "contents": [ { "x": 110, "y": 150 }, { "x": 240, "y": 150, "type": "link", "path": "/Applications" } ] }, "linux": { "category": "Hospital", "target": [ "AppImage", "deb" ] }, "win": { "target": "NSIS", "icon": "build/icon.ico" }, "mac": { "category": "public.app-category.hospitality" } }, "devDependencies": { "axios": "^0.17.1", "babel-core": "^6.26.0", "babel-eslint": "^8.2.1", "babel-loader": "^7.1.2", "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "css-loader": "^0.28.7", "electron": "^1.8.7", "electron-builder": "^19.49.0", "eslint": "^4.15.0", "eslint-config-prettier": "^2.9.0", "eslint-plugin-prettier": "^2.4.0", "eslint-plugin-react": "^7.5.1", "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^1.1.6", "history": "^4.7.2", "html-webpack-plugin": "^2.30.1", "husky": "^0.14.3", "image-compressor": "^1.2.0", "lint-staged": "^6.0.0", "material-ui": "^1.0.0-beta.33", "material-ui-icons": "^1.0.0-beta.17", "node-sass": "^4.7.2", "prettier": "1.9.2", "prettier-eslint-cli": "^4.7.0", "prop-types": "^15.6.0", "react": "^16.2.0", "react-bootstrap": "^0.32.0", "react-dom": "^16.2.0", "react-redux": "^5.0.6", "react-router-dom": "^4.2.2", "react-telephone-input": "^4.3.4", "redux": "^3.7.2", "redux-devtools-extension": "^2.13.2", "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.2.0", "sass-loader": "^6.0.6", "style-loader": "^0.19.1", "url-loader": "^0.6.2", "webpack": "^3.10.0", "webpack-dev-server": "^2.9.7" }, "dependencies": { "@aspnet/signalr": "^1.0.2", "@livechat/ui-kit": "^0.1.0", "electron-windows-notifications": "^2.1.1", "image-compressor.js": "^1.0.0", "lodash": "^4.17.5", "moment": "^2.22.1", "msgpack5": "^4.2.0", "qrcode.react": "^0.8.0", "react-datepicker": "^1.4.1", "react-dropzone": "^4.2.9", "react-progress-bar-plus": "^1.3.1", "react-select-plus": "^1.2.0", "react-soundplayer": "^1.0.4", "redux-logger": "^3.0.6", "store": "^2.0.12", "tslib": "^1.9.3" }, "stylelint": { "extends": "stylelint-config-standard", "rules": { "indentation": null } }, "lint-staged": { "src/**/*.{js,jsx}": [ "fmt:prettier", "lint:eslint", "git add" ] }, "prettier": { "singleQuote": true } }
https://gist.github.com зачетная вещь

Сергей
04.08.2018
13:33:09
Вебпак тоже есть
как окно создаешь?

Страница 157 из 177