Alexey Filippov
я как раз хочу поправиь яндекс музыку и уже нашел мод на нее
Alexey Filippov
Никак не могу найти где устанавливается иконка в попапе в пуске подскажите плз
Alexey Filippov
const mainWindow = new BrowserWindow({ width: 900, height: 670, show: false, frame: false, autoHideMenuBar: true, icon: join(icon), ...(process.platform === 'linux' ? { icon } : {}), webPreferences: { preload: join(__dirname, '../preload/index.js'), sandbox: false } })
AlexeyFilippov
В конфиге билдера скорее всего
в билдере даже упоминания о нем не было:( но есть папка папка build/ с иконками подозреваю, что оттуда тянет их. но где ссылкается на них никак найти не могу:(
Michael
А какая именно иконка в попапе в пуске нужна? Может быть можно в NSIS установщик кастомный скрипт записать, чтобы он её там создал. Не имею серьезного опыта с установщиками
Георгий
в билдере даже упоминания о нем не было:( но есть папка папка build/ с иконками подозреваю, что оттуда тянет их. но где ссылкается на них никак найти не могу:(
А, и в теории пока ты не сбилдишь, может иконка электрона и останется. Попробуй запустить сбилженный вариант прила
Alexey Filippov
appId: com.electron.app productName: Harmonify directories: buildResources: build files: - '!**/.vscode/*' - '!src/*' - '!electron.vite.config.{js,ts,mjs,cjs}' - '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}' - '!{.env,.env.*,.npmrc,pnpm-lock.yaml}' - '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}' asarUnpack: - resources/** win: executableName: Harmonify nsis: artifactName: ${name}-${version}-setup.${ext} shortcutName: ${productName} uninstallDisplayName: ${productName} createDesktopShortcut: always mac: entitlementsInherit: build/entitlements.mac.plist extendInfo: - NSCameraUsageDescription: Application requests access to the device's camera. - NSMicrophoneUsageDescription: Application requests access to the device's microphone. - NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder. - NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder. notarize: false dmg: artifactName: ${name}-${version}.${ext} linux: target: - AppImage - snap - deb maintainer: electronjs.org category: Utility appImage: artifactName: ${name}-${version}.${ext} npmRebuild: false publish: provider: generic url: https://example.com/auto-updates
Alexey Filippov
Alexey Filippov
как я понимаю из этой папки тянет вообще изначально это https://electron-vite.org/guide/
Alexey Filippov
ааааааа решил нажать на эту иконку и открылось это.. хм
AlexeyFilippov
Да потому что тай топорный, а эти все оптимизаторы,хз как под капотом
привет ты делал автозапуск приложения после ребута? я уже 3 способа попробовал, 2 не работают, а 1 запускает другое совершенно
AlexeyFilippov
дело в том что он вообще после ребута запускает мое приложение и приложение из node_modules похоже на то что триггерит app.getPath('exe') хотя я ему это не говорю делать очень странное поведение само по себе попробую очистить ноде модули конечно и еще 1 трабла при запуске ребуте окно раскрывается хотя я указываю show: false
AlexeyFilippov
3310 по сабжу конечно
AlexeyFilippov
ну и так же очевидно тупой вопрос) install electron при сборке собирает и ноду?) я к тому что в системе не надо иметь nodejs?
🅰️nimeCoder
на электроне не приходилось
🅰️nimeCoder
думаю 100% есть решения готовые, а так можно подсмотреть здесь https://github.com/emersion/go-autostart/tree/master
🅰️nimeCoder
🅰️nimeCoder
на винде еще два разныз типа есть, есть как ту на пользователя, а есть глобальный для всех юзеров автостарт
Alexey Filippov
на винде еще два разныз типа есть, есть как ту на пользователя, а есть глобальный для всех юзеров автостарт
ку. ты наверно спишь? я накидаю темы которые хотел бы обсудить - Использование тем dark light system и взаимодействие с бэком и для чего. - Сущность хрома в preload и renderer - Как сделать Окно лоадер пока загружается реакт фронт - альтернатива localstorage - как правильно перехватить повторный запуск приложения и устранить дерганье окна - Поговорить о иконках и их настройке. electron-vite (build dir)
AlexeyFilippov
1. При создании окна есть возможность явно указать вариант темы, либо использовать системную 2. В прелоуде 3. electron-store 4. В мейне есть листенер окна и запуска повторного прила (могут позже скинуть пример)
и как я понял из общих рекомендаций надо синхронизировать backgroundColor для окна и bg стиль фронт приложения чтобы в момент построения react dom заполнился этот цвет
AlexeyFilippov
но как сделать такую синхронизацию не оч понятно вижу 2 решения, 1 спорное второе такое себе хранить в БД на беке последнюю тему и прокидывать во фронт или доставать из window.localstorage
AlexeyFilippov
а какая бестпрактика в таком случае
Георгий
AlexeyFilippov
Либо в электрон сторе просто пусть валяется в файле
а вот такой вопрос вот если по шагам разбить BrowseWindow - ready - preload - renderer в таком порядке же происходит? то есть я в прелопд постучусь уже по факту создания окна?
AlexeyFilippov
как я понимаю ready-to-show уже последняя инстанция
Alexey Filippov
Это в BrowserWindow
я никак не могу поймать этот nativeTheme он у меня срабатывает ложно до объявления инициализации класса в реакте
Alexey Filippov
Со стороны мейн процесса
да я тоже так пытаюсь, но у меня рендер окна изначально без prefers-color-scheme. Использую в реакте провайдер который читает с локала и потом ставит
Alexey Filippov
в index.html что ли дока супер сухая(
Alexey Filippov
уж уже поплыл. хернб исполняю)
AlexeyFilippov
Глянь ещё вот это https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
чтобы убедиться что я полный кретин nativeTheme читает тему хромиума, а хромиум уже читает тему ОС пк?
Георгий
чтобы убедиться что я полный кретин nativeTheme читает тему хромиума, а хромиум уже читает тему ОС пк?
Механизм сам внутренний не знаю, но думаю нода просто умеет стучаться в операционку и отдавать тебе какую-либо инфу о ней
Георгий
Тема хромиума звучит как ерунда какая-то по идее
AlexeyFilippov
Механизм сам внутренний не знаю, но думаю нода просто умеет стучаться в операционку и отдавать тебе какую-либо инфу о ней
да похоже на то что нода узнает тему виндовса а я пытался взять у хромиума:( для себя открыл пользую туду роадмапа - записываю все поползновения и идеи как решить)
AlexeyFilippov
Тема хромиума звучит как ерунда какая-то по идее
есть еще 1 вопрос ты используешь папку shared на уровне модулей main preload и renderer? не оч понимаю, что туда ложить, интерфейсы IPC , а сами где оставлять сами handlers у меня так получается совсем худая preload
Георгий
У меня есть типы, которые общаются и там и там
Плюс кастомный фетч, плюс пару утилити либ для костылей из за бека (у меня их 2 разных, у них разные модели ответа, и у одного в кебаб кейсе, а у второго в Паскале, я всё трансферю в камел)
Георгий
есть еще 1 вопрос ты используешь папку shared на уровне модулей main preload и renderer? не оч понимаю, что туда ложить, интерфейсы IPC , а сами где оставлять сами handlers у меня так получается совсем худая preload
У меня прелоад буквально из 2 файлов состоял, сейчас вообще из одного. Формально там валяется только анимация при загрузке прила и contextBridge
Victor
Всем привет! Подскажите, приложение на Electron можно запустить на Ubuntu Server?
_dimon_chick_
Всем привет! Подскажите, приложение на Electron можно запустить на Ubuntu Server?
GUI нет, но если не собирать фронт, то по идее можно
AlexeyFilippov
У меня прелоад буквально из 2 файлов состоял, сейчас вообще из одного. Формально там валяется только анимация при загрузке прила и contextBridge
мне предлагал при холодном старте крутить loader.html а при событии finish-preload новый файл loader но кажется некие костыли
Георгий
мне предлагал при холодном старте крутить loader.html а при событии finish-preload новый файл loader но кажется некие костыли
На практике штука не очень обязательная, но в прелоуде доступ к window есть, поэтому ты можешь там просто вкрутить какой нибудь html+css в window, а потом его оттуда убрать
Георгий
мне предлагал при холодном старте крутить loader.html а при событии finish-preload новый файл loader но кажется некие костыли
можешь глянуть сэмпл с реактом от чела, который сделал electron-vite https://github.com/electron-vite/electron-vite-react
Ахмед
Привет ребят, слушайте помощь нужна, недавно начал шариться с Electron, кто знает как из проги убрать хромиум? То есть чтобы там панель разработчика не открывалась комбинациями? Есть такой вариант?
🅰️nimeCoder
Убрать можно, другой вопрос зачем, ведь его открыть все равно не проблема
🅰️nimeCoder
new BrowserWindow({ width: 400, height: 400, webPreferences: { devTools: false } })
Ахмед
Даже не знаю, риторический вопрос был, просто хотелось все равно скрыть
🅰️nimeCoder
По идее комбинацию должно офнуть
🅰️nimeCoder
Но остальное будет сложнее скрыть (дебаг порты и др) вероятно только кастомный электрон собирать
Ахмед
Спасибо) все равно хотелось ее скрыть даже если ее открыть можно в 2 щелчка, раздражала просто
Michael
Но остальное будет сложнее скрыть (дебаг порты и др) вероятно только кастомный электрон собирать
Насколько я помню, можно electron fuses во время сборки выставить, чтобы всё это выключить в упакованном приложении
Alexey Filippov
Убрать можно, другой вопрос зачем, ведь его открыть все равно не проблема
так комбинации же не работают? или доп еще надо обработать ctrl+shift+i и f12
🅰️nimeCoder
так комбинации же не работают? или доп еще надо обработать ctrl+shift+i и f12
Ну по умолчанию должны работать, а если офнуть девтулзы там у флагов все равно приоритет по идее, и снять их при старте наверное не факт что можно через switch'и
Георгий
Ну по умолчанию должны работать, а если офнуть девтулзы там у флагов все равно приоритет по идее, и снять их при старте наверное не факт что можно через switch'и
Вроде Яндекс музыка вообще все способы у себя вырезали возможности открыть консоль, каким способом тут хз, но энивей забавно
Идель Гатауллин
!спам
Идель Гатауллин
!спам
🅰️nimeCoder
причем вроде просто распаковали ASAR и прописали в window☺️
Alexey Filippov
причем вроде просто распаковали ASAR и прописали в window☺️
в исходниках то можно включить по любому, у яндекса кроме этого есть с свое dev-menu)
🅰️nimeCoder
в исходниках то можно включить по любому, у яндекса кроме этого есть с свое dev-menu)
Если сделать кастомный электрон билд, то вероятно вообще нигде нельзя будет включить