mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-04-19 12:57:17 +00:00
fix: missing app icon for AppImage on Linux (#2190)
Closes #131 Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
This commit is contained in:
parent
e03e5eb603
commit
e08439b6a4
@ -15,6 +15,7 @@ import {
|
||||
} from '../common/protocol/ide-updater';
|
||||
import { IsTempSketch } from '../node/is-temp-sketch';
|
||||
import { ElectronArduino } from './electron-arduino';
|
||||
import { FixAppImageIcon } from './fix-app-image-icon';
|
||||
import { IDEUpdaterImpl } from './ide-updater/ide-updater-impl';
|
||||
import { ElectronMainApplication } from './theia/electron-main-application';
|
||||
import { ElectronMainWindowServiceImpl } from './theia/electron-main-window-service';
|
||||
@ -58,4 +59,8 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
|
||||
// eclipse-theia/theia#12500
|
||||
bind(TheiaMainApiFixFalsyHandlerId).toSelf().inSingletonScope();
|
||||
rebind(TheiaMainApi).toService(TheiaMainApiFixFalsyHandlerId);
|
||||
|
||||
// https://github.com/arduino/arduino-ide/issues/131
|
||||
bind(FixAppImageIcon).toSelf().inSingletonScope();
|
||||
bind(ElectronMainApplicationContribution).toService(FixAppImageIcon);
|
||||
});
|
||||
|
@ -0,0 +1,31 @@
|
||||
import { environment } from '@theia/application-package/lib/environment';
|
||||
import { isOSX, isWindows } from '@theia/core/lib/common/os';
|
||||
import {
|
||||
ElectronMainApplication,
|
||||
ElectronMainApplicationContribution,
|
||||
} from '@theia/core/lib/electron-main/electron-main-application';
|
||||
import { injectable } from '@theia/core/shared/inversify';
|
||||
import { join } from 'node:path';
|
||||
|
||||
// Fixes no application icon for the AppImage on Linux (https://github.com/arduino/arduino-ide/issues/131)
|
||||
// The fix was based on https://github.com/eclipse-theia/theia-blueprint/pull/180.
|
||||
// Upstream: https://github.com/electron-userland/electron-builder/issues/4617
|
||||
@injectable()
|
||||
export class FixAppImageIcon implements ElectronMainApplicationContribution {
|
||||
onStart(application: ElectronMainApplication): void {
|
||||
if (isOSX || isWindows || environment.electron.isDevMode()) {
|
||||
return;
|
||||
}
|
||||
const windowOptions = application.config.electron.windowOptions;
|
||||
if (windowOptions && windowOptions.icon === undefined) {
|
||||
windowOptions.icon = join(
|
||||
__dirname,
|
||||
'..',
|
||||
'..',
|
||||
'resources',
|
||||
'icons',
|
||||
'512x512.png'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
@ -119,6 +119,7 @@
|
||||
"arduino-ide-electron-main.js",
|
||||
"src-gen",
|
||||
"lib",
|
||||
"resources/icons/512x512.png",
|
||||
"!**node_modules/**"
|
||||
],
|
||||
"extraResources": [
|
||||
|
Loading…
x
Reference in New Issue
Block a user