Sergey spbsite
Sergey spbsite
запуская приложуху, например)
Григорий
мля после билда приложение больше не показывает иконку в трее 😂
Григорий
на старой версии 19.0.7
Григорий
Уважаемое сообщество, снова нуждаюсь в вашей помощи: проблему с taskbar иконкой решил , чисто для linux добавил в параметрs BrowserWindow и о чудо: оно заработало.
Но теперь снова проблема с нотификейшнами (я использую стороннюю библиотеку node-notifier) - иконка не показывается, хотя вроде бы вчера каким-то макаром все заработало - использовал path.join(относительный_путь_к_иконке) но без __dirname.
кароч столкнулся с проблемой похожей как у тебя с иконкой в трее, когда-то давно я настроил иконку и все было ок, но потом переписал просто на path.join и перестало работать, но я не замечал т.к. в дев режиме все было ок
оказывается этой суке удобнее всего вернуться из папки с кодом в корень, я тупо не понимаю как это работает)))
path.join(__dirname, '../../../public/icon.png')
если указать по нормальному
path.join(__dirname, 'public','icon.png')
то нифига не работает 😂
Григорий
Григорий
Григорий
path.join(__dirname, '..', '..', '..', 'public','icon.png')
Григорий
при том что
path.resolve('public', 'icon.png')
возвращает такой же путь, но когда делаю билд он не работает
Rewrite
Григорий
Все же стабильный релиз должен был быть))
Григорий
Но не понятно как внешние ссылки настроить)
Григорий
ALΣX
Привет) Решил таки вчера проблему с иконками, как оказалось (не уверен точно) проблема в том, что модуль Notifications (хоть я и использовал стороннюю для этого библиотеку) не мог получить доступ к иконке, которая была заархивирована со всем остальным содержимым в asap. Хотя подобной проблемы нет при использовании иконок и картинок в BrowserWindow или Tray. Решил следующим образом:
1. В package.json использовал свойство asarUnpack для отдельной распаковки папки с иконками (assets) во время создания архива с приложением (на случай, если отключение asar не ваш случай):
"build": {
...,
"asarUnpack": "assets/**/*",
...
}
2. Через process.resourcesPath можно получить доступ к директории, где храниться архив asar и отдельно разархивированные файлы и папки через свойство asarUnpack (они находяться в отдельной папке app.asar.unpacked).
3. Обновил получение всех иконок с данной директории (зависимо от платформы). Для development mode данный вариант работать не будет, потому для него оставил прежний путь для получения иконок:
function getIcon() {
const iconBasePath = isDev
? path.join(__dirname, '../../../assets/')
: path.join(process.resourcesPath, 'app.asar.unpacked/assets/');
if (os.platform() === 'darwin') {
return path.join(iconBasePath, 'bizswoop.icns');
}
if (os.platform() === 'win32') {
return path.join(iconBasePath, 'bizswoop.ico');
}
return path.join(iconBasePath, 'bizswoop.png');
}
4. Для интеграции иконок использовали модуль nativeImage. Так вот для библиотеки node-notifier стоит от него отказаться, по крайней мере для Windows OS (иконки в уведомлениях слишком маленького размера).
ALΣX
Протестровал на Windows 10 и Ubuntu, надеюсь, что на macOS тоже проблем не будет, сегодня проверю.
Григорий
как открыть через электрон папку в проводнике?
Григорий
у меня к примеру есть полный адресс и мне нужно чтобы открылась папка по этому адресу
ALΣX
ALΣX
Хз, может попробовать вызвать какой-то из методов и передавать defaultPath именно тот, что тебе нужен, тогда он попробует открыть именно нужную директорию
Григорий
Sergey
Alexei
Oleg
>как открыть через электрон папку в проводнике?
>how open folder by electronjs
Sergey
maxim
Григорий
теперь пробелы нужно замаскировать
Alexei
Какие то пакеты, какие то диалоги, когда электрон умеет это делать нативными средствами
Григорий
Sergey
const {shell} = require('electron')
shell.openPath('folderpath')
Alexei
Alexei
Sergey
Григорий
Электрон
который тянет это с nodejs
Sergey
а человек задачу не полностью рассказал
Григорий
а что рассказывать, есть путь и есть кнопка, нажал на кнопку открылась папка
Alexei
Григорий
Sergey
Григорий
это не оно
в каком плане? он тоже октрывает папку
Sergey
Sergey
child_process просто запускает субпроцесс
Alexei
Бесполезный разговор честно говоря, разберись немного в мат части, потом уже что то говори, это просто смешно сейчас
Sergey
“открыть папку” — запустить процесс/cli системного приложения с правильными аргументами и путем к директории
maxim
Sergey
Sergey
там дофига кода под капотом
Sergey
300строк специализации под системы
Григорий
Alexei
Думаешь или знаешь?
Григорий
самое удивительное что все оижили когда по сути нашел решение
Sergey
Oleg
Чет как-то у вас слишком уж токсично тут
Sergey
как видим там реализация на C++
Sergey
а для каждой системы своя реализация
Sergey
давайте и правда не токсичить
Lucas
спокойной ночи, ребята, я изучаю html, и я хотел бы знать, как я могу добавить или уменьшить эти два ввода времени с помощью html
Lucas
Григорий
у меня в проекте функции лежат в разных файлах, но их ответ нужно отправлять в renderer процесс, для этого необходимо использовать window.webContents.send главного окна
как мне получить этот объект окна, чтобы из любой точки приложения я мог отправить инфу в renderer?
ALΣX
Григорий
ALΣX
аналогичным образом обращается и к стору
Григорий
у меня тоже 1 окно главное
ALΣX
у меня тоже 1 окно главное
ну что-то типа есть в глобальном скоупе global.mainWindow
потом global.mainWindow - присваиваем экземпляр BrowserWindow
и обращаемся к нему в любом месте проекта
ALΣX
это как по аналогии с объектом window в браузере
Григорий